4

GPUImage を使用して受信ビデオを処理しています。各フレームで、ゲームでのヒット検出のために、受信画像の多くの長方形の部分領域の平均輝度を決定したいと考えていますが、そうでない方法で行うのに問題があります。 FPSを殺す。

私の現在の状況は、対象のヒット ボックスをループし、ヒット ボックスのフレームを GPUImageCropFilter でトリミングし、トリミングされた領域で平均輝度を実行し、輝度が十分に高い場合は、完了ブロックでメイン スレッドのヒット メソッドを呼び出すことです。ヒット ボックスが数個しかない場合はこれで問題ありませんが、私が取り組んでいるプロジェクトでは、一度に数十個になり、FPS が停止する可能性があります。

パフォーマンスを向上させるために上記のアプローチを変更するための推奨される方法はありますか? 一種のローカライズされたピクセル化効果を行うカスタム シェーダーを使用して新しいフィルターを作成することで、これを達成できる可能性があると考えています (関心のある四角形をピクセル化するため、その領域内の任意のピクセルの明るさを確認できます)。しかし、このような関心のある領域の配列をフィルター/シェーダーに渡すことができるかどうかはわかりません。ありがとう。

4

0 に答える 0