[Webkit-unassigned] [Bug 104360] Coordinated Graphics: Separate LayerTreeCoordinator into LayerTreeCoordinator and CompositingCoordinator

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Dec 11 23:22:34 PST 2012


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





--- Comment #14 from Huang Dongsung <luxtella at company100.net>  2012-12-11 23:24:54 PST ---
(In reply to comment #13)
> (In reply to comment #12)
> > I read IRC discussion with noamr and ryumiel. your opinions are very reasonable. I want to stack a bit idea on your opinions.
> > 
> > I prefer keeping three class: CoordinatedLayerTreeHost, CompositingCoordinator and WebCompositingCoordinatorOperations (extends CompositingCoordinatorOperations)
> > 
> > The role description is
> > CoordinatedLayerTreeHost : LayerTreeHost for Coordinated Graphics
> > CompositingCoordinator : Managing the lifecycle, root layer and etc. It will be reused in both WK1 and WK2.
> > CompositingCoordinatorOperations : Operations to communicate with LayerTreeRenderer.
> > WebCompositingCoordinatorOperations : IPC-based CompositingCoordinatorOperations implementaion.
> 
> My issue is mainly with CompositingCoordinatorOperations. I don't like that it's a bunch of virtual functions; instead it should be a list of operations, with a type and parameters, that we encode/decode in WebKit2.
> So, CoordinatedLayerTreeHost and CompositingCoordinator are pretty clear,
> but I would have CoordinatedLayerTreeHost deal with e.g. converting a CoordinatedSurface inside CompositingCoordinatorOperations and converting it to a handle, rather than have an additional WebCompositingCoordinatorOperations class for that.

do you mean that you want template polymorphism instead of class polymorphism. When it comes to how to implement, I does not have concrete idea yet.

However, if we find a solution, we cannot use template polymorphism, because we need to switch WK1's CompositingCoordinatorOperations and WK2's CompositingCoordinatorOperations in runtime, not compile time.
It is because we must compile both implementation together: WK1 will use WebCore's CompositingCoordinatorOperations while WK2 will use WebCompositingCoordinatorOperations.
I think virtual causes some overhead, but I cannot find more feasible solution.

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