1

GPU (OpengGL ES 2.0) でカメラ プレビュー ストリームのライブ フィルタリングを行うアプリを開発しています。有名なアプリ「ペーパーカメラ」(有料)や「漫画カメラ」(無料)に似ています。

私のgalaxy s2では問題なく動作し、非常に高速で、s3ではさらに高速で、古いSamsungデバイスでも問題ありません. また、Sony Xperia Arc Sとhtcの欲求、および覚えていない他のいくつかのデバイスでもテストしました.s2ほど高速ではありませんが、少なくとも10 fps以上です.

ここに問題があります: 昨日、HTC One X+ と Galaxy Tab 10.1 (それぞれ tegra 3 と tegra 2) でテストすることができました。x+ では約 5 fps で実行され、タブレットでは約 2 fps で実行されます。

また、前述の同様のアプリ (ペーパー カメラと漫画カメラ) を 1 つの x+ で試してみましたが、ハードウェアが優れているため、より高速に実行する必要がありますが、galaxy s2 と比較してかなり低速で実行されます。

テクスチャのアップロード速度 (すべてのビデオ フレームに対してテクスチャを作成する必要があります) に関する tegra GPU の既知の問題、または速度を大幅に低下させる可能性のあるその他の問題はありますか?

PS: カメラ プレビューの解像度を下げると、少し速くなりますが、それでも厄介なほど遅くなります。

4

1 に答える 1

1

おそらく問題はフラグメント シェーダー自体にあります。私はさまざまな GPU のシェーダーでかなり多くの作業を行ってきましたが、高速な GPU がシェーダーの高速な解釈を意味するわけではないことが常にわかっています。フラグメント シェーダー ('if' 条件) で多くの分岐を使用していますか、またはシェーダー内の他の関数への呼び出しを使用していますか? その場合は、分岐を避け、コードの関数を 1 つにインライン化し、現在の gpu ドライバーの実装でバグがある可能性のある GLSL 組み込み関数をテストしてから、独自の置換を作成する必要があります。

于 2012-12-12T13:33:59.060 に答える