On Nov 11, 2014, at 1:19 PM, Patrick Walton <pcwal...@mozilla.com> wrote:
> 
> On 11/11/14 1:02 PM, Robert O'Callahan wrote:
>> https://github.com/servo/servo/wiki/Workweek-rasterization
>> 
>> We talked about writing our own rasterizer, which makes sense because web
>>> pages only render solid colored rectangles, image, and display text.
>>> 
>> 
>> No. SVG, border-radius (rounded borders plus clipping to rounded shapes),
>> complex border styles, box-shadows and text-shadows are all commonly used,
>> and their performance matters. Plus you want to be able to rasterize these
>> precisely under arbitrary 2D affine transforms.
> 
> I think that this was probably mistranscribed and/or missing context. I 
> wasn't in this meeting, but I would assume that this was talking about Servo 
> at an earlier stage of development, when people were thinking about writing a 
> rasterizer just to see what the performance would be. We have a box-shadow PR 
> and a work-in-progress border-radius implementation, after all.

Yes, it seems that there was something missing in the transcription. I was 
making the point that writing a rasterizer is so tempting because the features 
used by web content that Servo currently supports wouldn’t be too difficult to 
implement. Other CSS features, Canvas, SVG, etc. mean that you quickly need to 
support the full gamut.

> Incidentally, I see no reason to move away from Azure, given how nice 
> Direct2D is on Windows. 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 and the security track record of Azure/Moz2D 
> is, based on my analysis, much better than that of (for example) layout or 
> the DOM. As I said earlier, I wasn't in this meeting and I do not think that 
> we should make any architectural decisions as a result of it.

The point about moving away from Azure is that we pay a cost for using Skia via 
Azure, but don’t get anything for it; none of the alternative backends actually 
work. We have to import a lot of code outside of Azure proper in order to make 
Azure work, and we had to add Skia-specific surface handling support. As Martin 
commented, this adds a decent amount of administrative overhead. As far as I 
can tell, the only reason to keep doing this would be the hope that one of the 
non-Skia backends is useful to us in the future.

Cameron
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to