← RetroAppleJS

WebGPU shader stress test

Raw submissions to the current Apple II WebGPU shader at 560 × 384. The harness controls demand and queue completion independently of emulator clocks, the renderer's two-frame queue, FPS controls and animation frames.

Ready. WebGPU requires a supported browser and secure context; keep this tab visible during testing.

Results will identify the highest sustainable tested rate and measured WebGPU throughput ceiling for each dispatch driver.

Completed rendering throughput

Blue: JavaScript · Orange: WASM · Dashed grey: requested rate. FPS counts completed shader renders, not displayed refreshes. MAX is uncapped demand.

Batch completion latency — p95

Blue: JavaScript · Orange: WASM. Time from the first submission call until completion of all work in the batch is observed through the WebGPU queue.

CPU submission, uploads and GPU render-pass time

Blue: JavaScript · Orange: WASM. Solid: CPU ms/render · Dashed: writeBuffer call ms · Dash-dot: upload-only queue completion ms · Dotted: isolated GPU render-pass ms. Profiling is separate from throughput; unavailable timestamp queries show N/A.

Measurements

Driver / repeatRequest FPSCompleted FPSCPU ms/renderBatch p50 msBatch p95 msUpload call msUpload KiB/renderUpload complete msGPU draw msMissed budgetTarget met
How to interpret the test

One bounded batch is outstanding at a time. Every batch is counted only after queue.onSubmittedWorkDone() resolves. The sustainable threshold requires at least 95% of requested throughput and p95 batch latency within the batch interval in every repetition. Two midpoint measurements refine a passing/failing bracket.

The default reuses deterministic inputs. The optional RAM snapshot setting includes a fresh 24 KiB copy. WASM changes only the dispatch loop; WebGPU calls and shader execution remain browser operations. Upload completion includes queue and promise-notification overhead and is not physical DMA time. Tests stop when this tab becomes hidden.

Benchmark methodology

Active WGSL shader source