Something went wrong. Try again.
about things notes.zzstoatzz.io
notes
Something went wrong. Try again.
README.md
web #
the browser as a platform: what its graphics, media, and network layers actually do, measured from inside a page.
these notes are about browser behaviour itself. patterns for building services live in systems/, and shipping them in operations/.
topics #
graphics #
- webgl-shader-linking — linking is synchronous unless you poll for it; only chromium caches linked programs
- webgl-drawing-buffer-copies —
an
alpha: falsecanvas is RGB, and a copy may not ask for more than that - webgl-call-instrumentation — count and attribute GL calls by wrapping the context prototype; firefox stops warning after 32
- canvas-2d-glow —
shadowBlurcosts 2 ms in one engine and 73 ms in another; cached sprites are flat, and overlapping translucency needs a bounded layer - godot-web-exports — batching versus culling, startup shader links, mesh reads as GPU readbacks, engine-owned console warnings, and the engine binary as the memory floor
media #
- media-time-and-decoded-time — a
media element's clock and
decodeAudioData's samples disagree, by a different amount in each browser and after each seek - mediarecorder-containers — each
browser records something different, and a bare
audio/mp4can hold opus that safari will not play
mobile #
- home-screen-web-app-scope — without a manifest the installing page decides the scope, and the home link can land outside it
- ios-input-zoom — inputs under 16px zoom the
page, and
font: inheritquietly undoes the fix - webkit-page-memory — a killed page reloads while a lost GPU leaves a black canvas; compiled wasm costs several times its size, and embedded frames share the page's process
network #
- cors-modes-and-the-http-cache — one URL fetched in two CORS modes shares one cache entry unless the server varies on origin for every response