GAPIDを使用して、アプリケーションのGPU動作を診断および理解する

こんにちは、Habr! Andrey VoloshinによるGAPIDを使用したアプリのGPU動作の診断と理解の記事の翻訳を紹介します



3Dの設計は複雑です。 グラフィックスに独自のAPIを使用するか、お気に入りのゲームエンジンの助けを借りるかに関係なく、電話、デスクトップPC、またはVRヘッドセットで美しい三次元画像を作成するには、完全に組み合わせなければならないグラフィックスコマンドが数千あります。



GAPID(Graphics API Debugger)は、開発者がアプリケーションのレンダリングとパフォーマンスの問題を診断するのに役立つ新しいツールです。 GAPIDを使用すると、アプリケーションのトレースと各グラフィックコマンドの各ステップを追跡できます。 これにより、最終イメージの作成方法を視覚化し、問題のあるコールを特定できるため、試用版でのデバッグにかかる​​時間を短縮できます。



GAPIDは、AndroidではOpenGL ESを、Android、Windows、およびLinuxではVulkanをサポートしています。



画像

実行中のデバッグ、一度に1つの呼び出し



GAPIDを使用すると、レンダリングコマンドの問題を診断できるだけでなく、実験をすばやく実行し、これらの変更が提示されたフレームにどのように影響するかをすぐに確認するためのツールとしても機能します。



GAPIDを使用して、アプリケーションの問題を切り分けて修正できる例を次に示します。



GPUは何をしますか?



画像

テキストが表示されないのはなぜですか?!



グラフィックスAPIを使用すると、空白の画面、逆三角形、グリッドの欠落など、予期しない結果が得られた場合にイライラすることがあります。 GAPIDを使用すると、スタンドアロンデバッガーとしてこれらのアプリケーションを追跡し、呼び出しをテストできます。 フレームバッファを確認し、その時点でステータスを確認して問題の診断に役立てることで、どのチームが間違った結果を生成したかを特定できます。



Xを実行するとどうなりますか?



画像

GAPIDを使用してシェーダーコードを編集する



プログラムが期待どおりに動作する場合でも、実験することがあります。 GAPIDを使用すると、API呼び出しとシェーダーをオプションで変更できるため、次のようなテストを実行できます。





GAPIDを使用すると、アプリケーションを再コンパイルしたり資産を復元したりすることなく、アプリケーションの外観を反復処理できるようになりました。



Vulkanで素晴らしい新しいボードゲームを作成する場合でも、Androidで驚くほど印象的なVRエクスペリエンスを作成する場合でも、GAPIDが時間を節約し、GPUを最大限に活用することを願っています。 GAPIDの使用を開始し、その効果を確認するには、 ダウンロードしてお気に入りのアプリを入手し、トレース記録してください!



投稿者:Andrey Voloshin、ソフトウェアエンジニア

オリジナルへのリンク



All Articles