More likely you are using functions that predate D3D9 and Microsoft hasnt really put that ammount of effort in making the simulation of theese things fast in Vista.

As you might know, there's no such thing as DX8, 9 etc in Vista. All functionallity is simulated in software using DirectX10 as backend.