Reviewed by Kevin Decker.
authortomernic <tomernic@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 15 May 2006 22:18:56 +0000 (22:18 +0000)
committertomernic <tomernic@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 15 May 2006 22:18:56 +0000 (22:18 +0000)
commit47e87867e88812ed4a1c0122547dffaae9223b7e
tree178bb2256a0b87f3f31e48fd11cdbc552517087e
parent844d2e0153b2964e6d9bf5a1c097ac08867d5f8b
    Reviewed by Kevin Decker.

        Follow-up to my previous PLT fix.  I found upon further testing (by dramatically decreasing the
        allowed display rate) that +_webkit_displayThrottledWindows did not always force a display when
        necessary.  The reason is that I was not giving a proper timeout to CFRunLoopRunInMode().  I was
        passing 0, which was causing only "expired" timers to fire.  This method is actually supposed to
        block until all currently scheduled display timers fire.

        I tested this change and found that it did not affect my PLT times when the display rate was
        capped to 60 fps.  It also behaves as expected when the display rate is set much lower (say, 1
        display per second); my previous fix did not work well at such display rates.

        * Misc/WebNSWindowExtras.m:
        (+[NSWindow _webkit_displayThrottledWindows]):
        Run the runloop for an amount of time equal to the minimum allowed interval between displays.
        This ensures that we'll block until all currently scheduled display timers fire (but we won't
        block for future display timers).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14391 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit/ChangeLog
WebKit/Misc/WebNSWindowExtras.m