5 ms·
Video from the beginning: https://air.mozilla.org/bay-area-rust-meetup-february-2016/#@01m24s https://air.mozilla.org/bay-area-rust-meetup-february-2016/#... "
by paulrouget 11y ago
Video from the beginning: https://air.mozilla.org/bay-area-rust-meetup-february-2016/#@01m24s https://air.mozilla.org/bay-area-rust-meetup-february-2016/#...
"We've removed painting from the bottleneck in Servo"
More info about WebRender: https://github.com/servo/webrender/wiki https://github.com/servo/webrender/wiki
If you want try it at home, you "just" need to build servo: http://github.com/servo/servo http://github.com/servo/servo (git clone, then ./mach build -r) and run servo with webrender:
./mach run -r -- -w http://wikipedia.org http://wikipedia.org
(edit: removed the bit about chrome's gpu rasterization - see pcwalton's comment below)
- gregwtmtno 11y agoRe the building, if you're on mac with homebrew, it should be as easy as: brew install --HEAD servo/servo/servo and servo -w http://wikipedia.org http://wikipedia.org Keep in mind though, servo has a long way to go.
- haddr 11y agoIs it a compiled bottle? I remember last time trying Rust I had to wait maybe half an ahour to compile everything. I think it was the time when servo was compiling their own version of Rust :)
- Manishearth 11y agoServo now downloads a Rust snapshot. But you still have to compile everything else needed to build Servo.
- markus2012 11y agoWhat about for using it as a headless browser with javascript and Rust manipulation of the DOM? We have a http proxy that would like to analyze html responses and rewrite parts of the page. Is servo ready for that or should we use something like PhantomJS? Thanks!
- steveklabnik 11y agoSide note if this is something you're interested in doing, you might want to check out the FastBoot project from the Ember camp. It's built on top of non-Ember-specific libraries that let you do server-side DOM manipulation without needing something like PhantomJS, just node.
- gregwtmtno 11y agoI'm not involved with the project...just an admirer. I do know that it has a headless option in the command line invocation.
- motoboi 11y agoGetting this error: ==> python -c import setuptools... --no-user-cfg install --prefix=/private/tmp/servo20160225-7643-fode0q/_vedir --single-version-externally-managed --record=installed.txt Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named setup tools UPDATE: brew update brew uninstall --force python brew install python solved it.
- gregwtmtno 11y agoCheck https://github.com/servo/homebrew-servo/issues?q=is%3Aissue+is%3Aclosed https://github.com/servo/homebrew-servo/issues?q=is%3Aissue+...
- pcwalton 11y agoChrome's approach is fundamentally different: it's the main difference I was describing at the beginning of the talk, by contrasting Chrome's immediate mode approach with WebRender's retained mode. (By the way, Safari, IE 9 and up, and Firefox on Vista and up all use immediate mode GPU painting backends like Chrome does.) Incidentally, I don't deserve the lion's share of the credit here. Veteran game developer Glenn Watson is really the brains behind the project—my role has mostly consisted of picking off a few scattered features and optimizations to implement.
- dharma1 11y agoGreat work guys. Will help push the web forward! Vulkan/Android coming anytime soon?
- vanderZwan 11y agoHave you been able to make use of hardware accelerated path rendering? Like the stuff Mark Kilgard is working on? (I mean, "painting on the GPU" doesn't say how you use the GPU, and I've been wondering if there's anything new happening in path rendering land after seeing a video on Kilgard's work years ago)
- pcwalton 11y agoWe actually aren't doing any path rendering yet; CSS as used on the Web is all boxes and triangles, aside from glyphs. One of the neat things about WebRender is the observation that triangles are pretty much all you need for CSS. A future extension to support SVG and glyphs on the GPU would be pretty interesting though!