Question

Is there a Win32 API call that detects the current Hardware Acceleration level of a user's system? I have no need to change the setting, but I'd like to scale back the level of detail for my OpenGL display if hardware acceleration is disabled.

Was it helpful?

Solution

From the FAQ: How do I know my program is using hardware acceleration on a Wintel card?

If you are using the Win32 interface (as opposed to GLUT), call DescribePixelFormat() and check the returned dwFlags bitfield. If PFD_GENERIC_ACCELERATED is clear and PFD_GENERIC_FORMAT is set, then the pixel format is only supported by the generic implementation. Hardware acceleration is not possible for this format. For hardware acceleration, you need to choose a different format.

OTHER TIPS

Or you can interrogate the device's capability with Direct3D, if you're on Windows. The "standard" GDI Win32 GetDeviceCaps() call doesn't deal with 3D...

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top