FPSでの問題のトラブルシューティングを試みています。メタルフラッシュはレンダリング時間の大部分を占めることがわかります。それはいいことですか?SceneKitの統計情報表示で「Metal Flush」とは何ですか?
6
A
答えて
5
Appleは「金属フラッシュ」はどこにでもある、まさに文書化されているようには見えませんが、私はOpenGLと以前の経験に基づいてお答えしますので、私は、このことについてわからない午前:
GPU搭載アプリケーションの実行サイクル中、CPUはデータをGPUにプッシュし、GPUがこのデータで動作を完了するのを待って(その間に他の作業を行う可能性がある)、GPUが完了するとすぐにより多くのデータをプッシュし、より多くの操作を要求します。通常、「フラッシング」とは、CPUがGPUを待って操作を終了する(古いデータをフラッシュする)ことで、GPUにさらにデータをプッシュできるようにすることです。
私の解釈が正しいとすれば、それはCPUがビデオメモリを待つのに費やす時間を測定し、より多くのデータをプッシュしてGPUに要求することができることを意味します。その場合、それは良いことでも悪いことでもよいでしょう:
CPUとGPUの間には常に通信オーバーヘッドが存在するため、レンダリング時間のほとんどが「Metal Flush」によって占有されている場合は、アプリケーション間の遅延のほとんどが通信オーバーヘッドにすぎないほど速く実行されていることを意味する可能性があります。その場合、それは良いことになるでしょう。
一方、多くのデータをGPUにプッシュすると、データをコピーして処理が遅れている可能性があります。その場合、それは悪いことです。
ここで重要なことは、FPSが確実に高くなるようにすることです。あなたのFPSが "Metal Flush"のために落ちている場合は、テクスチャをチャンクに保存したり、低解像度のテクスチャを使用するなど、データ転送のスペースを取ってみてください。
関連する問題
- 1. iOS SceneKitの統計情報の説明
- 2. SceneKit(SCNView)で統計情報を表示する(Swift 4/iOS 11ベータ版)
- 3. ASP.NET - サーバーの統計情報を表示する方法/情報?
- 4. 統計情報のpythonで?
- 5. iOS5、iOS4、...の統計情報ですか?
- 6. Google Analytics APIでウェブサイトの統計情報を表示
- 7. Codeigniterはユーザーの統計情報を表示します
- 8. パッケージ統計情報
- 9. 統計情報を集計する統計情報を計算する
- 10. Git - 投稿者の統計情報を表示する
- 11. Grafanaテーブルの単一の統計情報を表示
- 12. iphoneアプリのテーブルに野球の統計情報を表示
- 13. FlaskのウェブサイトにGitHubの統計情報を表示
- 14. APIの統計情報
- 15. Facebookの統計情報
- 16. Firebaseデータベースの統計情報(
- 17. モバイルアプリの統計情報API
- 18. Node.jsを使用してユーザの統計情報を表示
- 19. NHibernateの統計情報クエリが表示されない
- 20. Subversionサーバの統計情報
- 21. 統計情報が表示されない
- 22. Facebookの広告グループのキーワードの統計情報は何ですか?
- 23. Z3統計情報:時間は何を測定するのですか?
- 24. PHP MongoDB統計情報
- 25. Python:複数の統計ファイルの統計情報のまとめ
- 26. PHPを使用して画像に統計情報を表示
- 27. http URLをポーリングして統計情報を表示
- 28. grailsコントローラ統合テストでのモデルとアクセス情報の表示
- 29. SQLテーブルの統計情報、どの統計情報を更新するかを決定する方法は?
- 30. FacebookグラフAPIからオブジェクトの統計情報をすべて表示できないのはなぜですか
あなたはそれを把握しましたか? – ColdSteel
並べ替え...私は、テクスチャのサイズと解像度を減らすことで、その部門の劇的な改善を得ました。だから私は、 "メタルフラッシュ"はメインメモリからビデオメモリなどへの画像データの転送であると結論づけることができます。 –
でも、何もない黒い場面でも5〜6msかかります。 – ColdSteel