Intel® Graphics Performance Analyzers Framework: Device Override Layer

This feature allows you to override the default graphics device during capture or playback. Choose between the available GPUs on your various platforms to gather data and make an informed decision about which platform to target.

Hello, folks.

Welcome back to our Intel Graphics Performance Analyzers video series, Intel GPA Framework, Quick Tips.

I am Pamela Harrison, software technical consulting engineer for the Intel GPA team.

I am back with more insights on how to use Intel GPA Framework to help with your profiling workflow.

In this video we will discuss the Device Override Layer.

It allows you to force your application to use a particular graphics device. For example, without changing anything in your code, you can force the use of the integrated GPU or the discrete GPU when capturing or playing back a stream.

This is useful for spot testing to do things like check framerate both with and without the discrete card, so that not only can you check framerate on your high end machine, but you can make informed decisions about which platforms you will be able to target by doing a quick test on the integrated GPU.

To capture a stream use gpa-injector as usual and add the Device Override Layer specifying the GPU.

Identify the GPU that you want to use by index, Vendor ID and Device ID, or LUID.

Use gpa-help --layer device-override for a detailed list of available devices.

This layer is a great tool you can use to do a quick platform target check.

Maybe you thought you could only target high-end gaming platforms, but with a quick stream capture using your iGPU, you can count the number of frames that drop below a particular frame rate.

This enables you to do a quick test without the discrete GPU card to see if targeting mid-range systems and laptops might be viable options for your application.

As I said earlier, the Device Override Layer works with both capture and playback.

Let's look at a scenario. Say you want to test whether your explosion scene will capture enough data on an integrated GPU to be feasible.

You have done testing on various GPUs and know that this scene performs well at greater than 50fps.

Capture a stream with the iGPU in the explosion portion of your game. Then run that stream through our gpa-stream-analyzer utility to get the time each frame took in milliseconds.

You may know that frames at 20 milliseconds are running at 50fps and frames at 25 milliseconds are running at 40 frames per second.

So if fewer than, say, 10% of the frames are taking slightly more than 20 milliseconds, you might make the business decision to test on midrange platforms and expand your market share.

So, depending on how much data your team or manager needs, either eyeball the list of times to determine how many frames exceed 20 milliseconds, or count the number of frame times greater than 20 milliseconds using a script.

You may not need this layer frequently, but Device Override is there for you in GPA Framework when the need arises.

Thanks for watching!

Tune in for our next Quick Tip for more insights on profiling with Intel GPA Framework.