Visible to Intel only — GUID: GUID-69149B13-D37A-48EE-A68D-26F88A6BF92D
Visible to Intel only — GUID: GUID-69149B13-D37A-48EE-A68D-26F88A6BF92D
Monitor Real-Time Performance with System Analyzer
Use System Analyzer to locate problematic areas and to determine if your application is CPU- or GPU- bound.
A top-down approach to analysis and optimization suggests that first you have to determine whether your performance issues are with the CPU or the GPU. Understanding your performance issues at this highest level is extremely important. Otherwise, you could spend a lot of time optimizing parts of your game that end up being secondary to much larger performance issues.
A good rule is to have a balance between the utilization of the CPU and the GPU resources - do not have the CPU running at 100% while the GPU is only 20% utilized, and vice versa.
To find out whether your application is CPU-bound or GPU-bound, you can use heads-up-display (HUD) or System Analyzer running in a host/target mode.
System Analyzer vs Heads-up Display (HUD)
HUD works in the background while your game is running and displays its results as an overlay on your game, quickly allowing you to see the performance overview of your game. HUD displays the following data: system information, FPS, and four performance metrics selected in the Graphics Monitor Options.
System Analyzer is a separate tool that displays a variety of performance metrics at a time. System Analyzer offers the following advantages over HUD:
- Uses host/target (network) mode, enabling you to monitor performance on a remote system. This reduces performance impact on the application. You are recommended to use System Analyzer in the network mode to analyze graphics applications on Ultrabook™ devices, tablets, netbooks, or other devices with limited resources.
- Provides more detailed metrics resolution and the possibility to view more than four metrics at the same time, while also providing counter set selection and multiple other options. Using System Analyzer, you can compare an unlimited number of metrics with same measurement units by displaying them in the same chart, easily switch between metrics, and resize metrics charts for better analysis.
If you connect the System Analyzer to the application with HUD enabled, HUD is switched to the lightweight mode that only shows FPS rate.
System Analysis Workflow
- Start your game from the Graphics Monitor
Open Graphics Monitor and select the application to run in the Graphics Monitor Launcher screen.
This runs your game with the HUD overlay, quickly allowing you to analyze the performance data and capture frame and trace files.
- (Optional) Launch System Analyzer
Return to the Graphics Monitor and click the Connect System Analyzer button next to your application.
System Analyzer opens and attaches to your application. By default, System Analyzer starts in System View mode, which displays general system metrics. When it's attached to the application, System Analyzer provides more detailed metrics.
- Analyze metrics data
Intel GPA supports a wide variety of metrics. The metrics available for display might differ depending on your specific graphics device. Using real-time metrics, you can determine if your application is CPU- or GPU- bound, or identify the problematic area for further detailed analysis. For example, you can detect scenes, where:
- Frame rendering takes too long: analyze the Frame Time metric.
- CPU and GPU workload is imbalanced: evaluate CPU and GPU load by analyzing GPU Busy and Target App CPU Load metrics. Using these metrics, you can assume whether your performance issues are with the CPU or the GPU.
- After analyzing real-time metrics, you can proceed with more detailed analysis and try the following:
- If you suspect that your game is GPU-bound, capture frame files and use the Graphics Frame Analyzer to perform deeper analysis into exactly what is happening within a specific frame – see where in the rendering pipeline your game is spending its time, down to the render target or draw call level of detail. Check Frame Analysis for Desktop API Graphics Applications.
- If you suspect that there are issues in balancing your workloads across the CPU and GPU, capture and analyze trace files to get a task-based overview of your game across both the CPU and GPU domains.
- If you know that your game is CPU-bound, you might try using some CPU-specific tools to help improve your performance on the CPU, such as Intel® VTune™ Profiler. In particular, with multiple cores now being the rule rather than the exception, parallelizing your code can have a big impact on overall CPU performance.
Capture Frame/Stream/Trace for Deeper Analysis
To perform deeper analysis with Frame Analyzer or Trace Analyzer, capture frame, stream, or trace files:- In Graphics Monitor, specify an application for analysis.
- Choose Frame, Stream, or Trace mode from the launch modes drop-down menu on the lower right.
- Click the Start button to launch the application. A window with the game running opens.
- Choose one of the following methods to capture frame, stream, or trace:
- With HUD:
- To capture frame, press CTRL + SHIFT + C
- To start/stop stream capture, press L
- To capture trace, press CTRL + SHIFT + T
NOTE:Hot keys may interfere with game keyboard usage. In this case, you can:- Customize shortcuts
- Set up a trigger in Graphics Monitor to automatically create frame/trace capture files when certain conditions occur, for example when FPS is 20
- With System Analyzer:
- Return to the Graphics Monitor and click the Connect System Analyzer button next to your application.
- Click Capture Frame or Capture Trace buttons on the top left of the System Analyzer window.
- With HUD: