Current version

v1.10.4 (stable)


Main page
Archived news
Plugin SDK
Knowledge base
Contact info
Other projects


Blog Archive

Exploring Direct3D 9Ex and FLIPEX present mode

I recently went through converting Direct3D 9 based portions of VirtualDub to optionally use Direct3D 9Ex (formerly 9.L, and sometimes called Direct3D9Ex depending on the documentation writer's mood). This is an extended version of the Direct3D 9 API that enables additional functionality possible with the DirectX Graphics Infrastructure (DXGI) in Vista/7. Here's what I can say about it:


Long story short, if you've got a small amount of code to do GPU accelerated rendering, modifying it to use 9Ex to avoid the mode switch limitations isn't too bad, but I wouldn't convert a larger engine just for that. FLIPEX is more dubious and limited in advantage; I can see where it would help with a video player, but with a more complex display or rendering setup involved it's more of a pain to use. For the work involved and with VirtualDub's display code I'd be tempted to bypass 9Ex/FLIPEX and just try going to Direct3D 10.1 in 10level9 mode and DXGI, which has a more flexible swap chain interface.


This blog was originally open for comments when this entry was first posted, but was later closed and then removed due to spam and after a migration away from the original blog software. Unfortunately, it would have been a lot of work to reformat the comments to republish them. The author thanks everyone who posted comments and added to the discussion.