Demo 02 ·
RUNTIME
RUNTIME is a 30-second vertical demo that shows its own picture being computed, row by row, as the thread pool renders it. Pure C, no assets. Full MP4.

The full 1080×1920 render, never re-encoded.
- Length
- 0:30
- Frame
- 1080 × 1920 (9:16, vertical)
- Rate
- 60 fps
- Video
- H.264, High profile, 8-bit 4:2:0
- Audio
- AAC-LC, 48 kHz stereo
- Bitrate
- 39.4 Mbit/s average
- File
runtime-1080x1920.mp4- Size
- 140.9 MiB (147,752,336 bytes)
- SHA-256
18e0125de5715bd2ead63eb2e12473206f939af6f1040af50caf4b6d17a5d645- Source
- fkkarakurt/demoscene/tree/main/demos/02-runtime
- Licence
- MIT
RUNTIME is a thirty-second vertical demo at 1080×1920 and 60 frames per second whose subject is the renderer itself: the picture is shown being computed, row by row, in the order the engine's eight worker threads take rows off a shared counter. The structure on screen is a Menger sponge stacked into an endless column, and one section draws the soundtrack's own waveform straight from the audio buffer being played. It runs at 128 BPM for 16 bars, exactly 30.000 seconds, and loops.
The video is cut to the bar rather than the bar padded to the video, and it ends on black and silence at exactly the point it begins, because a short is watched twice before it is watched once.
StructurePermalink to “Structure”
| Bar | Time | Section | On screen |
|---|---|---|---|
| 0 | 0:00 | ASSEMBLE | The frame fills in row by row. No drums. |
| 2 | 0:03.8 | LOCK | Kick and bass land on the finished picture. |
| 6 | 0:11.3 | DRIVE | Cut to a low camera, full arrangement. |
| 11 | 0:20.6 | EXPOSE | Everything drops. The waveform draws itself. |
| 14 | 0:26.3 | SIGN | One chord, three lines, out to black. |
The revealPermalink to “The reveal”
The engine renders one row per work item, and eight workers pull row indices off a shared atomic counter. During a real render there is therefore a ragged front a few rows deep, with finished pixels above it and untouched memory below. The opening draws precisely that, slowed from milliseconds to seconds: rows past the front are cleared, rows inside the band are faded up, and the leading edge is lit. The lit edge is the only liberty taken; everything else is a description of what the renderer is doing.
The waveformPermalink to “The waveform”
The EXPOSE section reads the audio buffer the piece is playing and draws one column of pixels per 1.7 milliseconds, spanning exactly one bar, with the playhead where the sound being heard is. Each column is the minimum and maximum of its samples, which is what an audio editor draws. Nothing is stylised. The claim that the music is computed too is otherwise invisible in a video, and this is the section that makes it visible.
The structurePermalink to “The structure”
A Menger sponge with a small rotation applied between levels, repeated every two units of height. The sponge spans −1 to 1, so the repeat stacks copies face to face into a column with no gap and no overlap, and the seam every two units reads as a storey. It was chosen over the folded fractals of COLD START because it is crisp: square openings and right angles all the way down say “this was computed” in a way an organic shape does not. It is found by sphere tracing its distance field.
How it was renderedPermalink to “How it was rendered”
2.4 seconds a frame at 1080×1920 with two anti-aliasing samples, doubled for two temporal subsamples: about 4.8 seconds a frame, and a little over two hours for the 1,800 frames, on the same four-core laptop as the others.