Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 9 of 9

Thread: broken window refresh in Vista

  1. #1
    Intern Newbie
    Join Date
    Sep 2006
    Location
    Prague, Czech Republic
    Posts
    36

    broken window refresh in Vista

    OpenGL applications based on wxWidgets, FreeGLUT and possibly other toolkits are broken in Vista, simple alt-tab alt-tab corrupts rendered image, parts that were NOT overlapped by other window are no longer refreshed. Applications based on GLUT don't have this problem.

    Has anyone a clue what's wrong (in all wxWidgets, FreeGLUT apps), why Vista clips rendered image so that parts of it are not displayed?

    For reference, my wxWidgets bugreport http://trac.wxwidgets.org/ticket/10168

  2. #2
    Senior Member OpenGL Pro
    Join Date
    Sep 2004
    Location
    Prombaatu
    Posts
    1,386

    Re: broken window refresh in Vista

    You might also want to include the Vista flavor (32 or 64), any service packs, plus your video hardware and drivers.

  3. #3
    Intern Newbie
    Join Date
    Sep 2006
    Location
    Prague, Czech Republic
    Posts
    36

    Re: broken window refresh in Vista

    Vista x64 SP1 (Home Premium EN)
    Tested with (randomly picked out of 15 cards):
    - Radeon HD2400, driver 8.10
    - GeForce 7100, driver 178.24

  4. #4
    Intern Newbie
    Join Date
    Sep 2006
    Location
    Prague, Czech Republic
    Posts
    36

    Re: broken window refresh in Vista

    Overview of affected systems:

    OS: Vista (not XP)
    Color scheme: Windows Vista Basic, Windows Classic or Windows Standard (not Windows Aero)
    Toolkit: wxWidgets or FreeGLUT (not GLUT)
    GPU: any
    GPU driver: any

    New finding is that Aero is not affected.

  5. #5
    Intern Newbie
    Join Date
    Sep 2006
    Location
    Prague, Czech Republic
    Posts
    36

    Re: broken window refresh in Vista

    Is it serious Vista bug? Serious limitation of OpenGL driver model? Can anyone confirm/deny it?

    Updated overview of affected systems:

    OS: Vista (not XP)
    Color schemes: Windows Vista Basic, Windows Classic, Windows Standard (not Windows Aero)
    Toolkits: all tested (Qt, wxWidgets, FreeGLUT, GLUT)
    GPUs: all tested (GeForce, Radeon)
    GPU drivers: all tested

    New findings are

    1)
    Qt apps are affected too, moving other window over Qt app corrupts OpenGL rendering
    (it's the same for wxWidgets and FreeGLUT)
    (popup is from Thunderbird, but I tried other windows too. corruption was less frequent with some other windows)


    2)
    GLUT apps are affected too, but in a different way. GLUT app is never corrupted, but moving other window over GLUT app makes glut render into decorations of the other window

  6. #6
    Junior Member Newbie
    Join Date
    Apr 2009
    Posts
    2

    Re: broken window refresh in Vista

    Did you ever resolve this problem?

    We have exactly the same problem - corrupt window refresh under Vista, but only in compatibility mode, not with Aero. Also, we have noticed that it happens with ATI or Intel graphics, but not with NVidia.

    This is a pretty serious problem, because it basically means that OpenGL is broken under Vista, unless you use NVidia. We just can't require all users to switch Aero on.

    Any suggestions?

  7. #7
    Intern Newbie
    Join Date
    Sep 2006
    Location
    Prague, Czech Republic
    Posts
    36

    Re: broken window refresh in Vista

    The only improvement I see (after 1/2 year) is that main problem, seriously broken window update, probably no longer affects Nvidia, I confirm your finding.
    I don't have all toolkits at hand to test, but it looks ok with wxWidgets.

    Minor problem on second screenshot (rendering into windows of other applications) is still present also on Nvidia, current driver 182.50.

  8. #8
    Junior Member Newbie
    Join Date
    Apr 2009
    Posts
    2

    Re: broken window refresh in Vista

    I wonder if this is fixed in Windows 7 ...

    If anybody has experience, please let us know.

  9. #9
    Junior Member Newbie
    Join Date
    Jan 2010
    Posts
    16

    Re: broken window refresh in Vista

    This bug might be caused the the invalidation region given by the WM_Paint command. The invalidation region tends to stay stuck in the DC, causing nothing to be drawn outside of the area of the window which was overlapping yours.

    After receiving a wm_paint command, I used the following:

    getwindowRect(H_Wnd, R);
    invalidateRect(h_wnd, @R, false);
    BeginPaint...
    Drawing Procedure
    EndPaint

    Effectively setting the invalidation region to the whole window. If you don't respond to WM_Paint messages at all(by leaving them to go to the Default Window Procedure), this glitch never occurs. This might explain why GLUT does not have a problem, as it's drawing process may not use WM_Paint at all.

    Hope it works for you..

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •