Dynamic Change of Permitted Driver Accelerations
The driver's acceleration level can be changed through the user interface by using the slider that is produced by clicking on the Display icon in Control Panel. Depending on the value set with this slider, GDI allows the following levels of driver accelerations listed in the following table.
Value | Description |
---|---|
0 |
All display driver accelerations are permitted. |
1 |
DrvSetPointerShape and DrvCreateDeviceBitmap are disabled. |
2 |
In addition to 1, more sophisticated display driver accelerations are disallowed, including DrvStretchBlt, DrvFillPath, DrvGradientFill, DrvLineTo, DrvAlphaBlend, and DrvTransparentBlt. |
3 |
In addition to 2, all DirectDraw and Direct3D accelerations are disallowed. |
4 |
In addition to 3, almost all display driver accelerations are disallowed, except for solid color fills, DrvCopyBits, DrvTextOut, and DrvStrokePath. DrvEscape is disabled. |
5 |
No hardware accelerations are allowed. The driver will only be called to do bit-block transfers from a system memory surface to the screen. |
A display driver can determine the current acceleration level by:
Receiving notification of a change to the acceleration level from GDI by implementing DrvNotify.
Calling EngQueryDeviceAttribute to query the current acceleration level.