DirectX 9 をラップし、2D ピクセル レベルの描画を実行するための簡素化されたインターフェイスを提供する C# コントロールを作成しています。.NET では、このコードを unsafe コード ブロックでラップし、allow unsafe code オプションを指定してコンパイルする必要があります。
サーフェス全体をロックすると、メモリのロックされた領域へのポインターが返されます。次に、「単純な」ポインター演算を使用して、ピクセル データを直接書き込むことができます。これをパフォーマンステストしたところ、私が知っている他の「安全な」方法よりも大幅に速度が向上していることがわかりました。
これは、C# .NET アプリケーションで個々のピクセルを操作する最速の方法ですか? より良い、より安全な方法はありますか? ポインター操作を必要としない同等に高速なアプローチがあれば、それを使用することをお勧めします。
(これが 2008 年であることはわかっており、DirectX 3D、OpenGLなどを使用する必要がありますが、このコントロールは 2D ピクセル レンダリング専用であり、3D レンダリングは必要ありません。)