プロファイル ビューポート 2.0 レンダリング イベント
ビューポート 2.0 (Viewport 2.0)内での実行に関するプロファイラ(Profiler)内のイベントを検索するには、プリフィックス「Vp2」を検索します。 プリフィックス Vp2 に加え、イベント ラベルの残りが、計測されるイベントに関する追加のコンテキストを提供します。
重要なイベントのリストは、プロファイラ(Profiler)カテゴリに対して、いくつかの論理的なグループに分けることができます。 シーンの処理では、レンダリングの準備に更新フェーズが、実際のレンダリングにレンダリング フェーズが必要です。また、更新またはレンダリング フェーズ中に発生するリソース管理イベントがある場合があります。
レンダー ターゲット(シーンがレンダリングされる場所)の管理に関するイベントを以下に示します。
これには、API (MRenderTarget)によって割り当てられたカスタムのオフスクリーン ターゲットの管理に関するイベントも含まれていることに注意してください。オンスクリーン ターゲットは MRenderTargets ではありません。
- Vp2AcquireOffScreenTarget: レンダリング先のオフスクリーン バッファを取得
- Vp2AcquireOnScreenTarget: オンスクリーン バッファを取得
- Vp2CloneOffScreenTarget: オフスクリーン バッファのコピーを作成
- Vp2ReleaseTarget: バッファ プールにオフスクリーン バッファをリリース
- Vp2ResizeTarget: ターゲットをサイズを変更。再割り当てを伴う場合がある
- Vp2MapToSystemMemory: ハードウェア ターゲットをシステム(CPU)ラスターにマップ
- Vp2CacheSystemRaster: ターゲットの内容をシステム ラスターにコピー
- Vp2SaveCacheToDisk: システム ラスターをディスク ファイルに保存
- Vp2CopyRaster: システム ラスターのコピーを作成
- Vp2BlitTargetToImage: ターゲットをシステム イメージに転送
- Vp2BlitTargetToGL: ターゲットを OpenGL コンテキストに転送
- Vp2ReleaseTargetToCache: バッファのキャッシュからターゲットをリリース
- Vp2BlitDepthTargetToBuffer: 深度ターゲットをシステム イメージに転送
テクスチャの管理に関するイベントを以下に示します。これには、API (MTextureManager/MTexture)によって取得されたテクスチャに関するイベントも含まれていることに注意してください。
- Vp2AcquireFileTexture: ディスク上のファイルからテクスチャを取得
- Vp2AcquireDataTexture: CPU データからテクスチャを取得
- Vp2SaveTexture: ディスクにテクスチャを保存
- Vp2RawTextureData: GPU テクスチャ データを CPU データにコピー
- Vp2UpdateTexture: GPU テクスチャを同じ位置で更新
以下は、主な更新イベントのブレイクダウンです。これらは機能領域および/またはスコープごとに一覧表示されています。
- シーン レベル: Vp2UpdateScene がメインのシーン レベルの更新イベント
- エバリュエータ レベル:
- Vp2UpdateGeometry: ジオメトリ シェイプの DG 評価
- Vp2UpdateDagObject: DAG オブジェクトの DG 評価
- Vp2TranslateGeometry: DG ジオメトリ データをレンダリング可能な形式に変換し、欠落しているジオメトリ ストリーム(サーフェス法線の生成など)を追加します。
- Vp2UpdateGeometryBuffer: ジオメトリ バッファの更新
- シェーダ レベル:
- Vp2ShaderDoDG: シェーダの DG 評価
- Vp2ShaderItemCompileShader: シェーダのコンパイル
- Vp2ConstructFragmentGraph: フラグメント グラフからのシェーダ コンストラクション
- Vp2ShaderWrite: シェーダ パラメータの更新
- Vp2AssignShaderInstance: レンダー項目にシェーダ インスタンスを割り当て
上記のイベントは通常、描画可能 UI またはレンダー項目が処理される前に発生します。描画可能 UI リストとレンダー リストに関連付けられたメインのプロファイラ(Profiler)イベントは次のとおりです。
- Vp2UpdateUI: 描画可能 UI を作成します。これは更新ごとに行われます。
- Vp2BuildRenderLists: レンダリングする前の、レンダー項目の最終分類とフィルタリングです。入力として描画可能 UI とノード評価によって作成されたレンダー項目をとります。ogs コマンドでトレーシングを有効にした場合は、リストの数を確認するためのトレース ラベルは、レンダー リストの作成 と呼ばれます。
- Vp2ClearRenderLists: 作成されたレンダー リストは、必要に応じて、このイベント中にフラッシュされます。
シーン レンダーを表すイベントには、Vp2SceneRender というラベルが付けられます。
イベント リストは、「高」レベルと「低」レベルの 2 つに分割できます。「高」レベルは、「低」レベル パスの機能グループであり、描画可能 UI またはレンダー項目のレンダリングでもあります。
このイベントの分類は、レンダリングの出力先と、使用されるレンダリング パイプライン ロジックに基づいています。
- Vp2DrawOverlay: オーバーレイ描画を表すイベント(2D マーキー描画ツールなど)
- Vp2DrawUVEditor: UV エディタ(UV Editor)への描画を表すイベント
- Vp2BuildShadowMap: シャドウ マップの更新を表すイベント
- Vp2Draw3dBeautyPass: 色/「ビューティ」パスのレンダリングを表すイベント
- オーバーレイの一部として、UV エディタ(UV Editor)、またはビューティ パスの前後に発生する任意の描画可能 UI レンダリングには、次の形式のイベント ラベルがあります。
- Vp2: は下の「低レベルのイベント」セクションで指定された名前です。
プラグイン レンダラ(MPxRenderer)を使用している場合、イメージをレンダーするためのビューポート 2.0 の処理は、Vp2DrawPluginRenderer イベントで表されます。
レンダー オーバーライド(MRenderOverride)を使用している場合、イメージをレンダーするためのビューポート 2.0 の処理は、Vp2OverrideRenderer イベントで表されます。イベントは、次のサブイベントに分類されます。
- Vp2ExecuteRenderOverride: レンダー オーバーライドを実行します。プラグイン セットアップを除外します。
- Vp2UpdateOverrideOperation: 操作ごとに必要なすべてのパラメータを更新します。操作イベントのラベルは次のとおりです。
- Vp2ClearOperation: バックグラウンドをクリア
- Vp2SceneOperation: 3D シーン レンダー
- Vp2QuadOperation: 2D クアッド レンダー
- Vp2UserOperation: ユーザ操作
- Vp2HUDOperation: HUD 操作
- Vp2PresentationOperation: プレゼンテーションの操作
- ラベル Vp2DrawOperation は、イベントが上記の操作のレンダリング部分を計測していることを示します。このラベルは、Vp2Draw3dBeautyPass などの内部レンダリング イベント ラベルの代わりに使用されます。