Long time reader, just joined.
On the current project (in C++) that I am working on, I stubbled upon something really strange.
I am instantiating a new full-screen window using CreateWindowEx(); API from Windows, in order to measure the screen latency between the user input and the result on the screen (in our case, the change between full black to full white screen).
I am using an industrial scope-meter to measure this.
The result I have are strange and illogical. If I instantiate a full screen window with boarders I get a latency lower than if I instantiate one without one.
What’s even stranger, is that if I have a window on top of my current border-less window, the latency is EXACTLY like if I had the boarders turned on. The difference is about 3 frames, which is critical gap for my goal.
I believe it’s because I am not creating my window correctly, as I don’t get the same effect as on PC games, where for example in some of the games I have on my system: Aero is disabled on the window itself but the rest it’s enabled, and when the game looses focus it minimizes automatically.
dwStyle = WS_POPUP; dwExtStyle = WS_EX_APPWINDOW; CreateWindowEx( dwExtStyle, // Extended Style For The Window szAppName, // Apps Name "test", // name dwStyle | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, 0, // Window Position 0, // Window Position 2560, // Width 1600, // Height NULL, // No Parent Window NULL, // No Menu hInstance, // Instance NULL); // Dont Pass Anything To WM_CREATE
Please read this note:
I know most of you don’t have the equipment I have, and I expect most to not know about the issue, but I am all for ideas, and testing.
What do you think games uses for creating their window? What do you use for your full screen project?
> Windows 7 Ultimate 64-bit with SP1, and latest updates installed (just checked)
> Core i7 X980 3.33Ghz (not overclock)
> 6GB of RAM DDR3
> Nvidia Geforce GTX 590 with the latest drivers (just checked)