servo / webrender

A GPU-based renderer for the web
https://doc.servo.org/webrender/
Mozilla Public License 2.0
3.1k stars 272 forks source link

Tessellate big border corners again #1425

Open pcwalton opened 7 years ago

pcwalton commented 7 years ago

I think this is the problem with moire: when the border code got rewritten, border corners didn't get tessellated. Large border corners should be tessellated along the curve so that they don't needlessly render a whole bunch of transparent pixels.

@glennw (Is this correct?)

trishume commented 7 years ago

link to issue: #1366

The thing about this theory is that the slowness for me is all in the compositor CPU, or at least shows up like that in the profiler, but if I'm understanding correctly your theory would predict slowness in the GPU.

glennw commented 7 years ago

We certainly need to do the tesselation - I suspect that is the problem, but it may not be the only issue. I need to do some profiling to check. @trishume It's possible that it would show up in the compositor CPU profile, since the CPU GL thread would be blocking a lot, since this test would be so GPU limited due to the massive overdraw.