When using CachedBitmaps
in GDIPlus, there is graphical corruption if Windows video "Hardware Acceleration" is lowered too much - such that DirectDraw is disabled:
There are six levels of hardware acceleration:
- Disable all accelerations
- Disable all but basic accelerations. (Default on server machines)
- Disable all DirectDraw and Direct3D accelerations, as well as all cursor and advanced accelerations
- Disable all cursor and advanced drawing accelerations
- Disable cursor and bitmap accelerations
- All accelerations are enabled (Default on desktop machines)
If DirectDraw is disabled, then using DrawCachedBitmap
in GDI+ will result in graphical corruption. It's easy enough for me to use the slower DrawImage()
API if DirectDraw is not enabled - but i have to be able to detect that DirectDraw is disabled.
How can i programatically check if DirectDraw is enabled?
The question is: How does dxdiag do this:
See also
KB191660 - DirectDraw or Direct3D option is unavailable (archive)