CImageListMgr::MyDitherBlt で DIB を使う事で最適化 #997
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR の目的
アイコン描画処理の高速化(処理時間の短縮、消費電力の削減)
カテゴリ
PR の背景
元実装ではアイコン画像の行単位で GetDIBits と SetDIBits を呼び出していましたが、そのやり方では効率が悪い為、作業用のビットマップはDIBで作成するようにしました。DIBであれば直接ビットマップの読み書きがメモリ上で行えるので GetDIBits と SetDIBits を呼び出す必要がなくなりました。
PR のメリット
アイコン描画の処理に掛かる時間が短くなり、その分消費する電力も少なくなります。
確認できる違いは数%程度と僅かですが、塵も積もれば山となる、という言葉が有るので行う価値はあると思います。
PR のデメリット (トレードオフとかあれば)
特に無し
PR の影響範囲
CImageListMgr::MyDitherBlt
メソッドの実装関連チケット
#631