WebRender newsletter #26

Here comes the 26th issue of WebRender’s newsletter. Let’s see what we have this week:

Notable WebRender and Gecko changes

  • Bobby reduced GPU memory usage on Windows by making it so ANGLE doesn’t allocate mipmaps for all textures.
  • Bobby further reduced GPU memory usage by sharing the depth buffer for all intermediate targets.
  • Andrew improved animated image frame recycling.
  • Andrew fixed a rendering bug.
  • Andrew fixed an issue that caused some configurations that should have WebRender enabled to disable it.
  • Emilio fixed a bug.
  • Emilio fixed another bug.
  • Glenn switched line decoration from being clip masks to cached primitives.
  • Glenn cached the current batch for opaque and alpha batch lists during batching.
  • Glenn moved the generation of border segments from frame building to scene building.
  • Glenn improved the detection of opaque border segments (moving primitives to the opaque pass improves performance).
  • Sotaro fixed a flickering issue a startup on Windows.
  • Sotaro fixed a frame scheduling issue.

Ongoing work

  • Doug is making progress on document splitting. This will allow us to render the UI and the web content independently.
  • Kats and Markus are looking into standing up WebRender in GeckoView (Android). It’s not quite usable yet but early performance profiles are very encouraging.
  • Nical is auditing WebRender’s resistance to timing attacks.
  • Matt is investigating SVG performance.
  • Bobby is looking into further reducing GPU memory usage by improving the texture cache heuristics.
  • Gankro is making progress on blob image re-coordination.

Enabling WebRender in Firefox Nightly

  • In about:config set “gfx.webrender.all” to true,
  • restart Firefox.

9 thoughts on “WebRender newsletter #26

  1. I’ve been working on a project that’s capable of rendering a million dynamically sized rows of data in a table. Chrome has always been buttery smooth, but FF profiles showed heavy paint times (although layout was acceptable). With WebRender turned on, it’s super fast! Excellent work!

    Is there a roadmap/projected landing date?

    1. Last I checked, the setting to turn on WebRender is present in Firefox Beta. However, it does not actually turn the WebRender feature on. If you would like to test WebRender, I believe you will have to install Firefox Nightly.

  2. Just updated to 64.0a1 (2018-10-21) (I’m on macOS Mojave with webrender.all enabled), and there’s a massive performance improvement. Everything feels noticeably snappier. Not sure what is causing it, but much appreciated!

    1. Could you try something out for me?

      I have a little bit of lag when scrolling through pages using the trackpad. I observe 2 different behaviors.

      When I am scrolling through a page and my fingers are still touching the trackpad the scrolling animation becomes slightly laggy.

      When I am scrolling through a page and I fling my fingers the scrolling is smooth.

      It appears as if my fingers touching the trackpad while scrolling is causing the animation to be laggy.

      Are you able to reproduce that on your mac? The easiest way you can test it is by going to images.google.com and scrolling through some images.

      @Nical do you have any thoughts on what could be happening or where I can report this?

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