WebRender newsletter #34

Happy new year!

Technical note about primitive segmentation is moved into a separate post.

Notable WebRender and Gecko changes

  • Jeff fixed some issues with blob image recoordination.
  • Dan improved the primitive interning mechanism in WebRender.
  • Kats fixed a bug with position:sticky.
  • Kats fixed a memory leak.
  • Kats improved the CI.
  • Kvark fixed a crash caused by empty regions in the texture cache allocator.
  • Kvark fixed a division by zero in a shader.
  • Matt improved to the frame scheduling logic.
  • Matt fixed a hit-testing issue with opacity:0 divs.
  • Matt fixed a blob image validation issue.
  • Matt improved the performance of text DrawTargets.
  • Matt prevented opacity:0 animation from generating lots of CPU work.
  • Matt fixed a pixel snapping issue.
  • Matt reduced the number of YUV shader permutations.
  • Lee fixed a bug in the FreeType font backend that caused all sub-pixel AA text to be shifted by a pixel.
  • Lee implemented font variation on Linux.
  • Emilio fixed a clipping issue allowing web content to draw over the tab bar.
  • Emilio fixed a border rendering corruption.
  • Glenn added suport for picture caching when the content rect changes between display lists.
  • Glenn fixed some picture caching bugs (2, 3, 4, 5).
  • Glenn removed redundant clustering information.
  • Glenn fixed a clipping bug.
  • Sotaro and Bobby lazily iniztialized D3D devices.
  • Sotaro fixed a crash on Wayland.
  • Bobby improved memory usage.
  • Bobby improved some of the debugging facilities.
  • Bobby shrunk the size of some handles using NonZero.
  • Bobby improved the shader hashing speed to help startup.
  • Glenn fixed a picture caching bug with multiple scroll roots.
  • Glenn improved the performance of picture caching.
  • Glenn followed up with more picture caching improvements.

Ongoing work

The team is going through the remaining release blockers.

Enabling WebRender in Firefox Nightly

In about:config, set the pref “gfx.webrender.all” to true and restart the browser.

Reporting bugs

The best place to report bugs related to WebRender in Firefox is the Graphics :: WebRender component in bugzilla.

Note that it is possible to log in with a github account.

9 thoughts on “WebRender newsletter #34

  1. Hello. You should work on huge web render performance improvement. maybe is need to work on process base. because Firefox(Nightly(WebRender: true)) use CPU very high for load pages but still do slower than Chrome.

    1. Umm, Chrome (technically Chromium) was always slower than Firefox (at least on the hardware that I had the opportunity to experiment on), but even more so with the introduction of WebRender (that’s at least the case on my laptop; yes, there was a time where WR was slower than regular page rendering, but WR became faster than the default Firefox page rendering at or around February last year, almost a full year ago at the time of writing actually), so I do not see your point at all. And yes, I tried all of the general Chrome performance-enhancing recommendations and did some tinkering with the flags, but it does not come close to Firefox Nightly, especially when it comes to YouTube or any other video playback.

      Have a nice day!

  2. oh my god. i tested again. Firefox loads a big HTML file faster. I’m happpyyyyyyyyyy :))
    is it true? but Firefox(with a new and null profile) has a longer delay to start load pages from local or internet.

  3. So, I believe that I was being affected by that memory leak (memory kept balloning over time when I had Firefox Nightly open and had to reboot my laptop, an HP running Antergos with KDE, to get the memory back down to normal levels; the issue started a few months ago, so not that recently) and am very thankful to Kats for resolving the issue, as that has allowed Firefox to be usable for me again when running longer than a couple of hours!

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