The Solution Is Closer Than You Think
Our next step was to run a few more tests with and without the Task Manager, while measuring the following, simple system parameters:
- GPU clock frequency
- CPU clock frequency
- CPU load
- Power consumption of the system
The possibility of the graphics cards changing power modes due to the Task Manager or some other program being activated came to my mind, so we decided to observe the GPU power consumption and GPU clock frequency in all tests. In Windows 7, the graphics cards from both manufacturers could theoretically increase their clock frequencies by switching to 3D mode when handling 2D GDI instructions. In the case of the Radeon HD 5870, that'd mean a switch from 157 MHz to 850 MHz. However, all values we listed as measurement points above stayed completely the same when testing with and without the Task Manager.
So why is the performance still increasing when the Task Manager is active, despite the clock frequencies being the same? The explanation was easier than we had initially thought. A little self-written 3D program got us on the right track.
We had forgotten to close this 3D application and were suddenly able to measure a constant increase in 2D performance.
In fact, 2D performance increases as soon as a D2D/D3D device, ideally displayed in window mode, is active in parallel to the direct output. Whether the window is visible or hidden isn’t important. As long as such an output is active, the 2D GDI/DDI disciplines we identified on the previous pages will run faster. There is only one difference: Nvidia’s driver handles blitting a bit better. The Task Manager in Windows 7 already uses D2D, which explains the performance increase when it is open.
Relevance and Interim Conclusion
At this point, we are not really talking about a bug, but rather a paradox. Especially since this increase in performance caused by the mere presence of an active D2D/D3D device raises the entirely-justified question as to why performance is not just as high without it. We can draw the conclusion that, in spite of the alleged separation in Windows 7, GDI is still directly connected to D3D. Whether this can ultimately be attributed to the driver developers involved in the Windows Vista experiment is a question, we cannot answer at this point.
Theoretically, it should be possible for driver developers to remove these last problems as well. Whether they are interested and considered worthwhile remains to be seen, though. The partial reintroduction of 2D hardware acceleration in Windows 7 should in any case be highlighted with a huge question mark.