PictureBox の BMP を毎秒 60 回、更新ごとに変化する線のパターンで更新しようとしています。何が起こっているかというと、画面の更新の間に画像が部分的に更新されています。したがって、あなたが見ているものは、あるパターンの一部であり、次のパターンの一部です. 画面を更新するたびに、正確に 1 回更新する必要があります。理想的には、私の目標はバック バッファーを更新し、それをフロント バッファーにコピーすることです。ゲームで vsync を使用して、画面が更新された直後にのみ画面が更新されるようにフロント バッファーをロックできると聞いたことがあります。このロックを利用できれば、更新ごとに 1 回正確に更新できるようになります。しかし、私はまだそれを行う方法を理解できていません。
何か案は?
Windows フォームで DoubleBuffering = true プロパティを使用してみました。ただし、PictureBox では機能しない場合があります。CopyMemory (ネイティブ dll 呼び出し) を使用して、新しいパターンを PictureBox 内のビットマップにコピーしました。
また、最後の段落で同じ手法で WriteableBitmap を使用しようとしましたが、スタック交換で他の人が提案した方法で行ったにもかかわらず、何らかの理由でバック バッファーがフロント バッファーにコピーされません。これを数時間ほど試しました。その手法では、画面上で画像が更新されることはありませんでした。