My earlier post on “DWM’s use of DirectX, GPUs, and hardware acceleration” generated some good comments and questions. I’ll use this post to respond.
dzCepheus wonders about end users and developers creating their own effects, for instance, mapping window content onto spinning cylinders. This is definitely something that we’ve thought about, and are going to look into extensibility in these directions in a future release, but for Windows Vista, this level of extensibility isn’t possible. What is possible is more limited — the ability to extend glass/blur into the window, and the ability to manipulate live thumbnails of windows in your own applications. More on that in a future post.
steamy asks about DX8 cards rendering glass, in light of my comments about DX9 in the post. Not sure what DX8 cards worked, or when, but DX9/WDDM drivers are absolutely a requirement, as is PS 2.0 support.
steamy also wonders about software rendering for the DWM. Given the confluence of a) commoditization of sufficiently performing graphics hardware; b) not wanting to overly tax the CPU and take it away from other applications, and the long term power efficiency of doing these operations in the GPU and not the CPU; c) the requirement for pushing around lots of pixels and needing big texture bandwidth; and d) the importance of maintaining focus and executing well on one rendering path without bringing in others — we opted away from pursuing a software path here.
Nidonocu asks about XGL for Linux desktops. I don’t know a great deal about XGL (other than the fact that a different XGL used to be the way of programming 3D on Sun Microsystems machines back when I worked there in the early-90’s), but I have seen some of the videos I’ve seen showing it in action. For Windows Vista, we’ve really focused on building the composited desktop, and working out all the kinks to allow two decades worth of Windows applications to run well on such a fundamentally different desktop rendering model. The fruits of the composition labor show off in big quality and usability wins for the desktop, and some choice places we leverage composition — for instance Flip3D, high DPI support, and window thumbnails. Now that this groundwork is laid, we expect to really be able to leverage it quite a bit more moving forward — but also to do so in a “UI-responsible” way really heeding the advice of our graphics and UI designers.
GRiNSER talks about other animations and transitions in the Vista GUI. Vista animations and transitions are definitely not limited to the DWM. There are definitely some choice ones in Explorer, and there are many many situations where GDI rendering for these does absolutely fine.
Finally, Princess talks about interaction between the DWM’s usage of the GPU and other applications. This is going to be the main topic of my next entry on the WDDM.