상품 설명
VRChat のワールドに配置する、簡易的なプロファイラーです。
(上級者向け)
アクティブ状態で、画面の下部にプロファイラーをオーバーレイ表示します。
ワールドの特定の方向を向いたとき、Udon の処理が実行されるとき などのシチュエーションにおいて、CPU/GPU 負荷の状況を確認しやすくなります。
ワールドのパフォーマンス最適化にご活用ください。
注意
本プロファイラーは U# スクリプトとして制作されています。
エディター上に限らず、ワールドのビルド後も動作することができますが、
Udon の制約内で動作しているため、各種の情報には正確でない箇所(推測)が含まれることをご了承ください。
セットアップ
OverlayCamera_Depth99.prefab をワールドの原点近くかつ、ユーザーから見えない位置(例:地面の中)に配置してください。
ワールドの原点より離れていると、オーバーレイ表示が乱れる可能性があります。
オーバーレイ表示のオン/オフ機能は付属しておりません。
スイッチ等と組み合わせて、OverlayCamera_Depth99 の GameObject の有効、無効を切り替えることでご対応ください。
表示の説明
■オーバーレイ上部: ビジュアル表示
1フレームの処理の流れを視覚化します。
【一番上の横長線】
全体の処理時間です。
中央より左がGPUの待機(黄色)、中央より右がCPUの処理(白色)です。
CPU処理(白色)の途中には、GPUの待機をしていると推測される時間(黄土色)が含まれます。
GPU待機(黄色)は、デスクトップモードの場合に伸びやすくなります。
GPU待機(黄土色)は、VRモードやドライバーによるFPS制限が有効の場合に伸びやすくなります。
【縦線】
黒い縦線は10ms間隔の目盛りとなっています。
・緑色の縦線: 前フレームの終了時間
・赤色の縦線: 現在フレームの開始時間
赤色の縦線はTime.UnscaledTimeです。基本的に中央に位置しますが、垂直同期が有効の場合などには中央より左右(過去や未来)に移動します。
【下側の細い線】
各種処理です。
・ピンク: FixedUpdate()
・緑色: Update()
・黄色: LateUpdate()
・水色: PostLateUpdate()
・オレンジ: Camera.Render(レンダースレッドの処理時間)
オレンジの途中にある青色より左がRenderTextureへの描画時間、右が画面への描画時間です。
・青色: ReflectionProbe(リアルタイム設定)の更新や、エディター上で再生している場合はEditorLoop(エディターの処理)が含まれます。
■オーバーレイ下部: 数値表示
フレームレート等を表示します。
【現在のフレーム】
・Frame: Time.frameCount(起動してからのフレーム数)の下4桁。
【フレームレート】
・PFPS: 過去1秒間に表示されたフレームの数。
1秒に1回更新され、FPSより正確です。
(Pushed Frames Per Second の略)
・FPS: Unity上での一般的なフレームレート、Time.deltaTimeの逆数に相当。
(本プロファイラーではシェーダー上のunity_DeltaTime.wを表示しており、下限10~上限200FPSにクランプされています。)
【フレームタイム】
1フレームの処理にかかった時間をミリ秒で表示します。
CPU/GPUの負荷の傾向を確認できます。
・Total: 合計時間。
・CPU: CPUの処理推測時間。
・GPU: GPUの待機推測時間。
(GPU時間には、ゲーム内、ゲーム外のフレームレート制限やVBlankの待機時間が含まれます。)
動作環境
[v1.0.0]
動作確認済み VRChat バージョン:
・2023.4.2p2 Build 1390 (2023-12-06)
SDK:
・Unity 2022.3.6f1
・VRChat SDK - Base v3.5.0
・VRChat SDK - Worlds v3.5.0
Unity 2019.4.31f1 では動作しません。
(Time.realtimeSinceStartupAsDouble などの使用しているメソッドが存在しないため)
将来のアップデートでの動作を保証しません。
アップデート履歴
[2023-12-29: v1.0.0] リリース
ライセンス
本ソフトウェアは MIT ライセンスを用いてリリースされます。
https://github.com/ku6dra/udon-profiler/blob/master/LICENSE
リンク
모든 리뷰
더보기리뷰 등록
리뷰를 작성하려면 로그인이 필요합니다.
로그인하고 리뷰 쓰기