メモリDCをつかった、描画への高速化なんですが、メモリ上のビットマップに描画してから
ウインドウに転送しますけど・・
ウインドウ、ウインドウDC、ビットマップ、メモリDC、データ、描画
の単語を使って簡潔に説明すると、どんな感じが一番わかりやすいでしょうか?
>どんな感じが一番わかりやすいでしょうか?
作文の宿題かなんかでしょうか。
「私はこう解釈しているんですが、正しいですか?」くらいの訊き方をしてもらわないと
答えようがありません。「一番わかりやすい文章」なんて人によって感じ方が違うんです
から。
自分もなんとか説明できるくらいの文章にしたいのですが
うまく説明できないんですよ・・。
それで、みなさんならどんな説明になるのかを参考にしたいのです
データが反映される順序を知りたいです。
>作文の宿題かなんかでしょうか。
転送能力という題の話の最後の方で「ましゅ」さんの
>>メモリDCをつかった、描画への高速化なんですが
>>ウインドウ、ウインドウDC、ビットマップ、メモリDC、データ、描画
>>という単語を使うとどのような説明が一番適切でしょうか?
という書き込みがありましたから、その流れでのご質問でしょう
一応、オフスクリーンと呼ぶ技法の事を指して尋ねてらっしゃるのでしょう
具体的な手順(*)ではなく、オフスクリーンや裏画面と呼ぶ技法の Windows での実装方法
に付いて解説して差し上げれば質問への回答になるのではないでしょうか
(* 例えば、メモリーDCは誰が保持するのかとか、ビットマップは誰が保持して、DIB
が望ましいとか、DDBの方が良いとか、DIBSection のほうが便利だとかいったこと
等を含めた特定の実装に--具体的な手順を示すと--目を奪われてしまい兼ねないと危惧し
ます)
じゅん 様、
小生がここ数日に渡り皆様方からご教授いただいている内容がまさしくそのものだと思います。
「画面のチラツキを防ぐには」をご覧下さい。
だんだんと解決してきました。
メモリDCを使うと
読み込んだデータの流れはどうなってるのですか?
最初の段階でメモリ上のビットマップに描かれるのですか?
1画素ずつ、順番にデータが反映されるのでしょうか?
メモリDCの役割がいまいち、しっくりきません
どうか、教えていただけないでしょうか?
MFC ライブラリ リファレンス の CDC::CreateCompatibleDC の解説に、
解説
メモリ デバイス コンテキストは、ディスプレイ表面を表すメモリのブロックです。
メモリ デバイス コンテキストは、デバイスの実際のディスプレイ表面にコピーするためのイメ
ージを
メモリ内に準備するために使います。
メモリ デバイス コンテキストが作成されると、
GDI はそのメモリ デバイス コンテキストに対して
1 × 1 のモノクロのストック ビットマップを自動的に選択します。
ビットマップが作成され、コンテキストに対して選択されているときだけ、
メモリ デバイス コンテキストに、GDI 出力関数を使うことができます。
と言う事がかかれています。
また、
http://www.ne.jp/asahi/hishidama/home/tech/vcpp/dc.html
にも解説があります。
