This article is a quick breakdown of the strengths of Intel® Graphics Performance Analyzers (Intel® GPA) and Intel® VTune™ Profiler. We will cover what types of problems each tool can solve and the type of developers that will get the biggest benefit out of each tool.
Intel® VTune™ Profiler
Is recommended for programmers involved with game play and/or game engine development. Developers can take advantage of detailed source code profiling data to optimize compute intensive tasks such as physics, AI. Intel® VTune™ Profiler provides insight to tune both single threaded and multithreaded performance.
Game developers can use the tool to:
- Optimize CPU compute-intensive tasks:
- Get finer CPU granularity by drilling down to the code level and identifying the slow task, function, line of code, call stack.
- Identify why CPU is slow- cache misses, branch misprediction etc.
- Tune CPU threading performance: Identify a variety of common parallelism-related problems such as thread imbalance and excessive context switching using the Threading analysis.
- Tune the workload balance and interaction between CPU and GPU: Improve computational performance by analyzing detailed profile data and identifying whether your game or engine is CPU or GPU limited. Use Intel® VTune™ Amplifier for detailed analysis to identify CPU bottlenecks, see detailed summary and drill down to the function level.
- Annotate and sort by frames: Annotate data with frames to see each frame on the timeline. Identify slow and fast frames and filter your data to see only the functions that were running during the slowest frames, or correlate timeline patterns with frame activity.
- Optimize cache usage: Tune bandwidth-limited software and identify which memory objects are the bottlenecks.
Intel® Graphics Performance Analyzers
Intel® GPA is recommended for artists, designers, and game engine programmers. Gameplay programmers can use it in conjunction with Intel® VTune™ Profiler as the tools provide different functionality. Intel® GPA a free set of powerful graphics analysis and optimization tools to help developers improve performance of games and other graphics-intensive applications.
Game developers can use Intel® GPA to:
- Optimize graphics workloads (e.g. rendering frames): quickly identify performance bottlenecks, monitor real-time hardware metrics, perform live analysis experiments, and resolve issues for optimal gameplay and high framerate.
- Optimize applications written using graphics APIs such as Direct3D* 11, Direct3D* 12, OpenGL* (Trace mode only) and Vulkan*. Holistically analyze multiple frames or analyze the performance of a single frame down to the API draw call level.
- Evaluate CPU/GPU system impact: identify CPU/GPU contention, queue usage, and synchronization issues.