xtne6f / EDCB

BonDriver based multifunctional EPG software
Other
162 stars 37 forks source link

EPGの取得時に軽くなる、表示が適切になる。 #51

Closed nuanuaSHiThunderYO2 closed 2 years ago

nuanuaSHiThunderYO2 commented 2 years ago

EPGの取得時に 1秒毎のWM_TIMERのなかでthis->epgCapWorkingのなかの ReloadServiceList()が頻繁に実行されると メッセージが飛び交ってシステム全体を重くする場合があり それを改善する。 またダイアログとトレイアイコンの表示が適切なサービス名に更新されていく (ChgIconStatus()などをした)。

xtne6f commented 2 years ago

ありがとうございます。 こちらではそのような現象がなかっため、試みにサービス数を1000個ぐらいにして負荷テストしてみたところ1秒ごとに「カクッ」とひっかかるような動作になりました。 ご指摘のとおり、サービス一覧あたりの負荷が大きいようです。

必要ないときにもReloadServiceList()が毎回表示を更新するのは問題に思うので、ReloadServiceList()を呼ぶほかのケースでもモッサリしないように 29ba0c430f083542fef7c811ba857b448b8a076f の方向で改善しようと思います。

nuanuaSHiThunderYO2 commented 2 years ago

ReloadServiceList()の中をいじる自信はなかったので、 表層の修正だけ留めておきました。 より深いところまで修正していただきまして ありがとうございます。

xtne6f commented 2 years ago

こちらこそありがとうございました。指摘がなければずっと気づかなかったと思います。

プルリクエストのうち 「EPG取得中」の次の行にサービス名を追記する部分 は保留します。ただ、エディットボックスに表示することでサービス名のコピー&ペーストができてこれも良い案に感じるので、後々に使わせてもらうかもしれません。