WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
CLOSED FIXED
120012
100% cpu usage for "transition: opacity" animation
https://bugs.webkit.org/show_bug.cgi?id=120012
Summary
100% cpu usage for "transition: opacity" animation
Luciano Wolf
Reported
2013-08-19 10:01:48 PDT
Created
attachment 209095
[details]
Proposed fix - WIP - doesn't include ChangeLog yet. While running leaves demo, the CPU tops at 100% for WebProcess. Even simple examples like LayoutTests/compositing/repaint/opacity-between-absolute.html does the same. Doing some research I've found that CoordinatedLayerTreeHost::scheduleAnimation() does set a timer for animation and right after that it schedules again the same timer with 0. This behavior could be avoided if we call scheduleLayerFlush() before m_layerFlushTimer.startOneShot(m_coordinator->nextAnimationServiceTime()). I've detected this issue on NIX port, but I wasn't able to compile Qt, GTK or EFL.
Attachments
Proposed fix - WIP - doesn't include ChangeLog yet.
(656 bytes, patch)
2013-08-19 10:01 PDT
,
Luciano Wolf
no flags
Details
Formatted Diff
Diff
Patch
(1.68 KB, patch)
2013-08-27 13:44 PDT
,
Luciano Wolf
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
JeongBong Seo
Comment 1
2013-08-20 15:39:55 PDT
It also detected and resolved by your idea with Qt port.
Luciano Wolf
Comment 2
2013-08-27 12:23:08 PDT
So, is this patch useful? Should I updated it with ChangeLog info and ask for review?
Noam Rosenthal
Comment 3
2013-08-27 12:59:55 PDT
(In reply to
comment #2
)
> So, is this patch useful? Should I updated it with ChangeLog info and ask for review?
Yes please!
Luciano Wolf
Comment 4
2013-08-27 13:44:59 PDT
Created
attachment 209793
[details]
Patch
JeongBong Seo
Comment 5
2013-08-27 15:13:59 PDT
I added a reivew as a comment. (Because, I don't have the auth.) Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:399
> scheduleLayerFlush();
I think, scheduleLayerFlush() at this moment is meaningless. How about erase that and insert below? if(!m_layerFlushSchedulingEnabled) return;
WebKit Commit Bot
Comment 6
2013-08-27 15:22:11 PDT
Comment on
attachment 209793
[details]
Patch Clearing flags on attachment: 209793 Committed
r154711
: <
http://trac.webkit.org/changeset/154711
>
WebKit Commit Bot
Comment 7
2013-08-27 15:22:13 PDT
All reviewed patches have been landed. Closing bug.
Luciano Wolf
Comment 8
2013-08-29 04:10:42 PDT
(In reply to
comment #5
)
> I added a reivew as a comment. (Because, I don't have the auth.) > > Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:399 > > scheduleLayerFlush(); > > I think, scheduleLayerFlush() at this moment is meaningless. > How about erase that and insert below? > > if(!m_layerFlushSchedulingEnabled) > return;
Sorry, I missed your comment among commit messages :) I'll test and provide an updated patch. Thanks for your suggestion.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug