C#GDI +を使用してカスタムコントロールを作成しています。GDI +オフスクリーンバッファスクロール
簡単な説明...コントロールは500ピクセルの画面上に表示されますが、おそらく500000ピクセルの情報が含まれます。だから私は明らかに一度に500pxしか表示していませんが、明らかに水平面内をスクロールする必要があります(左&)。トリッキーな部分は、ビットマップの各500pxチャンクが(100ms〜1000msの間)レンダリングに時間がかかります。
私の計画は、1500pxのビットマップをメモリに保持することです。 500pxの可視部分と500pxの可視領域の両側に配置し、ユーザーがスクロールすると非同期にオフスクリーン部分を描画します。
私はこれを達成するのに役立ついくつかのフィードバック、アドバイス、批評、または例をご希望します。かなり前進しているように見えますが、最初のテストを数回試してみると、想像以上に難しいことが分かります。
ありがとうございました。
しますか?ちらつき?すでにバッファにレンダリングしていて、ペイントイベントでバッファからコントロールにコピーしていますか? – overslacked
はい私は現在、1500pxビットマップを構築してこれをスクロールすることができます。私が抱えている問題は、ユーザーがバッファリングされた領域の端に向かってスクロールしたときに、ビットマップを更新するための最良の方法に実際にはまっています。 – pmcilreavy
私は、必要に応じてスクロールして更新する3つの500pxビットマップを用意して配列することを考えていました。 – pmcilreavy