6 ms·
WebRender2 Lands in Servo
- josephg 10y agoCan someone explain the significance of this?
- jvilk 10y agoHere's the only thing I could easily find via Google [0]: "The basic design right now is that we draw every pixel of every frame, but there's a lot of overdraw when things overlap. This shows up in the moiré demo where there's a lot of overlap. Also we don't have enough information to do subpixel antialiasing. gw had a great idea to solve both of these problems. The prototype he built uses a ray tracer to trace through all of the objects and draw each pixel only once. That should lead to new features like subpixel AA and also more consistent performance." More context would be appreciated, though! [0] https://github.com/servo/servo/wiki/Meeting-2016-03-07 https://github.com/servo/servo/wiki/Meeting-2016-03-07
- aidenn0 10y agoAlso in a previous webrender discussion on hn pcwalton credited the design of the original webrender to gw as well.
- mcpherrinm 10y agoThis is incomplete, but my basic understanding is as follows. Servo is an experimental web browser in Rust. WebRender was an experiment inside an experiment, to use a GPU pipeline closer to what a video game does and do painting very quickly. See a previous HN discussion: https://news.ycombinator.com/item?id=11175258 https://news.ycombinator.com/item?id=11175258 WebRender 2 I'm less familiar with, but it's a continuation on that work. I gather it cuts down on the amount of painting done, so now it does painting fast, and does less of it. I gather it should also enable some new features, like subpixel antialiasing.
- stuaxo 10y agoWebrender is a renderer that use gpu techniques similar to how games render.
- niftich 10y agoA slide deck from February which explains how Webrender works is available from the developers [1]. [1] http://pcwalton.github.io/slides/webrender-talk-022016/ http://pcwalton.github.io/slides/webrender-talk-022016/
- metajack 10y agoWebRender 2 is just the next evolution of WebRender. After we started testing the original one on real sites and apps, we discovered a few performance problems. Glenn had some ideas for how to fix them that involved changing quite a lot of things, and that work is now landed in the tree. One consequence of this work, other than speed of course, is that it enables things like subpixel AA, which weren't possible before. Externally we'll probably just call it WebRender. Not many people knew about the first one and most users won't care that it took us a few iterations to perfect :) We're planning to turn WebRender 2 on as the default very soon.
- deleted 10y ago[deleted]
- ZenoArrow 10y agoCongrats on landing WebRender 2. > "Externally we'll probably just call it WebRender. Not many people knew about the first one and most users won't care that it took us a few iterations to perfect :)" It's your choice, but considering the audience of people interested in browser features (especially browser features for Servo) is largely tech savvy, I'd recommend against it. Of the examples I can think of where version numbers have been messed with, I can't think of a single one that hasn't caused unnecessary issues (Final Fantasy 3/6, the "new" iPad, XBox One).
- agnivade 10y ago> things like subpixel AA Did you mean subpixel anti aliasing ? Wow, that sounds cool. Where can I read more about this ?
- leeoniya 10y agosee https://news.ycombinator.com/item?id=11175258 https://news.ycombinator.com/item?id=11175258
- kibwen 10y agoThere's not much context here, so let me help. WebRender is Servo's renderer, which is the component that takes all the junk that happens behind the scenes (the DOM, etc.) and turns it into something that your monitor can actually display. What differentiates WebRender from the renderers of all other modern browsers is that renderers have traditionally operated in "immediate mode", where the renderer itself draws items on the screen one at a time, whereas WebRender operates in "retained mode", where the renderer declaratively shunts all the heavy work to the GPU. (And note that I'm hardly a graphics programmer at all, so I may have butchered this.) Some relevant links: pcwalton's great demonstration of the initial WebRender prototype from February (page demos start at 26 minutes): https://air.mozilla.org/bay-area-rust-meetup-february-2016/ https://air.mozilla.org/bay-area-rust-meetup-february-2016/ WebRender 2 overview: https://github.com/servo/servo/wiki/Webrender-Overview#webrender-2-overview https://github.com/servo/servo/wiki/Webrender-Overview#webre... A short walkthrough of WebRender 2: http://www.masonchang.com/blog/2016/7/18/a-short-walkthrough-of-webrender-2 http://www.masonchang.com/blog/2016/7/18/a-short-walkthrough... I believe a long-term goal is to get WebRender into Firefox itself, but this would be quite an invasive surgery (and AFAIK wouldn't be able to 100% obviate Gecko's current renderer, for legacy reasons(?)) and so shouldn't be expected in the near future (though Stylo, another large Servo component, should hopefully be landing in Firefox this year). EDIT: Oh, and of course, Servo is a new browser engine from Mozilla and written in Rust (though it wouldn't be entirely inaccurate to also say that Rust was written for Servo, at least originally :P ).
- dingaling 10y ago> and AFAIK wouldn't be able to 100% obviate Gecko's current renderer, for legacy reasons(?) I assume they'll make the cut-over at some point as WebRendern should run on most post-2010 hardware. Will Mozilla drop support Firefox for those oldest machines? We don't know, they don't seen to have developed a strategy as yet. There are software shims for GPUs that can't provide the required OpenGL features but performance is awful.
- pcwalton 10y ago> There are software shims for GPUs that can't provide the required OpenGL features but performance is awful. WARP and SwiftShader are better than you might think.
- pcwalton 10y agoI didn't expect this to hit HN so soon! Feel free to try WebRender 2 out--it should hit nightlies within a day or two--but note that this is still under heavy development, and there are a lot of very important optimizations that have yet to be implemented. The primary focus so far has been correctness and validation of the approach. At some point either gw or I will probably write up an overview of how WebRender 2 works. It's conceptually similar to, and shares most of the code with, the original WebRender. Briefly, the main advantage of WebRender 2 is that it uses an approach loosely akin to tiled deferred rendering to minimize overdraw, whereas the original WebRender more or less performed forward rendering only. We also have a path forward to subpixel AA (though not implemented yet) without requiring readback, expensive framebuffer ping-pong, or GL extensions.
- kibwen 10y agoHave you measured the difference in performance between WR1 and WR2?
- Mizza 10y agoAre there any browsers (experimental or not) that actually use this?
- adambrenecki 10y agoExperimental, yes; You can download nightlies of Servo at https://servo.org/ https://servo.org/, which use Servo together with browser.html, a HTML+CSS+JS-based browser chrome developed for the purpose of showing off Servo.
- kibwen 10y agoThough the nightlies won't be using WR2 until tomorrow.
- pjmlp 10y agoBesides the WebRender2 itself, nice to see the Amiga logo.
- forexbrokers 10y agoWorld Forex Brokers is the website which is having the <a href="https://www.worldforexbrokers.com/list-of-forex-brokers-directory/ecn-forex-brokers-list">Forex https://www.worldforexbrokers.com/list-of-forex-brokers-dire... Brokers List</a>where traders can get all information about the Comments, Regulation details and more. Even Traders can do rating and share the comments about a Forex Broker. Forex Brokers can add them in World Forex Brokers with all details to reach the traders and they can publish their ads in World Forex Brokers website.