WebRender newsletter #24

Hi there, this your twenty fourth WebRender newsletter. A lot of work in progress this week, so the change list is pretty short. To compensate I added a list of noteworthy ongoing work which hasn’t landed yet is but will probably land soon and gives a rough idea of what’s keeping us busy.

Without further ado,

Notable WebRender and Gecko changes

  • Bobby improved WebRender’s code documentation.
  • Jeff fixed a crash.
  • Kats fixed a bug that was causing issues with parallax scrolling type of effects.
  • Kats improved the CI infrastructure for WebRender.
  • Gankro cleaned up some of the blob image rendering code.
  • Andrew improved the memory recycling logic for shared images.
  • Glenn fixed a crash.
  • Glenn fixed a bug causing content to leak out of the their iframes.
  • Glenn improved the performance of building clip chains.
  • Glenn made progress (1, 2 towards an upcoming picture caching infrastructure.
  • Nical fixed various source of UI freezes.
  • Nical fixed a crash with large shadow radii.
  • Sotaro fixed an issue related to moving tabs between windows.
  • Sotaro removed a synchronous operation that sometimes blocked the compositor for a long time.

Ongoing work

  • Bobby is working on reducing WebRender’s memory usage.
  • Kvark is working on taming the infamous backface-visibility property.
  • Matt and Dan are almost done with big startup time improvements related to the time we spent compiling shaders.
  • Gankro and Jeff are working on blob image rasterization performance.
  • Andrew has some more shared image recycling changes in the work.
  • Sotaro is reducing the amount of extra work we do for some types of async animations.
  • Chris is fixing some rendering correctness bugs.
  • Glenn is working on the picture caching infrastructure (this one is a bit longer term than the rest of this list but we expect it will bring a lot of improvements on some difficult cases).

 

4 thoughts on “WebRender newsletter #24

  1. “Kvark is working on taming the infamous backface-visibility property.” cracked me up lol. Out of curiosity, what makes “taming” the backface-visibility property so infamous? @Nical

    1. I haven’t been following closely enough to know there the subtleties are, but there has been a lot of trial and error in the implementation of backface-visibility, probably due to WebRender implementation details and a rather fuzzy specification.

      A few quotes from https://github.com/servo/webrender/pull/3131 :
      – “AAAnd we have a fail in /css/css-transforms/transform3d-backface-visibility-006.html
      So this new model needs more thought (marking as WIP)”
      – “Not sure how much the draft spec is web-compatible, probably worth checking with @mattwoodrow.”
      – “The spec has historically been inconsistent with the implementations, which is why Matt and I didn’t bother looking at it”

  2. I am a little surprised that GPU vendors are not contributing to webrender.. This would be a golden marketing opportunity for them
    Did you guys talk with Intel/AMD to get some engineers on WR development?

    1. To be honest (and humble), I don’t think the marketing opportunity is that big for GPU vendors compared to, say, polishing the experience of the latest AAA games. The majority of browser users aren’t as tech savvy as you and me, and really mostly want things to work while raw performance in a browser doesn’t get them all that excited as long as the experience isn’t terrible.
      Hardware vendors do care about things working though, at occasions we have exchanged emails, for example when running into issues that are well identified but hard to investigate without inside knowledge. It’s proven useful at times.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s