| Clipping WebKit’s compositing to the damaged rectangles is worth ~8% and 3 C on taimen, not a step change |
finding |
device:google-taimen |
proven |
| Epiphany on YouTube is a memory ceiling, and the GPU buffers are charged to its cgroup |
finding |
device:google-taimen |
proven |
| Epiphany’s frame on m.youtube.com is ~20 ms of TextureMapper CPU walking 315 layers plus a ~10 ms GPU/FrameDone tail, serialized – the kernel sees two submits per frame, so a5xx batch overhead is not the limit |
finding |
soc:msm8998 |
proven |
| Epiphany’s window updates at 12-30 fps on YouTube because WebKit’s compositor thread spends 35-50 ms per frame on a 237-layer page – not the video, not GTK, not the GPU clock, not damage tracking |
finding |
device:google-taimen |
proven |
| A GPU reset aborts phosh, not phoc – the session restarts and looks like a reboot |
finding |
device:google-taimen |
proven |
| The unpainted band during a fast fling is a 200 ms record() on the WebKit main thread, and no prepaint knob bridges it |
finding |
generic |
proven |
| Epiphany’s frame period is CPU paint PLUS the GPU tail, serialized – frameDone to next frame start is 0.1 ms |
finding |
device:google-taimen |
proven |
| Epiphany’s frame period is pinned at 2 refreshes because the CPU paint alone exceeds one – every sub-quantum optimisation measures as neutral |
finding |
device:google-taimen |
proven |
| The browser’s whole WebKit environment lived in ~/.config and a rootfs reflash deleted it, which reads as four separate new bugs |
finding |
generic |
proven |
| WebKitGTK’s frame loop allows one frame in flight, released from GTK’s snapshot(); on a5xx every render pass is a separate kernel submit – so the compositor’s cost is passes, not pixels |
finding |
soc:msm8998 |
proven |
| wlroots drops every client texture on a renderer swap and never re-imports one, so static layer-surfaces stay blank after a GPU reset |
finding |
generic |
proven |
| A browser launched from ssh, systemd-run –scope, or set-environment does not get environment.d – and on taimen that means Skia-GPU |
trap |
generic |
proven |
| An arm behind the phosh lockscreen measures a still page, and it looks exactly like the change under test breaking WebKit |
trap |
device:google-taimen |
proven |
| One browser arm cannot resolve anything under ~10% here: the same build gave 29% and 73% frames-over-budget |
trap |
device:google-taimen |
proven |
| The DPU vsync counter is phoc’s output rate, not the app’s – a browser scrolling at 30 fps and presenting video at 15 fps both read “60 fps, 0 jank |
trap |
generic |
proven |
| Writing msm’s reset debugfs faults the GPU but no client loses its context, so it cannot test GPU-reset recovery |
trap |
soc:msm8998 |
proven |