Using the visual profiler — MRTK2

The VisualProfiler provides an easy to use, in-application view of a mixed reality application's performance. The profiler is supported on all Mixed Reality Toolkit platforms, including:

  • Microsoft HoloLens (1st gen)
  • Microsoft HoloLens 2
  • Windows Mixed Reality immersive headsets
  • OpenVR

While developing an application, focus on multiple parts of the scene as the Visual Profiler displays data relative to the current view.

Important

Focus attention on portions of the scene with complex objects, particle effects or activity. These and other factors often contribute to reduction in application performance and a less than ideal user experience.

Visual profiler interface

Visual Profiler Interface

The Visual Profiler interface includes the following components:

Frame rate

In the upper-left corner of the interface is the frame rate, measured in frames per second. For the best user experience and comfort, this value should be as high as possible.

The specific platform and hardware configuration will play a significant role in the maximum achievable frame rate. Some common target values include:

  • Microsoft HoloLens: 60
  • Windows Mixed Reality Ultra: 90

Note

Due to frame rate throttling on HoloLens when default MRC is active, the visual profiler hides itself while videos and photos are captured. This setting can be overridden in the diagnostics system profile.

Frame time

To the right of the frame rate is the frame time, in milliseconds, spent on the CPU. To achieve the target frame rates mentioned previously, an application can spend the following amount of time per frame:

  • 60 fps: 16.6 ms
  • 90 fps: 11.1 ms

GPU time is planned to be added in a future release.

Frame graph

The frame graph provides a graphical display of the application frame rate history.

Visual Profiler Missed Frame Graph

When using the application, look for missed frames which indicate that the application is not hitting its target frame rate and may need optimization work.

Memory utilization

The memory utilization display allows for easy understanding of how the current view is impacting an application's memory consumption.

Visual Profiler Memory Graph

When using the application, look for total memory usage. Key indicators include nearing the memory limit and rapid changes in usage.

Customizing the visual profiler

The Visual Profiler's appearance and behavior are customizable via the diagnostics system profile. Please see Configuring the Diagnostics System for more information.

See also