[BlackBerry] Animation & UI lag when rendering
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 24 Aug 2012 17:21:40 +0000 (17:21 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 24 Aug 2012 17:21:40 +0000 (17:21 +0000)
https://bugs.webkit.org/show_bug.cgi?id=94943

Patch by Andrew Lo <anlo@rim.com> on 2012-08-24
Reviewed by Rob Buis.

Schedule a backing store blit & composite when commiting root layer.
This results in compositing not having to wait until after a long render
operation, increasing responsiveness & fixing animations which skip to
the last frame due to lag.

This can cause a blit during a "one shot drawing synchronization", which is
a render & commit on the AC layers, which may result in flashing.
However, this can happen in other situations as well, and we feel that
the responsiveness, reduced lag, and smoothness of animations is
more important.

Internal PR194209
Internally reviewed by: George Staikos.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::commitRootLayer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@126598 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/blackberry/Api/WebPage.cpp
Source/WebKit/blackberry/ChangeLog

index 90c69aa..da07e72 100644 (file)
@@ -5631,6 +5631,8 @@ void WebPagePrivate::commitRootLayer(const IntRect& layoutRectForCompositing,
 
     if (overlayLayer)
         overlayLayer->commitOnCompositingThread();
 
     if (overlayLayer)
         overlayLayer->commitOnCompositingThread();
+
+    scheduleCompositingRun();
 }
 
 bool WebPagePrivate::commitRootLayerIfNeeded()
 }
 
 bool WebPagePrivate::commitRootLayerIfNeeded()
index 031f59f..e5f37f0 100644 (file)
@@ -1,3 +1,27 @@
+2012-08-24  Andrew Lo  <anlo@rim.com>
+
+        [BlackBerry] Animation & UI lag when rendering
+        https://bugs.webkit.org/show_bug.cgi?id=94943
+
+        Reviewed by Rob Buis.
+
+        Schedule a backing store blit & composite when commiting root layer.
+        This results in compositing not having to wait until after a long render
+        operation, increasing responsiveness & fixing animations which skip to
+        the last frame due to lag.
+
+        This can cause a blit during a "one shot drawing synchronization", which is
+        a render & commit on the AC layers, which may result in flashing.
+        However, this can happen in other situations as well, and we feel that
+        the responsiveness, reduced lag, and smoothness of animations is
+        more important.
+
+        Internal PR194209
+        Internally reviewed by: George Staikos.
+
+        * Api/WebPage.cpp:
+        (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
+
 2012-08-24  Parth Patel  <parpatel@rim.com>
 
         [BlackBerry] Changes resulting from moving application directory methods from platform client to platform settings.
 2012-08-24  Parth Patel  <parpatel@rim.com>
 
         [BlackBerry] Changes resulting from moving application directory methods from platform client to platform settings.