wine-wine/dlls/winemac.drv
Ken Thomases b4fc81bdf2 winemac: Stop the CVDisplayLink when there are no more changes to flush.
The change to a CVDisplayLink-driven display mechanism introduced a problem: a
Wine process never went completely idle for long periods.  The display link
would fire for every refresh cycle of the display, waking a CPU from idle and
wasting energy.

To fix that, I have the display link stop itself when it determines that none
of its windows need to be displayed.  When a window is subsequently marked as
needing display, it either temporarily re-enables Cocoa's normal autodisplay
mechanism so that it displays at the end of the current turn of the run loop,
or it restarts the display link.  It chooses the former if it's been a long
time since the window was last displayed so that the display is done more
immediately.

Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-10 11:58:42 +09:00
..
.gitattributes
Makefile.in winemac: Use CVDisplayLink to limit window redrawing to the display refresh rate. 2015-11-06 23:20:29 +09:00
clipboard.c
cocoa_app.h
cocoa_app.m winemac: Cope with multiple seemingly-identical display modes, only some of which work, by trying them in sequence. 2015-11-03 13:48:11 +09:00
cocoa_clipboard.m winemac: Remove JPEG 2000 from the bitmap formats that other bitmap formats can be converted to. 2015-10-08 13:07:52 +09:00
cocoa_display.m
cocoa_event.h
cocoa_event.m
cocoa_main.m
cocoa_opengl.h
cocoa_opengl.m winemac: Add a new registry setting, OpenGLSurfaceMode, to control how GL surfaces relate to the window. 2015-09-15 16:59:03 +09:00
cocoa_status_item.m
cocoa_window.h winemac: Stop the CVDisplayLink when there are no more changes to flush. 2015-11-10 11:58:42 +09:00
cocoa_window.m winemac: Stop the CVDisplayLink when there are no more changes to flush. 2015-11-10 11:58:42 +09:00
display.c winemac: Fix how the user's default display mode is determined. 2015-10-27 21:43:31 +09:00
dragdrop.c
event.c winemac: Queue an event to reassert the WinAPI window position before Cocoa adjusts its position for a display change. 2015-10-06 17:21:01 +09:00
gdi.c
image.c
ime.c
keyboard.c
macdrv.h winemac: Queue an event to reassert the WinAPI window position before Cocoa adjusts its position for a display change. 2015-10-06 17:21:01 +09:00
macdrv_cocoa.h winemac: Queue an event to reassert the WinAPI window position before Cocoa adjusts its position for a display change. 2015-10-06 17:21:01 +09:00
macdrv_main.c winemac: Add a new registry setting, OpenGLSurfaceMode, to control how GL surfaces relate to the window. 2015-09-15 16:59:03 +09:00
mouse.c
opengl.c winemac: Add a new registry setting, OpenGLSurfaceMode, to control how GL surfaces relate to the window. 2015-09-15 16:59:03 +09:00
surface.c
systray.c
window.c winemac: Queue an event to reassert the WinAPI window position before Cocoa adjusts its position for a display change. 2015-10-06 17:21:01 +09:00
winemac.drv.spec