# Post-hoc shader measurement methodology

Evidence version: `posthoc-20260714-v3`

## Uncapped throughput

Each archived shader artifact was compiled through an audited compatibility-only desktop GLSL wrapper and rendered through the same headless EGL/OpenGL runner on an NVIDIA RTX PRO 6000 at a fixed 1920×1080 framebuffer.

The runner performed a 10-second warm-up followed by three nominal 30-second trials. The primary measurement used synchronized wall-clock timing around each render plus `glFinish`, so completed GPU work—not CPU command submission—was timed. Optional desktop GL timer-query values were also recorded when available. Video encoding was not part of the performance loop.

The displayed task ratio is calculated from the full-precision aggregate mean throughput values in each public run manifest. It is not hand-entered.

## Measurement uncertainty and rounding

Each run manifest reports the sample coefficient of variation across its three mean trial values. Values range from 0.037% to 0.207% in this snapshot. Displayed FPS uses conventional rounding to two decimal places; calculations retain full precision. Independent CSV-only cross-checks differed by less than 0.012% because terminal timing bookkeeping is represented slightly differently.

## Sustained 60 fps check

Each artifact was also run through a separate 3,600-frame, approximately 60-second headless deadline schedule. A pass means zero late frames and zero 60-fps deadline misses in that audited headless test. It does not claim physical display scanout or browser requestAnimationFrame behavior.

## Deterministic video

Each capture is a deterministic offline 1080p60 render. Shader time for frame N is N/60. The capture contains 900 frames and lasts 15 seconds. Encoding occurred after rendering and is separate from the performance measurement.

The captures are not real-time screen recordings. Deterministic 60-fps video alone is not proof that an artifact ran at 60 fps; the separate sustained-performance test supplies that evidence.

## Interpretation limits

These values are post-hoc uncapped headless EGL/OpenGL throughput. They are not original local FPS and are not native TWIGL or ShaderToy browser performance. The two shader tasks produce opposing throughput comparisons, so neither model is described as generally faster.

Three post-hoc performance trials measure one generated artifact. The model-generation sample remains n=1 per model and task.
