2016-04-14 5 views
0

GPUImageを使用してブロードキャストアプリケーションを実装しているうちに、パフォーマンス上の問題が発生します。画像が示すように効果を実現するためにカメラビューの上にCAEmitterLayerを追加しようとしたとき、カメラはフレームを落とし始めました。我々のアプリは何GPUImageVideoCameraにCAEmitterLayerを追加するときのドロップフレームの解決方法

enter image description here

は、局所的に同時に放送し、記録することです。どのようにしてその理由を見つけることができますか、このパフォーマンスの問題を解決するための解決策もありますか?

答えて

0

まず、計測器のタイムプロファイラを使用して、パフォーマンスの問題の原因を特定できます。解決策のその時点から、問題の原因が何であるかによって、実際にはあまり話すことができないことがわかりません。

+0

私は機器でそれを行いましたが、結果からそれほど分かりません。 CPUはかなり不均一です。ボトルネックを見つけるためにどこに焦点を当てるべきかについての提案はありますか(私は、グラフィックスパフォーマンスの計測器の使い方を調べ、コアアニメーション、OpenGL ESアクティビティを使用するように指示された公式ドキュメントしか入手していませんでした。非常に詳細)、ありがとう! –

+0

***タイムプロファイラ***を使用して、どのメソッドが長時間かかるかを確認します。そしてあなたの問題があるはずです。 – Jelly

+0

エミッタレイヤーとフレームを落としたとき、エミッタレイヤーがなくてもほとんどの時間を要する機能が同じように見える場合は、Time Profilerを使用してアプリケーションを実行しました。[GPUImageVideoCamera processVideoSampleBuffer:sampleBuffer]と[GPUImageVideoCamera updateTargetsForVideoCameraUsingCacheTextureAtWidth:rotatedImageBufferWidth height:rotatedImageBufferHeight time:currentTime]です。それでも真の問題が何であるかは分かりません。 –

関連する問題