Wren

Wren 0.6.17

Wren 0.6.17 stops stuttering when the pointer moves over a page like GitHub's.

This is still a beta, under development, and Windows-only.

Highlights

  • Hovering no longer restyles the page. On GitHub's repository page, every move of the pointer over a link or a topic tag made a full style pass, about 120 ms each, so the page drew four frames a second under the pointer. Two rules were the cause: a :has() with a hover inside it, and an :is() with a state in it, which the partial restyle took for a match everywhere. Both are now scoped: a state change costs 1.3 ms of style work on average instead of 29 ms, and the share of frames over their budget while the pointer moves falls from 40 % to 4 %.
  • Large ES modules are compiled off the interface thread, like large classic scripts: the page does its other work while a compile thread makes the bytecode.

Edit this page on GitHub