D3D9 Windowed / Fullscreen - Interval ONE / IMMEDIATE

Started by
0 comments, last by Zoner 13 years ago
Hi,

I am working on a Myst-like game (i.e. a panoramic scene rendered on a cube + some animations on some parts of the scene). Then it's not a heavy 3D scene :P.

The game can be run either in windowed or full screen mode.

Initially I used INTERVAL_ONE presentation method. It works well in windowed mode but I can notice some rendering lags when in full screen mode (animation are not as smooth as they are in windowed mode).

I switched to INTERVAL_IMMEDIATE and they is no more rendering lags in full-screen mode. However, rendering is not clean, when moving the mouse - which makes panoramic scene rotate - I can see "horizontal cut" in screen rendering, which is an expected behavior because I am not waiting for vertical sync. However, in windowed mode, the rendering is always clean, no "horizontal cut" in rendering.

So here are my questions :

1) I am not an expert in D3D (and more generally in programming) then I think my code is far from being optimized .. but why is there rendering performance difference between windowed and full-screen mode when INTERVAL_ONE presentation is set ? More over, I expected full-screen mode to have better rendering performance than windowed mode, I have the opposite.

2) Why INTERVAL_IMMEDIATE does not create rendering artifact in windowed mode (what I call "horizontal cut") ?

In windowed mode, does the OS accept and bufferize ::present calls whatever _ONE or _IMMEDIATE is specified - giving back immediately the hand to my application - and taking care of final presentation synchronous with VSYNC ? This could explain 1) and 2).

3) Is there a "real" difference for a game between full screen mode and windowed mode where the window has the size of full screen and without any border (i.e. visually identical to full screen)


Thanks in advance for your answers.

amarhys
Advertisement
If you are in Vista or Win7 with Aero enabled the desktop is vsynced all the time.
http://www.gearboxsoftware.com/

This topic is closed to new replies.

Advertisement