OpenNIを使用した奥行き処理(Xbox Kinect、Asus Xtionなど)アプリケーションを開発しています。C#高速ピクセルレンダリング
センサーから新しい奥行きデータが入手できる場合(解像度に応じて30または60 fps)、Windowsフォームで実際に簡単に描画する方法が必要です。
現在、私は、データが利用可能になったときに別のスレッドからダブルバッファーパネルを無効にしてから、パネルのペイント方法でビットマップのピクセルを設定して、恐ろしい5fpsを予測します。
System.Drawing.Graphicsは、誰かが他に指示することができない限り、個々のピクセルを設定するための迅速な方法が不足しているようです。
文字通り、ピクセルの色を設定するだけで済みますので、できるだけサードパーティの高速レンダリングAPIを使用しないようにして、可能な限りネイティブのものを使用するのが理想的です。
誰にも提案はありますか?
どのようにピクセルを現在設定していますか? – leppie
image.SetPixel(x、y、color)を使用してビットマップを作成しました。結局、graphics.drawImage(画像など) –
を呼び出すことは 'SetPixel'は非常に遅いです。 'Scanline'アプローチを見てください。 – leppie