第10会場
8月22日(木)
16:20 〜 17:20
レギュラーセッション(60分)
その「GPU時間」の値, 無意味かも : モバイル端末におけるGPU時間の計測について
- セッション分野
- ENG (エンジニアリング)
- セッション関連分野
- キーワード
- レンダリング
- セッション難易度
- 対象プラットフォーム
- モバイル
- 受講スキル
- ・Android で RenderDoc やゲームエンジンの機能を使ってGPU負荷の計測を試みたことがある方
・グラフィクスAPIでのGPU時間の計測に興味のある方
・特にモバイル端末上での, ランタイムでのGPU時間の計測/表示に興味のある方 - 得られる知見
- ・RenderDoc でのGPU時間("Duration")が Android では無意味なこと, またその理由
・モバイル端末のGPUに特徴的な TB(D)R なGPUの動作の特徴
・グラフィクスAPIでのGPU時間の計測を, TB(D)R で正しく行い, 無意味な計測を避ける方法
・Unity / Unreal Engine 製 Android アプリでのGPU時間の表示について, その方法や, 無意味な計測値など注意点 - 写真撮影 / SNS投稿
- 通訳の種類
- なし
セッション内容
Android でのGPU負荷のプロファイリング手段として RenderDoc が紹介されることがあります.
ですが実は, RenderDoc の ⏰ ボタン で得られるGPU時間("Duration")の値は,
Android の端末では何ら有用な値にはなりません.
また Unity / Unreal Engine 製のアプリにおけるランタイムでのGPU時間の表示についても,
標準のままでは行えなかったり, 同様に実は無意味であるような値も表示されたりします.
これはモバイル端末のGPUで主流の Tile-Based (Deferred) Renderer なアーキテクチャにおいて,
グラフィクスAPIのGPUタイムスタンプ機能がかなり特殊な挙動をすることが関係しています.
今回は, グラフィクスAPIを使ったGPU時間の計測とリアルタイムでの表示や,
TB(D)R において, 無意味な値を得てしまうのを避け, これを正しく行うために必要な知見を共有します.
Unity / Unreal Engine 製の Android アプリでのGPU時間の計測に関しても,
無意味な値を参考にしてしまうことを避けるために, 重要な知識になります.