WebRender’s 28th newsletter is here, and as requested, today’s little story is about picture caching. It’s a complex topic so I had to simplify a lot here. Moved to a separate post now.

Notable WebRender and Gecko changes

Bobby improved GPU memory usage by better evicting standalone entries in the texture cache.

Kats fixed a bad interaction between the startup sanity check and performance telemetry.

Kats restored a specific dragging behavior for the scroll thumb on Windows.

Kvark improved the performance of solid line decorations by moving them to the opaque pass.

Matt improved text selection performance.

Emilio optimized inset clip paths into using complex clip regions instead of blob images.

Glenn removed primitive indices from chasing .

Glenn introduced a picture traversal pass .

Glenn introduced primitive clustering.

Glenn stored picture indices in instances.

Nical fixed a bug with srgb/linear color conversion in WebRender.

Nical fixed the new scene debug indicator.

Nical improved GPU memory usage by fixing a tiled blob image cache eviction issue.

Sotaro fixed a synchronization issue when deleting external GPU textures.

Sotaro fixed an intermittent crash in the IPC layer.

Ongoing work

Kvark is improving the clipping/scrolling APIs.

Matt is investigating D3D upload performance and options.

Gankro is further investigating text selection performance.

Gankro and Nical are working on blob image recoordination.

Doug is making progress on Document splitting.

Glenn is making progress on picture caching.

Enabling WebRender in Firefox Nightly

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

restart Firefox.