[Webkit-unassigned] [Bug 101508] [EFL][WK2] Add API to limit number of compositing layers for mobile devices.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Nov 8 09:09:36 PST 2012


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





--- Comment #5 from Noam Rosenthal <noam.rosenthal at nokia.com>  2012-11-08 09:11:09 PST ---
(In reply to comment #4)
> (In reply to comment #3)
> I was going to do memory limit as a separate patch, but may be there is better approach to do this instead of 2 different limits?

Probably turn compositing off altogether in low memory conditions.

> >Also when you hit this limit you'r breaking page rendering, because your z-ordering will be incorrect, 
> 
> I don't get it. Can it render correctly on single layer like in case when compositing is switched off? So far pages I've tried display normally, just work slower if they have some animations.

Problem is that if you create a compositing layer, a layer overlapping it and on top also has to be composited, otherwise it would appear in the wrong z-order. You should look at RenderLayerCompositor::requiresCompositingForIndirectReason and friends.

> 
> > and you'll fail to make compositing layers for things like video and 3d that require it.
> 
> IMHO, if device cannot handle all layers on the page should we really care about fancy things like video and 3d? The target is just to be able to show page readable in somewhat degraded mode. A lot of things work much slower in this mode because require layer image/texture updates. Of course if video and even 3d work that would be great, but I don't think it can be done correctly in all cases. For example, if video has some overlay on top and page switches do degraded mode, than we do layer for video and overlay will stay behind the video.

That's exactly why the layer-limit approach is broken. If you don't want "fancy" video and 3d you should just disable them and not create broken layer configurations.

I would say that perhaps the way to go about this is to dynamically modify the allowedCompositingTriggers on your ChromeClient based on memory conditions.

-- 
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