Live data from Hacker News

The web at maximum FPS: How WebRender gets rid of jank

hacks.mozilla.org

61–70 of 212 posts

Re: The web at maximum FPS: How WebRender gets rid of jank

#61
post #33
post #22

Earlier quoted context omitted.

Despite the huge fans and heatsinks on modern desktop GPUs, I presume that a GPU would still use less energy than a CPU for the same workload, yes? Do mobile GPUs have a sleep mode comparable to mobile CPUs? Completely agreed that some measurements would be nice.

The Radeon Pro 560 on my MacBook Pro can draw "up to 75W". I don't know anything about how it manages power, but I do recall that Apple recommended in a WWDC session on writing energy-efficient apps that one should be careful to not trigger the discrete GPU when the integrated Intel GPU is sufficient. So that leads to another question: on my machine, which GPU would Webrender be using? I suppose I could find out expe…

For WebRender, we targeted the integrated GPUs. You still need some logic to ensure you don't accidentally kick the discrete one into gear, but the integrated ones definitely have enough performance for almost anything WR will throw at it.

Re: The web at maximum FPS: How WebRender gets rid of jank

#63
post #8
post #2

Good stuff. Speaking of rendering text glyphs on the GPU, there's a really clever trick(commonly called loop-blinn, from the two authors): https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch25.... You can pretty much just use the existing bezier control points from TTF as-is which is really nice.

If only it were as simple as just using Loop-Blinn. :) The technique described there will produce unacceptably bad antialiasing for body text. Loop-Blinn is fine if you want fast rendering with medium quality antialiasing, though. (Incidentally, it's better to just use supersampling or MLAA-style antialiasing with Loop-Blinn and not try to do the fancy shader-based AA described in that article.) Additionally, the ori…

Really cool work. Can't wait until we can give PathFinder a go in FF for text, and hopefully even SVG, :)

BTW, I see you implemented PathFinder in TypeScript as well. What do you think of it, especially since I assume a lot of your recent programming has been in Rust?

Re: The web at maximum FPS: How WebRender gets rid of jank

#64
Is it going to use Vulkan? Sounds like a good fit for proper parallelized rendering.

UPDATE: Ah, I see it's mentioned in the future work: https://github.com/servo/webrender/wiki#future-work

    Vulkan?
    This could possibly make some of the serial
    steps above able to be parallelized further.
So it will be using OpenGL then?

Re: The web at maximum FPS: How WebRender gets rid of jank

#65
post #29

Anyone know if they used any specific tools for the graphs/figures? They remind me of XKCD style graphs, really like those for technical yet informal explanations!

Wacom Cintiq using Pixelmator according to https://mobile.twitter.com/linclark/status/86746972399853977...

Re: The web at maximum FPS: How WebRender gets rid of jank

#66
post #64

Is it going to use Vulkan? Sounds like a good fit for proper parallelized rendering. UPDATE: Ah, I see it's mentioned in the future work: https://github.com/servo/webrender/wiki#future-work Vulkan? This could possibly make some of the serial steps above able to be parallelized further. So it will be using OpenGL then?

The awesome folks at Szeged University have been working with our team on both Vulkan and native DX11 backends!

Re: The web at maximum FPS: How WebRender gets rid of jank

#67
post #8

Earlier quoted context omitted.

If only it were as simple as just using Loop-Blinn. :) The technique described there will produce unacceptably bad antialiasing for body text. Loop-Blinn is fine if you want fast rendering with medium quality antialiasing, though. (Incidentally, it's better to just use supersampling or MLAA-style antialiasing with Loop-Blinn and not try to do the fancy shader-based AA described in that article.) Additionally, the ori…

Really cool work. Can't wait until we can give PathFinder a go in FF for text, and hopefully even SVG, :) BTW, I see you implemented PathFinder in TypeScript as well. What do you think of it, especially since I assume a lot of your recent programming has been in Rust?

Well, it's only the demo that's in TypeScript. The demo is just a fancy UI that takes the Rust-produced vertex and index buffers and uploads them to the GPU for rendering. Ideally, I don't want to have to any code duplication between the Rust WebRender and Pathfinder demo code.

That said, Rust on the server and TypeScript on the client go really well together. Strong typing everywhere!

Re: The web at maximum FPS: How WebRender gets rid of jank

#68
post #33

Earlier quoted context omitted.

The Radeon Pro 560 on my MacBook Pro can draw "up to 75W". I don't know anything about how it manages power, but I do recall that Apple recommended in a WWDC session on writing energy-efficient apps that one should be careful to not trigger the discrete GPU when the integrated Intel GPU is sufficient. So that leads to another question: on my machine, which GPU would Webrender be using? I suppose I could find out expe…

For WebRender, we targeted the integrated GPUs. You still need some logic to ensure you don't accidentally kick the discrete one into gear, but the integrated ones definitely have enough performance for almost anything WR will throw at it.

That's encouraging news. Thank you!

Re: The web at maximum FPS: How WebRender gets rid of jank

#69

Earlier quoted context omitted.

I know it’s not officially released, so I’m hoping it gets fixed, but FF57 rips through my Mac’s battery life and runs insanely hot on simple JS apps. I still use it daily because it generally works, but there are a few apps I just have to go to Chrome for.

Firefox 57 doesn’t have WebRender on unless you explicitly turn it on; did you? It would be reasonale not to, as it’s still kinda buggy.

I think it's still in Nightly which is 58 now. I'm running 57 beta on Win10 and my about:support page says "unavailable by runtime: Build doesn't include WebRender".

Re: The web at maximum FPS: How WebRender gets rid of jank

#70
post #13

Now that this is closer to shipping, I'm curious what impact this would have on battery life. On the one hand, this is lighting up more silicon; on the other hand: a faster race to sleep, perhaps? Have there been any measurements on what the end result is on a typical modern laptop?

I know it’s not officially released, so I’m hoping it gets fixed, but FF57 rips through my Mac’s battery life and runs insanely hot on simple JS apps. I still use it daily because it generally works, but there are a few apps I just have to go to Chrome for.

[deleted]
Post reply on HN