Title: [113644] trunk/Source/WebCore
Revision
113644
Author
[email protected]
Date
2012-04-09 17:01:02 -0700 (Mon, 09 Apr 2012)

Log Message

[BlackBerry] requestAnimationFrame performance choppy & inconsistent
https://bugs.webkit.org/show_bug.cgi?id=83499

Patch by Andrew Lo <[email protected]> on 2012-04-09
Reviewed by Rob Buis.

Respect m_scheduled & m_previousFrameDone flags like the Mac port of
DisplayRefreshMonitor does.
Internal PR: 147826

requestAnimationFrame already covered by tests in LayoutTests/fast/animation.

* platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
(WebCore::DisplayRefreshMonitor::displayLinkFired):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (113643 => 113644)


--- trunk/Source/WebCore/ChangeLog	2012-04-09 23:58:56 UTC (rev 113643)
+++ trunk/Source/WebCore/ChangeLog	2012-04-10 00:01:02 UTC (rev 113644)
@@ -1,3 +1,19 @@
+2012-04-09  Andrew Lo  <[email protected]>
+
+        [BlackBerry] requestAnimationFrame performance choppy & inconsistent
+        https://bugs.webkit.org/show_bug.cgi?id=83499
+
+        Reviewed by Rob Buis.
+
+        Respect m_scheduled & m_previousFrameDone flags like the Mac port of
+        DisplayRefreshMonitor does.
+        Internal PR: 147826
+
+        requestAnimationFrame already covered by tests in LayoutTests/fast/animation.
+
+        * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
+        (WebCore::DisplayRefreshMonitor::displayLinkFired):
+
 2012-04-09  Luke Macpherson  <[email protected]>
 
         Make CSSValueID's into an enum instead of a collection of integers.

Modified: trunk/Source/WebCore/platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp (113643 => 113644)


--- trunk/Source/WebCore/platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp	2012-04-09 23:58:56 UTC (rev 113643)
+++ trunk/Source/WebCore/platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp	2012-04-10 00:01:02 UTC (rev 113644)
@@ -76,7 +76,11 @@
 {
     MutexLocker lock(m_mutex);
 
-    m_scheduled = false;
+    if (!m_scheduled || !m_previousFrameDone)
+        return;
+
+    m_previousFrameDone = false;
+
     m_timestamp = currentTime();
 
     callOnMainThread(refreshDisplayOnMainThread, this);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to