現在、OpenGL ES を使用して iPhone アプリを開発しています。明るさとコントラストのあるミラーアプリです。しかし、私が今抱えている問題は、使用すると少し遅い (約 0.2 秒の遅延) ことです。ただし、フレームレートは約60秒です。私の質問は、OpenGL のどの部分の処理に時間がかかるかということです。
1 に答える
3
あなたが持っているのはラグです(遅さではありません)。また、OpenGL が原因ではありません (少なくとも完全ではありません)。レイテンシは、カメラと、カメラの画像を読み取ってデコードするプロセスで発生します。
ある程度の遅延は避けられません。
- カメラが画像をキャプチャし、画像をデジタル データにエンコードするには、ビデオ フレーム全体が必要です。
- フレームをディスプレイに描画するには、ディスプレイフレーム全体が必要です。
したがって、取得できる最短のラグは約 1 秒/30 + 1 秒/60 = 0.05 秒です。
これを超えるレイテンシは、処理のオーバーヘッドが原因で発生します。そしておそらく、あなたのものは画像のデコードと、そのプロセスでのバッファ割り当てに由来すると思います。ただし、確実に判断するには、ソースコードを確認する必要があります。
于 2012-02-07T10:55:35.450 に答える