I would like to ask whether if it's possible to query the load of the IGP on Intel processors. It is possible on NV GPUs with NVAPI and AMD APUs/GPUs with ADL, but I'm looking for the missing link.
I want to write a Metro UI application that could query CPU and GPU load for all vendors in a stylish manner, and it would rock if I could incorporate all the vendors from the x86 side. I do not intend to make an ARM version just yet.
Did I take it correctly that the Intel Media SDK would be the closest thing to getting some API for querying such information?
As far as I know there is no standard programmatic way of querying the GPU load. That said, Google search will reveal some in-official methods on how to do this via hidden Microsoft APIs (use these at own risk). Also note that the GPU load reported with such interface will likely not take info account GPU load of fixed function GPU video codec components.
If you need to tool that reports complete GPU load of Intel processors the check out the Intel Graphics Performance Analyzer (GPA) tool. Unfortunately the tools does not provide a programmatic interface to retrieve this metric.
The above statements are in the context of Windows 7 or Windows 8 Desktop mode.
For Metro you will find lots of additional restrictions that may make it hard to realize your application. Keep in mind that all dependentDLLs must be contained in your application Metro package.
Great question. I wonder if a vendor neutral way to determine GPU load could be generated from Microsoft ETW data? The Microsoft GPUView tool provides a visualization into the size of the GPU command buffer queue. This could be used to determine when the GPU is busy or idle, and how much work is queued when the GPU is busy (like a load average). ETW is available as a fully supported Microsoft API for Windows 7 and 8. I don't have information on whether this is supported by a Metro application, so that is another consideration.
Petter's comment above probably also applies to thispossible solution as wellin that the ETW data may or may not represent GPU fixed fuction codec components.