Profile Viewport 2.0 rendering events

To locate events in the Profiler that are related to execution within Viewport 2.0, search for the prefix “Vp2”. In addition to the prefix Vp2, the rest of the event label provides additional context as to the event that is being measured.

The list of important events can be broken down into a few logical groups as opposed to Profiler categories. For scene processing, the update phase is required to prepare for rendering, and the rendering phase for the actual rendering. There may also be resource management events that occur during the update or rendering phases.

Resource events

Events related to managing render targets (where the scene is rendered to) are listed below.

Note that this includes events related to managing custom off-screen targets allocated via the API (MRenderTarget). On-screen targets are not MRenderTargets.

Events related to managing textures are listed below. Note that this includes events related to textures acquired via the API (MTextureManager/MTexture).

Update phase

The following is a breakdown of some of the main update events. They are listed by functional area and/or scope.

The above events generally occur before UI drawables or render items are processed. The main Profiler events associated with UI drawables lists and render lists are:

Rendering

The event that represents a scene render is labelled: Vp2SceneRender.

The event lists can be divided into two: “high” level and “low” level. The “high” level is the functional groupings of the “low” level passes, as well as rendering of lists of UI drawables or render items.

High level events

This categorization of events is based on the output destination for rendering, as well as the rendering pipeline logic used.

Internal rendering events

  • Vp2DrawOverlay: Event that represents overlay drawing (for example, a 2d marquee drawing tool)
  • Vp2DrawUVEditor: Event that represents drawing into the UV Editor
  • Vp2BuildShadowMap: Event that represents shadow map update
  • Vp2Draw3dBeautyPass: Event that represents the rendering of a color / “beauty” pass
  • Any UI drawable rendering that occurs as part of overlay, UV Editor or before/after a beauty pass has event labels of the form:
    • Vp2<UI list name>: Where <UI list name> names are given in the Low Level Events section below

Plug-in rendering events

If a plug-in renderer (MPxRenderer) is used, then the Viewport 2.0 processing to render an image is represented by the Vp2DrawPluginRenderer event.

If a render override (MRenderOverride) is used, then the Viewport 2.0 processing to render an image is represented by the Vp2OverrideRenderer event. The event is broken down into the following sub-events:

  • Vp2ExecuteRenderOverride: The execution of a render override. Excludes plug-in setup.
  • Vp2UpdateOverrideOperation: Any parameter update required per operation. The operation event labels are as follows:
    • Vp2ClearOperation: Background clear
    • Vp2SceneOperation: 3d scene render
    • Vp2QuadOperation: 2D quad render
    • Vp2UserOperation: User operation
    • Vp2HUDOperation: HUD operation
    • Vp2PresentationOperation: Presentation operation
  • The label Vp2DrawOperation indicates that an event is measuring the rendering part of the above operations. This label will be used instead of an internal rendering event label such as Vp2Draw3dBeautyPass.

Low level events

  • Render “Pass” Events:
    • From within the main 2d or 3d rendering passes, finer granularity events currently use pass semantic names as labels. For example, the “colorPass” semantic is used to show the processing for the color pass.
      NOTE:These semantic names match those that are exposed in the API via MPassContext. As an example, the GLSL and DX11 hardware shader plug-ins use these names.
  • Events that render UI render lists have the following labels:
    • Render before beauty pass:
      • “Pre-Opaque UI”
      • “Pre-Transparent UI"
    • Render after beauty pass:
      • “Post Render UI"
      • "Post Alpha UI"
    • "X-Ray UI” : X-ray drawing (for example, X-ray joints)
    • Rendering that must be drawn on top of other elements in the scene:
      • "On-Top UI" : 3d drawing
      • "Orthographic On-Top UI" : 2d drawing
    • "Manipulator" : Manipulator drawing (2D or 3D)
    • Overlay drawing:
      • "2D Overlay UI"
      • "3D Overlay UI"
    • HUD drawing:
      • "HUD"