releases/2.5.4mrtk_developmentreleases/2.1.0releases/2.2.0releases/2.3.0releases/2.4.0releases/2.5.0releases/2.5.1releases/2.5.2releases/2.5.3
  • Guides
  • API Documentation

We've moved!

Starting from MRTK 2.6, we are publishing both conceptual docs and API references on docs.microsoft.com. For conceptual docs, please visit our new landing page. For API references, please visit the MRTK-Unity section of the dot net API explorer. Existing content will remain here but will not be updated further.

  • Guides
  • Feature Overviews
  • Diagnostics System
  • Using the Visual Profiler

    Show / Hide Table of Contents
    • Getting Started with MRTK
      • Upgrading from HTK
      • Updating from RC2
      • Release Notes
      • Building and Deploying MRTK
      • Performance
      • Hologram Stabilization
    • Architecture
      • Overview
      • Framework and Runtime
      • Input System
        • Terminology
        • Core System
        • Controllers, Pointers, and Focus
    • Feature Overviews
      • Profiles
      • Profiles Configuration
      • Input
        • Input Overview
        • Input Providers
        • Input Events
        • Input Actions
        • Controllers
        • Pointers
        • Gestures
        • Speech(Voice command)
        • Dictation
        • Hands
        • Gaze
        • Eyes
      • In-Editor Input Simulation
      • UX Building Blocks
        • Interactable
        • Button
        • Bounding Box
        • Object Manipulation
        • Sliders
        • Fingertip Visualization
        • App Bar
        • Object Collection
        • Slate
        • System Keyboard
        • Tooltips
        • Solvers
        • Hand Interaction Example
        • Eye Tracking Interaction Example
      • Detecting Platform Capabilities
      • MRTK Standard Shader
      • Spatial Awareness
        • Spatial Awareness Overview
        • Configuring the Spatial Awareness Mesh Observer
        • Spatial Object Mesh Observer
        • Usage Guide
      • Multi Scene System
        • Multi Scene System Overview
        • Scene Types
        • Content Scene Loading
        • Monitoring Content Loading
        • Lighting Scene Operations
      • Teleport System
      • Boundary System
        • Boundary System Overview
        • Configuring the Boundary Visualization
      • Diagnostics System
        • Diagnostics System Overview
        • Configuring the Diagnostics System
        • Using the Visual Profiler
      • Services
        • What makes a mixed reality feature
        • What are the MixedRealityServiceRegistry and IMixedRealityServiceRegistrar
      • Packages
        • MRTK Packages
        • MRTK Componentization
      • Tools
        • Dependency Window
        • Optimize Window
        • Input Animation Recording
          • Input Animation File Format Specification
        • Extension Service Creation Wizard
      • Scene Transition Service
      • Experimental Features
    • Contributing
      • Contributing Overview
      • Feature Contribution Process
      • Coding Guidelines
      • Documentation guide
      • Developer portal generation with DocFX
      • Testing
      • Breaking Changes
    • Planning
      • Roadmap
    • Notice
    • Authors

    Using the Visual Profiler

    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
    • Microsoft HoloLens 2
    • Windows Mixed Reality Immersive headsets
    • OpenVR

    While developing an application, be sure to 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
    • Frame Time
    • Frame Graph
    • Memory Utilization

    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

    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 Frame Graph

    When using the application, look for missed frames. Missed frames indicate 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 Frame Graph

    When using 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

    • Diagnostics System
    • Configuring the Diagnostics System
    • Improve this Doc
    In This Article
    • Visual Profiler Interface
      • Frame Rate
      • Frame Time
      • Frame Graph
      • Memory Utilization
    • Customizing the Visual Profiler
    • See Also
    Back to top Generated by DocFX