C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 45 を表示中)
■24002 / )  Re[4]: 画像合成が実行できなくて困っています。
□投稿者/ PATIO (102回)-(2008/08/26(Tue) 14:58:02)
2008/08/26(Tue) 14:58:34 編集(投稿者)

No24000 (鶏唐揚 さん) に返信
> となれば、消える→書く→消える→書く の連続となるため、ちらつきます。
> 回避するには「ダブルバッファリング」で調べてみてください。

ちょっと補足。
通常の画面描画に関して言うなら、
更新すべき範囲を一度背景色で塗潰し(ここが消えるの部分)、
その後、指定された手順で更新領域を書き直す。(ここが書くの部分)
これの繰り返しになります。
直接変化が無い部分でも更新する範囲は、
一旦、背景色で塗潰されてしまうので消えて、
出てくる事になります。(=チラつく。)
何もかもを背景色で塗潰すという処理をやめて、
必要な部分を必要な色で毎回書くだけにすると
見た目のチラつきは緩和されますが、
塗潰す形状が複雑になると塗潰しに時間が掛かるので
これはこれで問題です。
あと、描画遅い為に書いている途中経過が見えているのも
チラつきの原因になります。

既にあげられているダブルバッファリングは、
直接画面に書くのではなくてメモリ上で全体の画像を作成して
出来た画像を画面に貼るというイメージなので、
書き換える途中経過が見えなくなり、チラつきが抑えられます。
また、メモリ上で画像を作成するので直接画面に描画するよりも
高速に描画をする事が出来ます。
高速描画の常套手段になりますので良く理解しておくと良いと思います。

返信 編集キー/


管理者用

- Child Tree -