PDA

View Full Version : Tearing with Ultra-Large Output Window



henniman2
07-31-2015, 02:54 AM
Hi all,

we configured a Windows 7 / 64 system with 14(!) HD monitores attached, and when we open two OpenGL windows with the size 13440x1080 Aero turns off and there is visible tearing. We use 2x W8100 as graphics boards. Forcing VSYNC and triple buffering in the Catalyst Control Center CCC does not solve the tearing problem. A quick check with process explorer showed there should be suficient GPU memory.

Does anyone know if there is an OpenGL window size limit for Aero? Is there some magic switch / registry setting to increase this limit?
Best,
Henniman

Dark Photon
07-31-2015, 08:01 PM
we configured a Windows 7 / 64 system with 14(!) HD monitores attached, and when we open two OpenGL windows with the size 13440x1080 Aero turns off and there is visible tearing.

We use 2x W8100 as graphics boards. Forcing VSYNC and triple buffering in the Catalyst Control Center CCC does not solve the tearing problem. A quick check with process explorer showed there should be suficient GPU memory.

Does anyone know if there is an OpenGL window size limit for Aero? Is there some magic switch / registry setting to increase this limit?

Are your GPU outputs framelocked together (all video frame scan-outs are in-phase)? Sometimes this is called genlock, but genlock is actually a more stringent requirement. If not, then this situation is nonsensical.

Are you sure having one window spanning multiple monitors is the AMD recommended way to take advantage of multiple genlocked GPUs? (It may be; I don't know.) Check the AMD manuals and forums to be sure.

For more reading about this, this looks relevant to your situation:

* https://www.amd.com/Documents/W8100-user-guide.pdf

Have you selected a Windows 7 Basic theme to disable the performance-wasting compositor (Aero/DWM) When enabled, the compositor typically owns VSync and all rendering to the screen. Other options: link (http://www.sevenforums.com/tutorials/127411-desktop-composition-enable-disable.html)

Do your windows fill the screen? Sometimes you can get the compositor (if enabled) to give you VSync behavior if your window is full-screen.

(Related: Allegedly there was an Microsoft update back in Feb 2013 that took control away your ability to disable the compositor.)

(An aside: Synchronizing OpenGL rendering with VSync on Linux is so easy. But ever since Vista when Aero/DWM were inflicted on the user base, it's getting to be more and more a pain on Windows.)

henniman2
08-26-2015, 10:03 AM
Hi all,
Does anyone know if there is an OpenGL window size limit for Aero? Is there some magic switch / registry setting to increase this limit?

I think i found an answer to the aero problem here:
https://support.microsoft.com/en-us/kb/2724530

But this certainly does not answer the ATI issues
that appear when enforcing VSYNC with very large
windows.

Best
Henniman

page3d
09-03-2015, 03:36 PM
Hi all,

we configured a Windows 7 / 64 system with 14(!) HD monitores attached, and when we open two OpenGL windows with the size 13440x1080 Aero turns off and there is visible tearing. We use 2x W8100 as graphics boards. Forcing VSYNC and triple buffering in the Catalyst Control Center CCC does not solve the tearing problem. A quick check with process explorer showed there should be suficient GPU memory.

Does anyone know if there is an OpenGL window size limit for Aero? Is there some magic switch / registry setting to increase this limit?
Best,
Henniman

Hi, Henniman,

My personal experience is as follows. I don't have any documentation (other than MSDN resource limits of Direct3D, here (https://msdn.microsoft.com/en-us/library/windows/desktop/ff819065(v=vs.85).aspx)).

The Aero limits (I believe) are the limits of Direct3D since the compositing engine treats the desktop as a texture.

- For Direct3D 10, that means the desktop can have any one dimension of 8K pixels with a total of 128M pixels. In other words, you can have a Desktop of 8K x N or N x 8K where N*8K < 128 M.

- For Direct3D 11, these numbers grow to 16K pixels for any one dimension but with the same 128M pixels total. (Again, playing the limits game of 16K x M or M x 16K where M*16K < 128M.

If you turn Aero off and use the classic desktop with no compositing, I have been able to go beyond 16K. I have read somewhere (can't remember the link) that the WinXP desktop limit is 32K. I have yet to be able to test that limit in any one dimension, yet. :)

I hope this post is helpful. Good luck.