How OpenGL fits in to Vista

It all comes back to the drivers. It’s very likely that early benchmarks comparing performance between Vista and XP were not run with the proper drivers installed. It’s very likely because the proper drivers might not even have been available in the early days of the Vista rollout. But, in order for OpenGL applications to take advantage of hardware acceleration, the proper ICD (installable client driver) has to be resident on the computer. If the driver hasn’t been downloaded OpenGL applications will run in software. In some cases, Microsoft has supplied an OpenGL wrapper for some applications and it does sit on top of Direct3D (no doubt adding to the misunderstanding that OpenGL must go through D3D to get to the hardware). The wrapper only comes into play for certain applications when a driver supplied by the IHV is not present on the machine. In these early days as systems are being optimized, drivers tweaked, and application developers as well as hardware developers work on their Vista drivers, no one wants to point fingers, but all the pieces are not quite in place for premium OpenGL performance for key applications — in that indictment we’re including the software providers as well as hardware and in fact, the hardware vendors say the situation for them has gotten much better with their latest releases.

Click for a bigger version

An interesting side effect of all this is that the workstation teams at AMD and Nvidia and the OpenGL ARB (Architectural Review Board, the governing body for the OpenGL standard) are all singing from the same hymnal to try and better communicate the role of OpenGL in the Windows Vista ecosystem. In addition, the OpenGL ARB, the governing body for the OpenGL standard can counter earlier reports of slow performance with benchmarks that show OpenGL applications running at very competitive rates on XP compared to Vista.

The workstation team at Microsoft are also actively trying to counter the impression that OpenGL performance suffers in the Windows environment. They don’t want professional users deciding to sit out the transition to Vista any longer than strictly necessary. And, everyone is very interested in communicating some of the positive advantages of the new display architecture.

The key to Windows Vista is the Desktop Windows Manager. The DWM is actually an application within Vista. It manages the presentation of the Windows desktop by compositing the outputs of applications to the screen. OpenGL and Direct3D user mode graphics drivers take data from the application to create a frame of content which is then presented to the DWM. The DWM composites the frame onto the desktop using GPU acceleration. It is the DWM that presents either the Aero interface or the Standard interface to the user. As an application, the DWM takes its own toll on the GPU and memory. According to comparison tests performed by the OpenGL ARB, it looks like WDM has an influence of about 10% on performance. In cases of applications that take their own heavy toll of system resources there are arguments for upgrading to 64-bit systems or working in standard mode. As can be imagined Microsoft engineers shudder to think users would choose not work in the more inviting environment Microsoft has so lovingly built in Aero.

Click for a bigger version

The new Windows Display Driver Model (WDDM) in Windows Vista increases overall system stability. The layer described as the thunk layer in Figure 5 comes into to play to mediate between the hardware/kernel mode graphics driver and the user mode graphics driver. The WDDM also manages resources including the graphics memory as shown in figure 6. As a result the ICD can expose the maximum texture storage available for each application and Windows Vista handles resource allocation and scheduling across all applications. The result is faster performance and scalable memory. Now, system memory can be used for graphics applications.