Performance optimization is a bit like solving a mystery. As the developer, you gather the evidence, analyze it, and make sense of what’s really going on. Intel® VTune™ Amplifier provides many capabilities to make your investigation productive.

screenshot of the timeline
Figure 1

Find Answers Faster with Timeline Filtering

Applications can have different hotspots during different phases of execution. For example, the hotspot during application startup is probably different from the hotspot during a normal execution.

Timeline filtering lets you quickly focus on hotspots across an application’s execution phases, giving you a clearer picture of what needs to be tuned. For more precision, use the included instrumentation and tracing technology (ITT) APIs to turn data collection on and off programmatically or mark specific regions in the code.

To isolate a bottleneck in a specific time period, select it in the timeline, and then choose Filter in by Selection (see Fig. 1).

Fast-Track Performance Analysis with Summary Reports

Leverage these reports as the starting place to analyze which changes have the most impact. Histograms not only help you visualize the results, they let you control other displays. In this example, you can move the sliders to redefine PoorOK, and Ideal utilization (see Fig. 2).

histogram of C P U utilization
Figure 2

Figure 3

Collect Only the Data You Need

Profiling can generate a lot of data. Start and stop collection interactively with Intel VTune Amplifier or programmatically with the Pause/Resume API. You can also skip the startup phase by attaching to a process that is already running.

You can interactively start and stop data collection while your application is running or use the API for more precision (see Fig. 3).

Autodetect DirectX* Frames

Do you have slow frame rates in your Windows* gameplay? Finding the average hotspot for all frames isn't helpful. Instead, you need to find the hotspot in just the slow frames.

If you're not using DirectX*, define the critical region using the ITT API. This is also useful for diagnosing latency in other applications (for example, transaction analysis).

Triangular markers show frame boundaries. Hover over the markers for more details (see Fig. 4).

screenshot of auto-detecting DirectX frames
Figure 4

Additional Capabilities