Title: [120803] trunk/Source/WebKit/gtk
Revision
120803
Author
[email protected]
Date
2012-06-19 22:51:07 -0700 (Tue, 19 Jun 2012)

Log Message

Refine syncLayersTimeoutCallback for Accelerated Compositing.
https://bugs.webkit.org/show_bug.cgi?id=89538

Patch by Chang Wan Hong <[email protected]> on 2012-06-19
Reviewed by Martin Robinson.

syncLayersTimeout reschedules the timer so that it can render each frame
every 1/60 seconds on animation. However, because it takes to time to execute
renderLayersToWindow, the timer is delayed. To fix this, we must reschedule
the timer before calling renderLayersToWindow.

* WebCoreSupport/AcceleratedCompositingContextGL.cpp:
(WebKit::AcceleratedCompositingContext::syncLayersTimeout):

Modified Paths

Diff

Modified: trunk/Source/WebKit/gtk/ChangeLog (120802 => 120803)


--- trunk/Source/WebKit/gtk/ChangeLog	2012-06-20 05:40:07 UTC (rev 120802)
+++ trunk/Source/WebKit/gtk/ChangeLog	2012-06-20 05:51:07 UTC (rev 120803)
@@ -1,3 +1,18 @@
+2012-06-19  Chang Wan Hong  <[email protected]>
+
+        Refine syncLayersTimeoutCallback for Accelerated Compositing.
+        https://bugs.webkit.org/show_bug.cgi?id=89538
+
+        Reviewed by Martin Robinson.
+
+        syncLayersTimeout reschedules the timer so that it can render each frame
+        every 1/60 seconds on animation. However, because it takes to time to execute
+        renderLayersToWindow, the timer is delayed. To fix this, we must reschedule
+        the timer before calling renderLayersToWindow.
+
+        * WebCoreSupport/AcceleratedCompositingContextGL.cpp:
+        (WebKit::AcceleratedCompositingContext::syncLayersTimeout):
+
 2012-06-19  Sergio Villar Senin  <[email protected]>
 
         Calling nativeImageForCurrentFrame() causes assertion failure: m_verifier.isSafeToUse()

Modified: trunk/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp (120802 => 120803)


--- trunk/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp	2012-06-20 05:40:07 UTC (rev 120802)
+++ trunk/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp	2012-06-20 05:51:07 UTC (rev 120803)
@@ -189,10 +189,10 @@
     if (!m_rootGraphicsLayer)
         return;
 
-    renderLayersToWindow(0, IntRect());
-
     if (toTextureMapperLayer(m_rootGraphicsLayer.get())->descendantsOrSelfHaveRunningAnimations())
         m_syncTimerCallbackId = g_timeout_add_full(GDK_PRIORITY_EVENTS, 1000.0 / 60.0, reinterpret_cast<GSourceFunc>(syncLayersTimeoutCallback), this, 0);
+
+    renderLayersToWindow(0, IntRect());
 }
 
 void AcceleratedCompositingContext::notifyAnimationStarted(const GraphicsLayer*, double time)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to