毎秒300枚のライン画像を生成するラインスキャンカメラがあります。画像ビューにFIFOの方法で線を表示して、ビューの最後の線が最新の線画像を表示し、前の線を上にシフトして線を更新できるようにします。
昔のようにCでビデオメモリにアクセスできれば、
memcpy(videoMem, videoMem+lineWidth*pixelSize, pixelSize*lineWidth*(nLines-1));
memcpy(videoMem+pixelSize*lineWidth*(nLines-1),newLine,lineWidth*pixelSize);
しかし、これがビデオメモリに直接アクセスしてもできる最善の方法かどうかはわかりません。
今では、ビデオメモリに直接アクセスすることは不可能であり、望ましくないことを理解しています。その場合、最善の方法は何ですか?専門家の意見をいただければ幸いです。
Windows7のデスクトップPCアプリケーションです。
アップデート
さすがに、一種の循環バッファを扱わなければならないようです。私の場合のトリッキーな部分は、バッファの書き込みが行ごとであり、読み取りが画面ごとであるということです。したがって、end
ポインタがバッファの物理的な終わりに到達すると、画面メモリをビデオに渡すために追加のメモリコピーが必要になります。Bipバッファがこれに対する解決策になると思います。他のアイデアはありますか?