1. 13 Jul, 2018 2 commits
  2. 17 Nov, 2015 1 commit
  3. 06 Nov, 2015 1 commit
    • Ken Thomases's avatar
      winemac: Use CVDisplayLink to limit window redrawing to the display refresh rate. · 3beec95a
      Ken Thomases authored
      Some Windows apps cause user32 to flush the window surface much faster than the
      display refresh rate.  The Mac driver only marks its window as needing to be
      redrawn and lets Cocoa decide how often to actually redraw.  Unfortunately,
      Cocoa redraws each time through the run loop and, since the Mac driver uses a
      run loop source to convey messages from background threads to the main thread,
      it redraws after every batch of messages.
      
      On some versions of OS X, this excessive drawing provokes synchronization with
      the window server's buffer swaps, preventing the main thread from being
      responsive.  Even when that doesn't happen, it's wasteful.
      
      So, we set our windows' autodisplay property to false so that Cocoa never
      displays windows itself.  Then, we arrange to call -displayIfNeeded once per
      display refresh cycle using a CVDisplayLink.  We maintain one CVDisplayLink per
      display (on demand), move windows among them as the windows change screens,
      start them when they acquire their first window, and stop them when they have
      none left.
      Signed-off-by: 's avatarKen Thomases <ken@codeweavers.com>
      Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
      3beec95a
  4. 02 Jan, 2014 1 commit
  5. 22 Apr, 2013 1 commit
  6. 19 Apr, 2013 1 commit
  7. 29 Mar, 2013 1 commit
  8. 25 Mar, 2013 2 commits
  9. 14 Mar, 2013 1 commit
  10. 11 Mar, 2013 1 commit
  11. 06 Mar, 2013 1 commit
  12. 05 Mar, 2013 1 commit
  13. 05 Feb, 2013 2 commits
  14. 28 Jan, 2013 1 commit
  15. 21 Jan, 2013 2 commits
  16. 15 Jan, 2013 1 commit
  17. 09 Jan, 2013 3 commits
  18. 08 Jan, 2013 1 commit
  19. 26 Dec, 2012 1 commit
  20. 21 Dec, 2012 1 commit
  21. 17 Dec, 2012 2 commits
  22. 19 Sep, 2010 1 commit
  23. 21 Jul, 2010 1 commit
  24. 16 Mar, 2010 1 commit
  25. 27 Oct, 2006 1 commit
  26. 28 Sep, 2006 1 commit
  27. 14 Sep, 2006 1 commit
  28. 29 Jun, 2006 1 commit
  29. 20 Feb, 2004 1 commit
  30. 11 Oct, 2003 1 commit
  31. 30 Jun, 2003 1 commit
  32. 17 May, 2002 1 commit
  33. 11 May, 2002 1 commit