私はカメラアプリを作っています。このアプリはユーザーにいくつかのフィルタを提供します。現在のところ、私のコードはNDK上にあり、うまく動作しますが、少し速くしたいのです。それはGPUのようで、OpenGL Es 2.0は道のりです。 GPUの私の唯一の懸念は、メモリの制限だということです。現代のカメラは5〜10枚の画像を撮るので、GPUのメモリ制限はそれよりはるかに小さいです。私はその限界を回避する方法があるのだろうかと思っていた。私には唯一の論理的な選択肢は、画像をより細かく分割してからGPUで処理し、最後に最終画像にアサンプルすることです。私の質問は、もしこのアプローチがまだパフォーマンスには良いのであれば、モバイルGPU上で高解像度の画像を画像処理するための他の選択肢もあります。GPUでの高解像度画像処理のためのGPUのメモリ制限を処理する方法は?
編集:画像処理にGPUを使用して、結果を画面に表示しないことを明確にする必要があります。別のテクスチャにレンダリングしてディスクに保存します。
本当にあなたがしようとしていることに依存します。 GPUが提供するメリットは、それらが高度に並列であることですが、単純にコアを追加するだけで、すべての問題を容易にすることはできません。 – thecoshman
私は一般的な問題を解決したいと思っていましたが、現在はCPU上で実行されると非常にコストがかかる「laplacian pyramid」をコード化しようとしています。 – dirhem
まあ、イメージに色合いをつけるなど、すべてのビットに同じ操作を適用したい場合は、GPUにロードすることが明らかです。画像のぼかしなどのタスクは、各ピクセルの新しい値がピクセルの範囲に依存するため、少しトリッキーです。あなたのケースでは、ハードウェア間の多くの違い、例えばサポートするラムの量、テクスチャの大きさ、データの量などを考慮する必要があります。彼らはOpenCLスタイルの処理を行うことさえできないかもしれません。 – thecoshman