An audit of the scaling code and of speed and memory across the whole desktop. Nothing looks different; it is quicker and lighter, and two things that went wrong when switching scale are fixed.
Fixed
- Turning scaling off left
Xft.dpiat the scaled value, so GTK and Qt programs stayed large at the next logon. It goes back to 96 now. - Display Properties applied a scale, mode, resolution or refresh-rate change only if the Settings tab was still showing when OK or Apply was pressed. It applies from whichever tab is up.
- Device Manager named PCI devices with their slot and class in front ("00:03.1 PCI bridge [0604]: ..."). Just the name now.
- The ninth timer in a program was dropped silently; the Control Panel's file-types page could run out of caret blinks.
Faster and smaller
- Wallpapers: the resampler works out its filter weights once and streams the picture through, instead of holding three floating-point copies. A filled 4K wallpaper paints in 0.47 s in 86 MB instead of 0.79 s in 305 MB, with the same pixels. Lanczos is fifteen times faster.
- Device Manager opens in 0.05 s instead of 0.41 s:
lspciruns once andmodinfoonly when a properties sheet opens. - Colour conversion no longer re-derives the visual's masks for every pixel, and the wallpaper is stored straight into the X image.
The full write-up is the second pass in docs/AUDIT.md. Sanitizer builds were run through 191 harness renders in five looks at three scales before and after, without a report.
curl -sL jacktulli.github.io/w2k | sh