Re: [dev-servo] Moz2D/Skia (meeting notes)

2014-11-12 Thread Nicolas Silva
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)

2014-11-12 Thread Cameron Zwarich
> 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)

2014-11-12 Thread Jack Moffitt
> 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)

2014-11-12 Thread Jack Moffitt
> 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)

2014-11-12 Thread Patrick Walton

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)

2014-11-12 Thread Jack Moffitt
>> 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)

2014-11-12 Thread Andreas Gal
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)

2014-11-12 Thread Andreas Gal

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)

2014-11-12 Thread Robert O'Callahan
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