Intel® Graphics Performance Analyzers Framework (Intel® GPA Framework)
Intel® GPA Framework is a cross-platform, cross-API suite of tools and interfaces, which allows users to capture, playback and analyze graphics applications. The heart of the Intel® GPA Framework is a robust, scalable and low overhead layering framework similar to the Vulkan* layer framework.
-
Getting Started
New to Intel® GPA Framework? Start here!
-
Guides
Guides and tutorials to use beyond the Getting Started Guide.
-
Samples
Explore the samples page to find a sample that applies to your use case.
-
Reference
C++ and Python interface references, utility binaries and layers documentation.
-
Features
Feature set supported in Intel® GPA Framework by various graphics APIs.
-
System Requirements
Hardware and software requirements for Intel® GPA Framework.
-
Release Notes
Check out what's new in Intel® GPA Framework.
-
Troubleshooting
Known issues and limitations.
In a nutshell, an Intel® GPA Framework user can:
Capture a stream of a running application:
> gpa-injector --layer capture [PATH_TO_EXECUTABLE]
Playback the stream to recreate the application graphics execution:
> gpa-player Documents/GPA/[PATH_TO_STREAM]
Analyze the stream using programmatic interfaces. For example:
Play back a stream up to a given frame
Get a list of API calls
Get metrics
Produce a performance regression report
Why should I use Intel® GPA Framework?
Intel® GPA Framework is a powerful tool that caters to various use cases. This section describes example use cases.
Test/Validation Engineer
Unlike crash no/crash validation, performance regressions are difficult to characterize and spot at a granular level. Test/validation engineers can integrate Intel® GPA Framework into Continuous Integration automated frameworks with native C++ applications or with python interfaces to capture a known workload and analyze a given frame. Intel® GPA Framework reports performance improvements, regressions and frame budget analysis at a per draw call or debug region level.
Game Engine Developer
Intel® GPA Framework allows game engine developers to integrate performance profiling capabilities into an engine.
Game Developer
Game developers can use Intel® GPA Framework to automate performance optimization experiments into scripts to quickly identify common bottlenecks. Multi-frame streams can help spotting performance issues, which are hard to characterize with single-frame capture, such as overall frame time variance, intermittent glitches, frame drops.
Contents
Binary tools to capture and playback graphics streams to/from disk
C++ and Python interfaces. Collection of headers and libraries for programmatical analysis of a stream
Sample code showing how to leverage the programmatic interfaces to gather data
Customizable layering/shimming framework to enable real-time and replay data collection
Features
Vulkan* |
DirectX 11* |
DirectX 12* |
|
---|---|---|---|
Capture and playback |
|||
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
||
✓ |
|||
Stream Analysis |
|||
✓ |
✓ |
✓ |
|
✓ |
✓ |
||
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
Layers |
|||
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
How to Use This Guide
Check out the Getting Started guide to learn how to use the built-in capture and playback functionality.
To learn more about the layers that are packaged with the Intel® GPA Framework visit the Layers page.
Explore the Utilities page to find a deeper explanation of all the parameters that can be passed to the capture and playback applications.
Find the right workflow for your needs by navigating straight to the Next Steps section within the Getting Started guide. Explore the Intel® GPA Framework components in the Reference section. To find a sample that applies to your use case, explore the samples page.
- Getting Started
- Guides
- Reference
- Features
- System Requirements
- Release Notes
- 2024.4 (12/12/202)
- 2024.3 (09/12/2024)
- 2024.2 (June 13 2024)
- 2024.1 (March 15 2024)
- 2023.4 (Dec 14 2023)
- 2023.3 (Sept 21 2023)
- 2023.2 (15 June 2023)
- 2023.1 (15 March 2023)
- 2022.4 (15 December 2022)
- 2022.3 (15 September 2022)
- 2022.2 (30 June 2022)
- 2022.1 (16 March 2022)
- 2021.4 (16 December 2021)
- 2021.3 (23 September 2021)
- 2021.2 (24 June 2021)
- 2021.1 (24 March 2021)
- 2020.4.1 (21 January 2021)
- 2020.4 (14 December 2020)
- 2020.3 (24 September 2020)
- 2020.2 (25 June 2020)
- 2020.1 (26 March 2020)
- 2019.4 (19 December 2019)
- 2019.3 (26 September 2019)
- 2019.2 (27 June 2019)
- Troubleshooting
- Legal Information
- Notices & Disclaimers