マリオカートDSのやり過ぎで右手が痛くなっている今日この頃、皆様はいかがお過ごしでしょうか。(なかなか上手くならないorz)
さてさて、質問掲示板にてEDGE2の動作が遅いという報告がありまして、今現在、
一部の環境において
「編集ウィンドウの画像を内部ビットマップから画面へ転送する処理」が遅い
という所まで判明しております。
(全ての環境で遅くなるわけではありません)
具体的には24bitのDIBから画面(32bit)へBitBltする処理が遅い、
という事になります。
念のためBitBltの速度計測ツールを作成して、試していただいたのですが、結果は次の通りでした。
スクリーン: 1280×1024, 32Bit
ディスプレイドライバ: RADEON 7500 SERIES
800 x 600 8bit -> 画面 BitBlt 平均速度: 1.620000ミリ秒
800 x 600 16bit -> 画面 BitBlt 平均速度: 52.070000ミリ秒
800 x 600 24bit -> 画面 BitBlt 平均速度: 51.990002ミリ秒
800 x 600 32bit -> 画面 BitBlt 平均速度: 5.130000ミリ秒
16bit/24bitがやけに遅いですね。
(ちなみに、私の家の環境では16bit/24bit/32bitはほとんど同じ数字が出ます)
計測してみたはいいものの、「では、どうして16bit/24bit→画面(32bit)へBitBltする処理だけ遅いのか」、という部分で行き詰まっております^^;
ビデオカードの仕様なのか、ビデオカードのドライバの問題なのか、 CPUの問題なのか、OSの問題なのか・・・。
BitBltが実際にどんな処理をしているのかすら、理解していないのでこの辺の事で詳しい方がいらしたらご教授をお願いいたしますm(_ _)m
また、Radeon7500を実際に使用されている方がいましたら、BitBltの速度計測ツールを試して頂けないでしょうか?
こちらに報告をお願いいたします。
(これで「ビデオカードの仕様では無い」という事を証明出来ればいいのですが^^;)
もちろん、メールで報告して頂いても構いません。
よろしくお願いいたします。