Using the Frame Profiler

The Frame Profiler is available from the Windows->Frame Profiler menu item or the Frame Profiler toolbar icon.

The Frame Profiler allows you to quickly determine if your application is CPU or GPU bound. In GPU bound cases, you can then use the available performance counters to profile the scene at a per-draw call level and identify the expensive draw calls and discover ways to improve their performance.

ProfilerMain.png

Per-Frame Data

Click on the Analyze button to do a quick analysis of your application to identify it is CPU or GPU bound. The information included in this timing analysis is:

The bars for CPU and GPU are relative to one another, and the bar that is full is the bottleneck. An ideal scenario would be to have the CPU and GPU bars nearly equal and entirely full and to also have the GPUBusy bar nearly full. This would indicate that the GPU was active for most of the frame and you have good balance between CPU and GPU utilization (thus you are fully utilizing both the CPU and GPU). If the CPU and GPU are nearly equal, but the GPUBusy is low, then you should investigate how to take better advantage of the GPU.

It is possible to make this analysis happen automatically if you turn on the 'Perform Analysis When Opened' option in the Settings window. This option will also enable the analysis as part of generating the profile results. If your application is running on the same system as the client, it will automatically be brought to the foreground before an analysis or profile pass so that it is rendering with the same characteristics as it would while playing the game or using the application.

Per-Draw Data

This section of the profile window allows you to make a custom counter selection for investigating the per-draw GPU performance characteristics of the application. See the Counter Selection section for more information.