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.
It also detected and resolved by your idea with Qt port.
So, is this patch useful? Should I updated it with ChangeLog info and ask for review?
(In reply to comment #2) > So, is this patch useful? Should I updated it with ChangeLog info and ask for review? Yes please!
Created attachment 209793 [details] Patch
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;
Comment on attachment 209793 [details] Patch Clearing flags on attachment: 209793 Committed r154711: <http://trac.webkit.org/changeset/154711>
All reviewed patches have been landed. Closing bug.
(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.