12

私はカメラアプリを作っています。このアプリはユーザーにいくつかのフィルターを提供します。現在、私のコードはNDK上にあり、問題なく動作しますが、もう少し速くしたいと思います。GPUとopenglEs2.0が最適な方法のようです。GPUに関する私の唯一の懸念は、GPUのメモリ制限です。最新のカメラは5〜10 mpの画像を撮影しますが、GPUメモリの制限はそれよりはるかに少ないためです。その制限を回避する方法があるかどうか疑問に思いました。唯一の論理的なオプションは、画像をより小さな部分に分割し、GPUで処理して、最終的に最終的な画像にアサンブルすることです。私の質問は、このアプローチがパフォーマンスに優れているかどうか、またモバイルGPUで高解像度画像を画像処理する他のオプションがあるかどうかです。

編集:画像処理にGPUを使用したいので、結果を画面にレンダリングしないことを目標にしていることを明確にする必要があります。別のテクスチャにレンダリングしてディスクに保存します。

4

2 に答える 2

2

あなたのタイリングのアイデアは、1.79MHzのリコー2A03を搭載したファミコン以来使用されているので、良いアプローチです。Googleはタイリングを使用して地図の表示を管理しており、Crysisのようなゲームでさえ、ほとんどのテクスチャのテクスチャサイズを1024x1024(1メガピクセル)のようなものに制限する傾向があります。そうです、10メガピクセルには30メガピクセルのRAMが必要です。そのため、一部のデバイスでは問題が発生する可能性があります。特に、ソースと宛先テクスチャを使用する場合は、60メガピクセルのRAMが必要になるためです。

テクスチャサイズは2の累乗(2、4、8、16、32、64など)を使用する傾向があることに注意してください。少なくともそれを切り刻んで画像を並べて表示すると、品質が向上する場合があります。

于 2012-10-16T12:44:49.107 に答える