Re: [dev-servo] Moz2D/Skia (meeting notes)
Well, depends on what you call a layer tree. Currently a layer tree is mostly a tree of intermediate surface that you render into, right? It's not a tool describe the content you want to rasterize (with the exception of color layers). Our layer tree is about where you rasterize content rather than how (mostly). The gtk folks call the layer tree they are working on a scenegraph (but honestly I wouldn't call it that) so I suppose we need to be sure we talk about the same things. If a layer tree starts having things like shape layers, text layers, etc. then it becomes closer to what I call a scenegraph. On Wed, Nov 12, 2014 at 3:08 AM, Robert O'Callahan wrote: > On Wed, Nov 12, 2014 at 2:49 PM, Nicolas Silva > wrote: > >> If you guys ever have the resource to roll your own rasterizer, I would >> strongly suggest that you don't build an immediate mode api, and craft a >> more gpu-friendly scenegraph instead. >> To be honest I think that there is a lot of potential for improvement over >> what most browsers do today when it comes to rasterization. It's an >> interesting topic and I'd be happy to chat about it in Portland, and you >> guys should also talk with Bas and Cedric Bail if you haven't yet (Cedric >> doesn't work for Mozilla but he's got some interesting stuff to say about >> 2d scenegraphs, and was interested in getting in touch with the servo team >> about this). I could go on about that stuff for hours so I'll propose the >> people who are interested in this gather and chat informally about it over >> a beer in Portland maybe, if only to exchange a bit about our latest >> issues >> we've had in gecko. >> > > I'd like to talk about that too. I don't yet understand how "gpu-friendly > scenegraph" differs from "layerize all the things!" :-) > > Rob > -- > oIo otoeololo oyooouo otohoaoto oaonoyooonoeo owohooo oioso oaonogoroyo > owoiotoho oao oboroootohoeoro oooro osoiosotoeoro owoiololo oboeo > osouobojoeocoto otooo ojouodogomoeonoto.o oAogoaoiono,o oaonoyooonoeo > owohooo > osoaoyoso otooo oao oboroootohoeoro oooro osoiosotoeoro,o o‘oRoaocoao,o’o > oioso > oaonosowoeoroaoboloeo otooo otohoeo ocooouoroto.o oAonodo oaonoyooonoeo > owohooo > osoaoyoso,o o‘oYooouo ofolo!o’o owoiololo oboeo oiono odoaonogoeoro > ooofo > otohoeo ofoioroeo ooofo ohoeololo. > ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo
Re: [dev-servo] Moz2D/Skia (meeting notes)
> On Nov 11, 2014, at 4:55 PM, Andreas Gal wrote: > > Does anyone have profiling numbers that Azure on top of Skia has a measurable > performance overhead? The overhead referred to here is administrative overhead. We pull in other pieces of Gecko outside of Azure proper in order to use Azure in Servo. We also needed to create APIs to get at the native surfaces backing Azure’s Skia render targets. Upgrading this modified Azure has been causing some difficulties, as Martin discussed in his post. Perhaps the right lesson to be learned here is that we should make it possible for Servo to use Azure without any additional pieces from Gecko, and to expose native surfaces backing Azure draw targets in a more uniform way. Cameron ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo
Re: [dev-servo] Moz2D/Skia (meeting notes)
> We pull in other pieces of Gecko outside of Azure proper in order to use > Azure in Servo. As I remember, this is unintentional. Azure is now hosted out of tree and shouldn't have this problem anymore, although I haven't checked. I talked to Bas about this last October because at that time I had recently done an Azure upgrade and had to redo all the headers because XPCOM had snuck into it. Perhaps this can now be fixed? jack. ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo
Re: [dev-servo] Moz2D/Skia (meeting notes)
> Incidentally, I see no reason to move away from Azure, given how nice > Direct2D is on Windows. Chrome uses Skia on windows right? So this apparently isn't a big enough win for them to justify a wrapper. I'm guessing they use ANGLES there. I think the assumption in the room was that we could conceivably do what they are doing. There is perhaps performance overhead in using Azure and performance overhead in using ANGLES. Those numbers would have to factor into the decision, and I don't think we know what they are beyond Azure being acceptable for Gecko. > Nor do I think that it realistically makes sense to > write our own rasterizer, given that we have no reason to believe that we'll > do better than Direct2D/Skia-GL Several people appear to disagree with this, including Nicolas Silva later in this thread: "To be honest I think that there is a lot of potential for improvement over what most browsers do today when it comes to rasterization." In fact, I'd say the only reason this is coming up for discussion is that people have reason to believe this could be a net win somehow. I'd like to set up some kind of follow up discussion on this topic with a more complete participant list while we're all in Portland. jack. ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo
Re: [dev-servo] Moz2D/Skia (meeting notes)
On 11/12/14 12:04 PM, Andreas Gal wrote: We should experiment with parallel software rendering. Using skia on many cores might be faster than using D2D in practice, for example. Andreas Glad to hear you say that, because the first part of that experiment (parallel CPU rendering) is already done and on by default in Servo's master branch. :) All we'd need is the D2D backend to compare it to. Patrick ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo
Re: [dev-servo] Moz2D/Skia (meeting notes)
>> We should experiment with parallel software rendering. Using skia on >> many cores might be faster than using D2D in practice, for example. > > Glad to hear you say that, because the first part of that experiment > (parallel CPU rendering) is already done and on by default in Servo's master > branch. :) All we'd need is the D2D backend to compare it to. I don't know that there is a blocker to using other Azure backends right now, but it doesn't work for some reason. I'm not sure if anyone has investigated yet. Obivously for Direct2D there is the matter of getting a Windows port up and running. jack. ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo
Re: [dev-servo] Moz2D/Skia (meeting notes)
We should experiment with parallel software rendering. Using skia on many cores might be faster than using D2D in practice, for example. Andreas > On Nov 12, 2014, at 12:02 PM, Jack Moffitt wrote: > >> Incidentally, I see no reason to move away from Azure, given how nice >> Direct2D is on Windows. > > Chrome uses Skia on windows right? So this apparently isn't a big > enough win for them to justify a wrapper. I'm guessing they use ANGLES > there. I think the assumption in the room was that we could > conceivably do what they are doing. > > There is perhaps performance overhead in using Azure and performance > overhead in using ANGLES. Those numbers would have to factor into the > decision, and I don't think we know what they are beyond Azure being > acceptable for Gecko. > >> Nor do I think that it realistically makes sense to >> write our own rasterizer, given that we have no reason to believe that we'll >> do better than Direct2D/Skia-GL > > Several people appear to disagree with this, including Nicolas Silva > later in this thread: "To be honest I think that there is a lot of > potential for improvement over what most browsers do today when it > comes to rasterization." In fact, I'd say the only reason this is > coming up for discussion is that people have reason to believe this > could be a net win somehow. > > I'd like to set up some kind of follow up discussion on this topic > with a more complete participant list while we're all in Portland. > > jack. > ___ > dev-servo mailing list > dev-servo@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-servo ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo
Re: [dev-servo] Moz2D/Skia (meeting notes)
There are easier ways to compare. D2D is something like 40% faster than software (Bas, is that the right ballpark?). So if you get a 2x+ speedup with concurrent software rendering, you win. Thanks, Andreas > On Nov 12, 2014, at 12:08 PM, Jack Moffitt wrote: > >>> We should experiment with parallel software rendering. Using skia on >>> many cores might be faster than using D2D in practice, for example. >> >> Glad to hear you say that, because the first part of that experiment >> (parallel CPU rendering) is already done and on by default in Servo's master >> branch. :) All we'd need is the D2D backend to compare it to. > > I don't know that there is a blocker to using other Azure backends > right now, but it doesn't work for some reason. I'm not sure if anyone > has investigated yet. Obivously for Direct2D there is the matter of > getting a Windows port up and running. > > jack. ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo
Re: [dev-servo] Moz2D/Skia (meeting notes)
On Thu, Nov 13, 2014 at 2:03 AM, Nicolas Silva wrote: > Well, depends on what you call a layer tree. Currently a layer tree is > mostly a tree of intermediate surface that you render into, right? It's not > a tool describe the content you want to rasterize (with the exception of > color layers). > And ImageLayers... > Our layer tree is about where you rasterize content rather than how > (mostly). The gtk folks call the layer tree they are working on a > scenegraph (but honestly I wouldn't call it that) so I suppose we need to > be sure we talk about the same things. If a layer tree starts having things > like shape layers, text layers, etc. then it becomes closer to what I call > a scenegraph. > It's clear we could cleanly extend our current rendering approach with layers directly rendering more kinds of content. I'm keen to understand when and why this would be profitable. But I think that's offtopic for this thread. Rob -- oIo otoeololo oyooouo otohoaoto oaonoyooonoeo owohooo oioso oaonogoroyo owoiotoho oao oboroootohoeoro oooro osoiosotoeoro owoiololo oboeo osouobojoeocoto otooo ojouodogomoeonoto.o oAogoaoiono,o oaonoyooonoeo owohooo osoaoyoso otooo oao oboroootohoeoro oooro osoiosotoeoro,o o‘oRoaocoao,o’o oioso oaonosowoeoroaoboloeo otooo otohoeo ocooouoroto.o oAonodo oaonoyooonoeo owohooo osoaoyoso,o o‘oYooouo ofolo!o’o owoiololo oboeo oiono odoaonogoeoro ooofo otohoeo ofoioroeo ooofo ohoeololo. ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo