servo / webrender

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

Too high GPU times on https://www.newegg.com/pc-build-kits #2698

Open mstange opened 6 years ago

mstange commented 6 years ago

Scrolling around in the middle part of https://www.newegg.com/pc-build-kits is not 60fps on macOS in a very large Firefox window on my external HiDPI 5k screen.

glennw commented 6 years ago

The main point that shows up in the profile is the amount of overdraw.

The opaque pass is around 1.22x while the transparent pass is ~2.5x overdraw.

One way that I've been thinking about to deal with this is to ensure we cache pictures that end up having several translucent overlays, so that they are pre-rendered into a surface and we only have to draw them once into the main scene.

I'll need to do some more investigation and find out exactly why the overdraw is that high.

kvark commented 6 years ago

I looked a bit at the GPU capture:

Note: I don't quite understand yet how the transparent pass reaches 2.5x overdraw. As I mentioned, most of the pixels appear to be depth culled.