Hi everyone! This week’s highlight is Glenn’s picture caching work which almost landed about a week ago and landed again a few hours ago. Fingers crossed! If you don’t know what picture caching means and are interested, you can read about it in the introduction of this newsletter’s season 01 episode 28.

On a more general note, the team continues focusing on the remaining list of blocker bugs which grows and shrinks depending on when you look, but the overall trend is looking good.

Without further ado:

Notable WebRender and Gecko changes

Bobby fixed unbounded interner growth.

Bobby overhauled the memory reporter.

Bobby added a primitive highlighting debug tool.

Bobby reduced code duplication around interners.

Matt and Jeff continued investigating telemetry data.

Jeff removed the minimum blob image size, yielding nice improvements on some talos benchmarks (18% raptor-motionmark-animometer-firefox linux64-qr opt and 7% raptor-motionmark-animometer-firefox windows10-64-qr opt).

kvark fixed a crash.

kvark reduced the number of vector allocations.

kvark improved the chasing debugging tool.

kvark fixed two issues with reference frame and scrolling.

Andrew fixed an issue with SVGs that embed raster images not rendering correctly.

Andrew fixed a mismatch between the size used during decoding images and the one we pass to WebRender.

Andrew fixed a crash caused by an interaction between blob images and shared surfaces.

Andrew avoided scene building caused by partially decoded images when possible.

Emilio made the build system take care of generating the ffi bindings automatically.

Emilio fixed some clipping issues.

Glenn optimized how picture caching handle world clips.

Glenn fixed picture caching tiles being discarded incorrectly.

Glenn split primitive preparation into a separate culling pass.

Glenn fixed some invalidation issues.

Glenn improved display list correlation.

Glenn re-landed picture caching.

Doug improved the way we deal with document splitting to allow more than two documents.

Ongoing work

The team keeps going through the remaining blockers (14 P2 bugs and 29 P3 bugs at the time of writing).

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.