[Webkit-unassigned] [Bug 56156] Add setting to always force compositing mode

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Mar 14 17:47:28 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=56156





--- Comment #4 from Daniel Sievers <sievers at google.com>  2011-03-14 17:47:28 PST ---
> 
> Not a huge fan of the "alwaysEnterCompositing" name (mostly the word "enter"). Possible alternative names that come to mind: alwaysEnableCompositingMode, alwaysUseCompositing, forceCompositingMode, ...
> 

'forceCompositingMode' it is! The 'force' naming is already used on some other options, and I find it clearer than 'always enable' (with the existing 'enableHardwareAcceleratedCompositing' and such).


> > Source/WebCore/rendering/RenderLayerCompositor.cpp:114
> > +    if (settings && settings->alwaysEnterCompositing()) {
> 
> We also need to test for m_hasAcceleratedCompositing.  That value is not available at the time the constructor gets called.  Things work fine since there's a check at the end of updateCompositingLayers but it seems somewhat inefficient to go ahead and do all the work, create the GraphicsLayer tree and then gut it all out of compositing isn't supported.


Ok, I added a check for settings->acceleratedCompositingEnabled() in the constructor...




> Should this logic maybe move from the constructor to the top of updateCompositingLayers() ?
> 


... and I thought about this, but I think it's more bullet-proof to create the root platform layer in the constructor, just for the however slight chance that we might not call updateCompositingLayer() somehow. Also note that the existance of the root platform layer is used in WebView to decide whether compositing is on (m_isAcceleratedCompositingActive).


> > Source/WebCore/rendering/RenderLayerCompositor.cpp:725
> > +    if (!m_alwaysEnterCompositing || m_renderView->document()->frame()->tree()->parent()) {
> 
> Instead of replicating the test for child frames here (which could be fragile if other conditions get added), you could possibly only set m_alwaysEnterCompositing to true in the constructor if your're not dealing with the child frames.


Good point, done.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list