Closed nuanuaSHiThunderYO2 closed 2 years ago
ありがとうございます。 こちらではそのような現象がなかっため、試みにサービス数を1000個ぐらいにして負荷テストしてみたところ1秒ごとに「カクッ」とひっかかるような動作になりました。 ご指摘のとおり、サービス一覧あたりの負荷が大きいようです。
必要ないときにもReloadServiceList()が毎回表示を更新するのは問題に思うので、ReloadServiceList()を呼ぶほかのケースでもモッサリしないように 29ba0c430f083542fef7c811ba857b448b8a076f の方向で改善しようと思います。
ReloadServiceList()の中をいじる自信はなかったので、 表層の修正だけ留めておきました。 より深いところまで修正していただきまして ありがとうございます。
こちらこそありがとうございました。指摘がなければずっと気づかなかったと思います。
プルリクエストのうち 「EPG取得中」の次の行にサービス名を追記する部分 は保留します。ただ、エディットボックスに表示することでサービス名のコピー&ペーストができてこれも良い案に感じるので、後々に使わせてもらうかもしれません。
EPGの取得時に 1秒毎のWM_TIMERのなかでthis->epgCapWorkingのなかの ReloadServiceList()が頻繁に実行されると メッセージが飛び交ってシステム全体を重くする場合があり それを改善する。 またダイアログとトレイアイコンの表示が適切なサービス名に更新されていく (ChgIconStatus()などをした)。