Just saw this thread now. Real fullscreen all the way, especially being able to set the video mode. Implement it properly, though! A lot of the bad reputation real fullscreen has comes from badly programmed games completely breaking things =/
If that's not supported, fullscreen window, which is the same as the desktop resolution, i.e. the LCD's native resolution. Nothing else makes sense, really. Non-native resolutions are soooooo damaging to my eyes (and why wouldn't you want to use the pixels that you paid for!).
It makes sense if you have weak video hardware and can't upgrade for whatever reason (e.g. not enough money). For example, it may be good enough to handle the desktop by itself at the native resolution, but for games you may want to use a lower resolution for the sake of performance. Those who insist that letting games change the resolution is bad always tend to overlook this =P
(mind you, if you have a high resolution monitor I suppose it could make sense to drop to a divisor of the native resolution, e.g. 2048×1536 vs 1024×768 - pixels shouldn't bleed if you do this)
Does anyone know if there is any performance or latency difference in fake vs real fullscreen?
I could guess you might have a more direct path to the screen in fullscreen, but that might be irrelevant today.
There used to be issues in the early DirectX days (due to DirectX interfering with GDI) but not anymore. And fullscreen OpenGL on Windows was always windowed technically (it was a borderless window and the resolution was changed manually).
The main advantage of real fullscreen is the fact it can change the video mode, giving the game more control over the display. The main disadvantage is that several games like to screw up fullscreen support so sometimes you get stuff like things not working properly after alt+tab or other monitors blacking out =/
This makes switching to desktop way faster. I noticed games typically have to reload textures if the resolution changes.
This issue has mainly to do with DirectX I believe (see what I said about it interfering with GDI above), since OpenGL requires textures to be preserved. Last I checked Direct3D 10 was supposed to fix that too. This is also why many games used to close if you do alt+tab, because they had to reload the textures and in many cases programmers chose to quit the program instead of handling that properly.
I could be wrong on what I said about the APIs, so don't take what I said for granted, but if I recall correctly this is from where several of the issues come.
Don't pay much attention to "the hedgehog" in my nick, it's just because "Sik" was already taken =/ By the way, Sik is pronounced like seek, not like sick.