Earlier quoted context omitted.
I don't think this is actually true. If you're looking at a static page that doesn't change in any way, isn't the browser completely idle? Edit: To clarify, I realize that the screen gets refreshed ~60 times per second (depending on refresh rate), but I don't think any rendering actually happens if it doesn't need to.
The GPU is still painting the screen at a set refresh rate (your monitor’s). Some monitors have variable refresh rates, but don’t go any lower than 30hz, and depending on settings like vsync the gpu might still be churning through hundreds of wasted frames. The latest iPads can go down to 24hz to save energy due to their custom 120hz display, but that’s a rarity.
The web at maximum FPS: How WebRender gets rid of jank
51–60 of 212 posts
Re: The web at maximum FPS: How WebRender gets rid of jank
#52Earlier quoted context omitted.
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.
Didn’t know that! I’ll be honest I was wondering what the hype was about because it didn’t seem that fast to me...
Re: The web at maximum FPS: How WebRender gets rid of jank
#53Earlier 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…
Well there's also the problem that it's heavily patented :). Just throwing it out there as a neat thing, the GPU space has all sorts of fun stuff like that. I'll have to take a look at Pathfinder, have any links handy that I can dig into?
Re: The web at maximum FPS: How WebRender gets rid of jank
#54Earlier quoted context omitted.
They do, but we're targeting Intel HD quality graphics, not gaming-oriented NVIDIA and AMD GPUs. That said, even Intel GPUs can often deal with large numbers of draw calls just fine. It's mobile where they become a real issue. Aggressive batching is still important to take maximum advantage of parallelism. If you're switching shaders for every rect you draw, then you frequently lose to the CPU.
Will there be a baseline GPU requirement for Firefox to enable this feature? For video games you often see minimum/recommended hardware specifications to run a game.
Re: The web at maximum FPS: How WebRender gets rid of jank
#55Earlier quoted context omitted.
I don't think this is actually true. If you're looking at a static page that doesn't change in any way, isn't the browser completely idle? Edit: To clarify, I realize that the screen gets refreshed ~60 times per second (depending on refresh rate), but I don't think any rendering actually happens if it doesn't need to.
The GPU is still painting the screen at a set refresh rate (your monitor’s). Some monitors have variable refresh rates, but don’t go any lower than 30hz, and depending on settings like vsync the gpu might still be churning through hundreds of wasted frames. The latest iPads can go down to 24hz to save energy due to their custom 120hz display, but that’s a rarity.
Re: The web at maximum FPS: How WebRender gets rid of jank
#56Earlier 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…
I noticed that Pathfinder went from calculating the intersection of beziers on the GPU with compute back to doing triangulation on the CPU. Any reason for this major switch in approach? I assume you've seen other things like Slug, glyphy, etc., which use a combination of CPU pre-processing and GPU processing to make the bezier intersection as efficient as possible...
Slug is asymptotically slower than Pathfinder at fragment shading; every new path on a scanline increases the work that has to be done for every pixel. (Of course, that's not to say Slug is always slower in practice; constant factors matter a lot!) GLyphy is an SDF approach based on arc segment approximation that does not do Bézier intersection at all.
Re: The web at maximum FPS: How WebRender gets rid of jank
#57Earlier 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.
A modern high-end GPU can draw upwards of 200w. Edit: Not sure why I'm being downvoted for stating a simple fact. The top-of-the-line AMD and NVidia cards have TDPs of 200-250w.
The important information to answer the question is how much power the GPU will use, not how much it can use.
Re: The web at maximum FPS: How WebRender gets rid of jank
#58Earlier quoted context omitted.
They do, but we're targeting Intel HD quality graphics, not gaming-oriented NVIDIA and AMD GPUs. That said, even Intel GPUs can often deal with large numbers of draw calls just fine. It's mobile where they become a real issue. Aggressive batching is still important to take maximum advantage of parallelism. If you're switching shaders for every rect you draw, then you frequently lose to the CPU.
Speaking of batching, I look at this demo [1] on my mobile phone, and I can get ~3500 sprites without dropping below 60FPS. A web page may not be able to reuse as much image data, I know. But smart game engines frequently look for ways to better batch sprites. And technically speaking, if you're using a Z-buffer, you don't need to sort opaque layers at all . You can draw the layers in back and then draw more layers i…
Win 10, latest nightly, WebRender enabled
Re: The web at maximum FPS: How WebRender gets rid of jank
#59Earlier quoted context omitted.
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.
Didn’t know that! I’ll be honest I was wondering what the hype was about because it didn’t seem that fast to me...
Re: The web at maximum FPS: How WebRender gets rid of jank
#60The reasoning was somewhat different, web pages were essentially static (we didn't do "DHTML"), if the page rendering process could generate an efficient display list, then the page source could be discarded, and only the display list needed to be held in memory, this rendering could then be pipelined with reading the page over the network, so the entire page was never in memory.
Full Disclosure: while I later wrote significant components of this browser (EcmaScript, WmlScript, SSL, WTLS, JPEG, PNG), the work I'm describing was entirely done by other people!
[1] - I joined in 97, the first public demo was at GSM World Congress Feb 98