Performance gap between Chromium and IE10 for CSS Animations using CSS 2D transform methods

103 views
Skip to first unread message

Sean Yang

unread,
Nov 12, 2012, 3:28:22 AM11/12/12
to chromium...@chromium.org, vang...@chromium.org, da...@chromium.org, jam...@chromium.org, en...@chromium.org
Recently I found a performance gap between Chromium and IE10 for CSS Animations using CSS 2D transform methods, say PerfMarks benchmark (see attched PerfMarks.zip or visit  https://github.com/sibblingz/PerfMarks). This benchmark simply call CSS3 2D transform methods continually to make the animations. However, Chromium gets poor scores for CSS3 2D transforms category (see attached ReleaseSoftware.jpg) compared with IE10 (see attached IE10.jpg). After diving into its internally, I found that Chromium would only use software rendering for all CSS3 2D transforms (This would probably be turned into a WebKit design limits). If we create a separate compositing layer for those 2D transforms thus enable the accelerated compositing, the performance would boot a lot and could be comparable with IE10 (see attached ReleaseAccelerated.jpg).
I noticed some similar issue was reported with untriaged (Issue 80173),  and I am wondering if we could do some improvement for Chromium to  eliminate the gaps.
As it for me, I have 2 rough proposals for this case:
1. Check if Chromium calls CSS 2D transform methods continually, and create a separate compositing layer for the transformation while the answer is true. 
2. Post a task ( like -webkit-transform: translate3d(0,0,0)) ) to the queue to create the separate compositing layer.
Since I am new to Chromium, I am wondering if the above 2 proposals are available. And I would like to submit a patch if either of the answer is yes. :)
Or could you guys kindly help to provide me more information about this case for me? 
Looking forward to your comments and thanks in advance!
ReleaseSoftware.jpg
IE10.jpg
ReleaseAccelerated.jpg
PerfMarks.zip
Reply all
Reply to author
Forward
0 new messages