人気ブログランキング | 話題のタグを見る
あまり効果がない

ということで、そうしてみました。


一応合成自体は最大で 1 割ほど速くなった。。。みたいだけどぜんぜん体感できないや。


だめじゃん。


うちのマシンのように Blt 自体がそれほど速くないとなると、そもそもオフスクリーンバッファを使ってることがネックになってしまいますね。。。壁紙がなければオフスクリーンバッファなしで行くんですけども。


どうでもいいですけど、オフスクリーンバッファを使わずスクリーンだけで表示を完結させたい場合って、たいてい WM_ERASEBKGND が邪魔なので DefWindowProc を呼ばずにリターンさせるのですが、このメッセージの存在意義がよく分からないなあ。






ちなみに、背景色とのαブレンドをするように設定した場合は、合成領域の幅の最適化とかしようがないので、常にビュー全体を AlphaBlend() します。なので、遅いままです。


テーマ周りの小バグを直してて気付きましたが、壁紙を表示している状態というのはオフスクリーンは 8bpp なのです(壁紙なしなら 15bpp)。なので、設定した色をそのまま使うわけではなく、256 色の論理パレットから一番近そうな色を選んで、それに置き換えられます。


ある表示要素に対応するパレットインデックスは固定して、適宜パレットの中身を書き換えるようにすれば置き換えは発生しませんが。。。使用色が256を越えられないとかいう変な制限がつくことになってしまいます。字句解析器のスタイルをどうするのかとか、選択範囲を反転させたとき見難くなるかもとかということを考え始めると話が複雑になりすぎるので、これはまあ仕様ということで。。。


by knife37 | 2005-09-15 19:23 | ロジック修正  | Top  | 
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
検索
最新のコメント
Hi! Good stu..
by lacedkl at 10:19
i think abou..
by MaybridabanTy at 06:31
Thank you!
by Roy at 20:27
Thank you!
by Patrick at 20:26
Great work!
by Andy at 20:25
Thank you!
by Rex at 20:23
Great work!
by Maggie at 20:23
I love it: ..
by siljb at 15:51
Keep up t..
by reizomo at 15:40
http://0buyp..
by affomfobe at 02:56
最新のトラックバック
フォロー中のブログ
ファン
記事ランキング
ブログジャンル
画像一覧