Hi! Last week I mentioned picture caching landing in nightly and I am happy to report that it didn’t get backed out (never to take for granted with a change of that importance) and it’s here to stay.

Another rather hot topic but which didn’t appear in the newsletter was Jeff and Matt’s long investigation of content frame time telemetry numbers. It turned into a real saga, featuring performance improvements but also a lot of adjustments to the way we do the measurements to make sure that we get apple to apple comparisons of Firefox running with and without WebRender. The content frame time metric is important because it correlates with user perception of stuttering, and we now have solid measurements backing that WebRender improves this metric.

Notable WebRender and Gecko changes

Bobby did various code cleanups and improvements.

Chris wrote a prototype Windows app to test resizing a child HWND in a child process and figure out how to do that without glitches.

Matt fixed an SVG filter clipping issue.

Matt Enabled SVG filters to be processed on the GPU in more cases.

Andrew fixed a pixel snapping issue with transforms.

Andrew fixed a blob image crash.

Emilio fixed a bug with perspective transforms.

Glenn included root content clip rect in picture caching world bounds.

Glenn added support for multiple dirty rects in picture caching.

Glenn fixed adding extremely large primitives to picture caching tile dependencies.

Glenn skipped some redundant work during picture caching updates.

Glenn removed unused clear color mode.

Glenn reduced invalidation caused by world clip rects.

Glenn fixed an invalidation issue with picture caching when encountering a blur filter.

Glenn avoided interning text run primitives due to scrolled offset field.

Sotaro improved the performance of large animated SVGs in some cases.

Ongoing work

The team keeps going through the remaining blockers (7 P2 bugs and 20 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.