RESOLVED FIXED 102309
Coordinated Graphics: A Minor optimization of calculating transforms in CoordinagedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=102309
Summary Coordinated Graphics: A Minor optimization of calculating transforms in Coord...
Dongseong Hwang
Reported 2012-11-14 17:59:24 PST
We calculate an inverse transform each tiledBackingStoreVisibleRect() call by a TiledBackingStore and every tiles. This patch caches the inverse transform to reuse it.
Attachments
Patch (3.74 KB, patch)
2012-11-14 18:00 PST, Dongseong Hwang
no flags
Patch (3.82 KB, patch)
2012-11-15 03:15 PST, Dongseong Hwang
no flags
Patch (3.82 KB, patch)
2012-11-15 16:24 PST, Dongseong Hwang
no flags
Dongseong Hwang
Comment 1 2012-11-14 18:00:46 PST
Kenneth Rohde Christiansen
Comment 2 2012-11-14 23:36:59 PST
Comment on attachment 174304 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=174304&action=review > Source/WebKit2/ChangeLog:8 > + We calculate an inverse transform each tiledBackingStoreVisibleRect() call by > + a TiledBackingStore and every tiles. > + This patch caches the inverse transform to reuse it. anyway we can assert to make sure it is always updated before use?
Dongseong Hwang
Comment 3 2012-11-15 03:15:57 PST
Dongseong Hwang
Comment 4 2012-11-15 03:16:41 PST
Comment on attachment 174304 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=174304&action=review >> Source/WebKit2/ChangeLog:8 >> + This patch caches the inverse transform to reuse it. > > anyway we can assert to make sure it is always updated before use? Thanks for review! That's good idea! I'll update.
Dongseong Hwang
Comment 5 2012-11-15 03:17:00 PST
(In reply to comment #3) > Created an attachment (id=174391) [details] > Patch Add ASSERT :)
Kenneth Rohde Christiansen
Comment 6 2012-11-15 04:45:24 PST
Comment on attachment 174391 [details] Patch Do you have any performance data? like how much of an improvement is it? We normally require that
kov's GTK+ EWS bot
Comment 7 2012-11-15 10:15:40 PST
Dongseong Hwang
Comment 8 2012-11-15 16:19:12 PST
(In reply to comment #6) > (From update of attachment 174391 [details]) > Do you have any performance data? like how much of an improvement is it? We normally require that Fortunately, I can get the data in my machine (Intel® Xeon(R) CPU X5650 @ 2.67GHz × 6). In morphing cubes demo (https://www.webkit.org/blog-files/3d-transforms/morphing-cubes.html), when we push "toggle shape" button, CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect() is called. At the moment, CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly() takes 118ns. CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect() taske 65ns. It means inverse transform takes 55% of times during whole CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly() process. Inverse transform is heavier than what I expected. However, this patch does not improve morphing cubes demo's performance because all layers have just one tile. If we have large layers with 3d transform animation, this patch increase performance fairly.
Dongseong Hwang
Comment 9 2012-11-15 16:24:13 PST
Dongseong Hwang
Comment 10 2012-11-15 16:25:01 PST
patch due to flaky gtk ews fail.
WebKit Review Bot
Comment 11 2012-11-15 17:22:37 PST
Comment on attachment 174548 [details] Patch Clearing flags on attachment: 174548 Committed r134868: <http://trac.webkit.org/changeset/134868>
WebKit Review Bot
Comment 12 2012-11-15 17:22:41 PST
All reviewed patches have been landed. Closing bug.
Dongseong Hwang
Comment 13 2012-11-15 17:24:48 PST
Thank Kenneth and noam for review! :)
Note You need to log in before you can comment on or make changes to this bug.