measured, not claimed
Infinite benchmarks
How Infinite v0.6 compares with the instruments, effects and creative tools you already use, on a base MacBook Air. Including the parts where it is slower.
Version 0.6.0 · Measured 17 October 2026 · Apple M2, 8 GB
At a glance
We measured Infinite against the tools you already use, on one ordinary laptop, with the same tests for everyone, and we publish the numbers that are good for us and the ones that are not.
Launch to first frame on a base MacBook Air M2 with 8 GB. Opening a 400-node patch takes 6 ms.
Worst pitch error across the keyboard from the Wavetable synth. Vital and Serum 2 measure the same.
Faster movie export than Blender on the same test scenes (different renderers; throughput, not image style).
Memory with the app open and idle. The download is 45 MB.
Of the plugins installed on the test machine load and pass audio in Infinite's plugin host.
Audio dropouts and 0 % missed screen refreshes in the standard live-performance test.
Where Infinite is behind
- Idle CPU. With nothing loaded Infinite sits at 12.3 % of one core. Logic, Blender and Vital sit under 4 %. We are working on it.
- Some built-in effects cost more CPU than the plugin equivalents: EQ, Limiter, Drive and Chorus (Section 4).
- Instancing. 10,000 instanced objects cost 3.1 ms a frame in Infinite and 1.3 ms in Blender.
- The heaviest projector scene (four 4K videos, three output windows, a camera and Syphon at once) drops frames. Normal and 1080p scenes do not.
- Default levels. Reverb, Delay, Chorus and Flanger come out louder than they go in at their default settings.
How we tested
Everything here was measured on one machine: a MacBook Air with an Apple M2 and 8 GB of memory, running macOS. That is the base model, on purpose. If it is fast here it is fast on yours. Nothing was measured on Windows or Linux.
- Black box. Notes or audio go in, the result comes out and is measured. We never open or read the other product.
- Same test for everyone. A competitor plugin runs inside Infinite's own plugin host, receives the same notes or the same test signal, and is measured by the same code as Infinite's own nodes.
- Default settings. Every instrument and effect is tested as it loads, so presets are not hand-picked to flatter anyone. Where a default does nothing (an EQ with no bands) only its CPU cost is meaningful, and the report says so.
- CPU is the render cost. Milliseconds of processing per second of audio, with the machine otherwise idle. Lower is better, and 10 ms/s is 1 % of one core. Differences under about 1 ms/s are noise.
- Versions. Infinite 0.6 (a development build matching the 0.6.0 release); Ableton Live 12.4.6, Bitwig Studio 6.0.3, Logic Pro 12.3.1, TouchDesigner 2025.32820, VCV Rack 2.6.6, Blender 5.1.0, BespokeSynth 1.3.0, Vital 1.5.5, Serum 2.0.16, Diva 1.4.5, FabFilter Pro-R 2 2.04, Pro-C 2 2.20, Saturn 2 2.11, plus the installed versions of Valhalla and Kilohearts plugins.
- Reproduce it. The tools are in the repository under
tools/re-survey. Section 8 lists the commands.
Dates: instruments, effects and apps were measured on 17 October 2026; the internal tests and 3D/render comparisons on 12 to 16 October 2026.
Instruments
Eight notes from MIDI 24 to 108 are played into each synth, and what comes out is analysed. Pitch error is the worst note, in cents (a hundredth of a semitone). Aliasing is the energy that is not part of the note, in decibels; more negative is cleaner, and the high notes at 96 and 108 are where cheap synths fold back and sound harsh. CPU per voice is the extra render time for each added note.
| Instrument | Worst pitch error (cents) | Off-note energy, MIDI 60 (dB) | MIDI 96 (dB) | MIDI 108 (dB) | CPU per voice (ms/s) | Responds to velocity |
|---|---|---|---|---|---|---|
| Infinite Wavetable | 0.2 | -84.2 | -84.9 | -83.9 | 1.45 | 24 dB |
| Infinite Analog | 0.2 | -84.0 | -82.9 | -81.1 | 9.05 | 24 dB |
| Infinite Oscillator | 0.2 | -74.0 | -82.1 | -82.1 | 3.40 | 24 dB |
| Vital | 0.2 | -84.3 | -84.3 | -83.6 | 2.82 | none |
| Serum 2 | 0.2 | -83.0 | -82.6 | -81.9 | 3.23 | none |
| Diva | 7.8 | -40.8 | -27.0 | -10.4 | 23.24 | 12.9 dB |
What this means
- Infinite's Wavetable and Analog synths are as accurate and as clean as Vital and Serum 2: 0.2 cents, and about -81 to -85 dB off-note energy even at the top of the keyboard.
- Wavetable is also light: 1.45 ms/s per voice against 2.82 for Vital and 3.23 for Serum 2. Analog is the heavier of the two at 9.05 ms/s.
- Diva is measured as it loads and sits an octave down with a modelled, imperfect oscillator. Its figures describe an analog-style design, not a flaw.
- Infinite's synths respond to how hard you play across a 24 dB range. Vital and Serum 2 ignore velocity until you route it yourself, so that column compares defaults, not capability.
- Not comparable: Kilohearts Phase Plant and FabFilter Twin 3 came up silent or unusable with no patch loaded, so they are left out rather than guessed at.
Effects
A test tone or noise goes through each effect at its default settings. CPU is the render cost in ms per second of audio (lower is better). Latency is the delay the effect adds after the host compensates for it.
| Effect | Infinite CPU | Infinite latency (ms) | Compared with | CPU | Latency (ms) | Result |
|---|---|---|---|---|---|---|
| Reverb | 8.5 | 0.0 | ValhallaRoom | 17.2 | 11.4 | Infinite lighter |
| 8.5 | 0.0 | FabFilter Pro-R 2 | 34.6 | 0.0 | Infinite lighter | |
| Delay | 3.3 | 0.0 | ValhallaDelay | 7.5 | 0.0 | Infinite lighter |
| Compressor | 2.8 | 0.0 | FabFilter Pro-C 2 | 5.3 | 0.0 | Infinite lighter |
| Limiter | 13.4 | 0.0 | FabFilter Pro-L 2 | 10.9 | 0.0 | Plugin lighter |
| EQ | 14.5 | 0.0 | FabFilter Pro-Q 4 | 3.0 | 0.0 | Plugin lighter |
| Drive / saturation | 28.2 | 0.0 | FabFilter Saturn 2 | 8.1 | 0.0 | Plugin lighter |
| Chorus | 3.9 | 0.0 | Kilohearts Chorus | 1.5 | 0.0 | Plugin lighter |
| Flanger | 2.0 | 0.0 | Kilohearts Flanger | 1.8 | 0.0 | About equal |
| Phaser | 3.2 | 0.0 | Kilohearts Phaser | 2.4 | 0.0 | About equal |
What this means
- Infinite is lighter on Reverb, Delay and the compressor, and about level on Flanger and Phaser.
- The plugins are lighter on EQ, Limiter, Drive and Chorus. The EQ gap is the clearest: 14.5 ms/s for Infinite against 3.0 for Pro-Q 4. These are on our list to fix.
- Infinite effects add no delay once compensated (0 ms). ValhallaRoom reports 11.4 ms.
- At default settings Infinite's Reverb, Delay, Chorus and Flanger are louder than the input and can clip. FabFilter Pro-R 2 and ValhallaDelay stay within about 1 dB. We list this as a known issue.
- An EQ with no bands, a limiter that is not limiting and a compressor with no gain reduction are close to a wire. Their distortion figures match the test rig, so only their CPU cost is a fair comparison.
3D, video and export
Blender runs headless through its public Python interface; Infinite runs the matching patch. Cloth and subdivision are one simulation step or one deform per frame. Movie export times the whole render and encode, measured as the slope between a 1-second and a 3-second render so start-up cancels out. Blender here is a general-purpose renderer, so this compares export throughput on matched scenes, not image style.
| Test | Infinite | Blender | Result |
|---|---|---|---|
| Cloth sheet 32×32, per frame | 0.42 ms | 18.4 ms | Infinite much faster |
| Subdivide ×2 with animated displacement, per frame | 7.2 ms | 8.1 ms | Infinite slightly faster |
| 10,000 instanced objects, per frame | 3.1 ms | 1.3 ms | Blender faster |
| Movie export, 720p ProRes 4444, blur scene | 170 fps | 1.6 fps | Infinite ~100× faster |
| Movie export, 1080p ProRes 4444, blur scene | 81 fps | 1.2 fps | Infinite ~70× faster |
| Movie export, 2160p ProRes 4444, blur scene | 44 fps | 0.5 fps | Infinite ~95× faster |
| Movie export, 720p ProRes 4444, 10,000 cubes | 128 fps | 0.9 fps | Infinite ~145× faster |
| H264 quality (PSNR), blur scenes | 50.6 to 51.8 dB | 44.3 to 46.1 dB | Infinite higher |
| H264 quality (PSNR), 10,000 cubes | 35.5 to 37.1 dB | 28.8 to 32.2 dB | Infinite higher |
| Sound-to-picture offset, 10-minute render | 0.04 ms | 0.02 ms | Both inaudible |
| Sound-to-picture drift, 10-minute render | 0 ms/min | 0 ms/min | Tied |
What this means
- A 10-minute film at 30 fps is about 18,000 frames: roughly two minutes to export from Infinite at the 720p rate above, about three hours from Blender. Audio and picture stay locked: drift over ten minutes is zero.
- Instancing is the one 3D test Infinite loses, by a factor of 2.4, and is flagged below target.
- A rendered arrangement runs at 2.25× real time on the reference scene, with no audio/video drift.
Launch, memory and download size
Each app is opened with nothing loaded and left alone. Window is the time from opening it until the first window appears (the first launch, then a warm launch). Idle CPU is the share of one core used while doing nothing, over the whole app including its helper processes. Memory is what Activity Monitor shows.
| App | First window, first launch (s) | Warm (s) | Idle CPU % (mean / max) | Memory (MB) | Download size on disk (MB) |
|---|---|---|---|---|---|
| Infinite | 0.8 | 0.8 | 12.3 / 13 | 244 | 45 |
| Logic Pro | 2.5 | 1.3 | 3.9 / 8 | 122 | 2194 |
| Ableton Live 12 Suite | 4.7 | 3.1 | 41.9 / 49 | 672 | 8021 |
| Bitwig Studio | 7.8 | 6.2 | 17.6 / 110 | 1392 | 874 |
| TouchDesigner | 4.2 | 2.5 | 49.8 / 57 | 1396 | 1707 |
| Blender | 2.0 | 2.0 | 1.9 / 3 | 693 | 879 |
| VCV Rack 2 | 1.9 | 0.8 | 521.7 / 609 | 264 | 42 |
| BespokeSynth | 6.8 | 2.1 | 26.2 / 31 | 1528 | 268 |
| Vital (plugin app) | 2.2 | 0.7 | 0.4 / 2 | 252 | 24 |
What this means
- Infinite is a small install: 45 MB, against 874 MB to 8 GB for the DAWs and TouchDesigner. Only VCV Rack and Vital are as small.
- Memory is lower than Ableton, Blender, Bitwig, TouchDesigner and BespokeSynth. Only Logic sits lower.
- Infinite opens its first window in under a second here, the quickest first launch of the apps tested. Infinite, Blender and Vital were re-measured on a quiet machine; the rest come from the first pass.
- Idle CPU is mid-pack: higher than Logic, Blender and Vital (all under 4 %), lower than Bitwig, BespokeSynth, Ableton and TouchDesigner. VCV Rack's high figure is its audio engine running continuously by design.
How fast Infinite is on its own
These are Infinite's own targets, tested on the same base laptop. They matter for live use: if the audio buffer is missed you hear a click, and if a frame is missed you see a stutter.
| Test | Result | Target | |
|---|---|---|---|
| Launch to first frame | 342 ms | under 1 s | Met |
| Open a 400-node patch | 6.0 ms | under 16.7 ms (one frame) | Met |
| Save a patch | 2.9 ms | under 16.7 ms | Met |
| Open a 4,000-node patch (headless) | 0.87 s | reported | Info |
| Pan around a 300-node canvas | 60 fps (16.7 ms) | 60 fps | Met |
| Audio: 24 voices, 256-sample buffer, worst-case load | 45 % of the buffer | under 50 % | Met |
| Audio dropouts in that test | 0 | 0 | Met |
| Live projector, window frame interval (99th percentile) | 17.6 ms | under 18.3 ms | Met |
| Missed screen refreshes | 0 % | under 0.5 % | Met |
| Change a control to seeing it on screen | 1 frame | 2 frames or fewer | Met |
| Four 4K videos decoded at once | full speed, at most 2 dropped frames | full speed, 0 dropped | Met |
| Heaviest projector scene (4× 4K, 3 windows, camera, Syphon) | 33 ms, 9 % missed refreshes | under 18.3 ms, 0.5 % | Below target |
| Peak memory in the heavy visual scenes | 760 MB | under 912 MB | Met |
| Audio-reactive picture latency | 16.6 ms | under 45 ms | Met |
| Beat lock, picture to click | 100 % | 100 % | Met |
| Crashes in fuzzed patches, random patches and kill-during-save rounds | 0 | 0 | Met |
| Plugins that load and pass audio | 97.6 % (VST3 and AU) | reported | Info |
| Installed plugins that crash Infinite with no outside cause | 0 | 0 | Met |
| 30-minute soak test, live audio and picture | 0 audio dropouts | reported | Info |
Correctness checks
The full list at the end of this report covers every further check, all passing or listed as known exceptions: pitch within one cent at 44.1, 48 and 96 kHz; no clicks when notes start or stop; no stuck notes after release; the same patch renders bit-for-bit the same twice; no hum or DC offset from effects; blend modes within 0.125 of 255 against the W3C formulas; no broken meshes. The three known exceptions are the insert-level jump on some effects, a small level error on stretched drum hits, and some winding-order flips in the Screw geometry node.
Not yet measured
Four long or heavy tests are defined but have not been run: a 4,000-node canvas under pan, select and delete; an edit storm while audio plays; a multi-hour soak with memory growth and temperature; and a real-time audio-reactive scene of 10,000 instances. Until they are run we do not claim results for them.
What we did not test, and how to reproduce this
- No head-to-head against other DAWs on audio load or latency. Matched track-count tests in Ableton, Bitwig and Logic need a hand-built project in each, and round-trip latency needs a loopback device.
- No live visual comparison with TouchDesigner or Resolume yet. The harness exists; it needs a manual step inside TouchDesigner.
- One machine, one operating system. Numbers on faster hardware will be better, and Windows and Linux are unmeasured.
- Defaults, not best case. A plugin with a tuned preset would measure differently.
- Our numbers only. Every figure here was measured by us on this machine. No vendor claims or published specs are used.
Run it yourself
git clone https://github.com/n1m21n/Infinite && cd Infinite
python3 tools/re-survey/synth_probe.py run Vital "Serum 2" node:Wavetable
python3 tools/re-survey/plugin_probe.py run dry node:Reverb ValhallaRoom
python3 tools/re-survey/app_bench.py run Logic Blender /Applications/Infinite.app --runs 2
python3 tools/re-survey/render_bench.py infiniteCorrections and re-runs are welcome: open an issue at github.com/n1m21n/Infinite or tell us on Discord.
Full results
Every one of the 97 metrics we track, with its target and the worst result across all the nodes or scenes tested. "Reported" means there is no pass/fail target (a design choice is compared, not judged). The competitor comparisons are in Sections 3 to 6.
AV integration
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Click in the movie audio to the audio-reactive flash in its picture, 30 fps offline render; 45 ms = picture-late sync bound | ≤ 45.00 ms | 16.63 (Infinite) | Met |
| Std dev of that latency over 31 beats at 128 BPM (frame quantisation alone gives ~9.6 ms at 30 fps) | reported | 9.33 (Infinite) | Reported |
| Beats whose reactive flash lands 0-1 frames after the first possible frame, never early | ≥ 100 % | 100 (Infinite) | Met |
| Absolute trend of reactive frame error over the take | ≤ 1.00 ms/min | 0 (Infinite) | Met |
| Beat-clock flash (no analysis) within 0-1 frames of the click in the same movie | ≥ 100 % | 100 (Infinite) | Met |
Note nodes
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Stuck, orphan-off, duplicate-on and off-before-on events | ≤ 0 count | 0 (Arpeggiator) | Met |
| Worst note-on error against the grid across block sizes and tempi | ≤ 1.00 samples | 0.793 (Arpeggiator) | Met |
| Note-on error through the node, plus missing notes | ≤ 0 samples | 0 (Note Filter) | Met |
Project files
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Published community patches that fail the smoke (tools/website/community_patches.py --smoke): each must open, play and show a picture or sound. Pixels are never compared; patches may change as Infinite evolves | ≤ 0 count | 0 (community patches) | Met |
Stability
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Crashes, hangs or unstable saves over every node type, 300 fuzzed patches, random patches and 40 kill-during-save rounds | ≤ 0 count | 0 (fuzz) | Met |
Audio I/O
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Gain knob error over -48..+24 dB | ≤ 0.01 dB | 0 (Gain) | Met |
| Mixer sum error against a double-precision reference | ≤ 1e-06 abs | 0 (Mixer) | Met |
Built-in instruments
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Pitch error per note at 44.1/48/96 kHz (spectrum peak, sustained render) | ≤ 1.00 cents | 0.0345 (Analog) | Met |
| Pitch error of note 69 played through the note cable | ≤ 1.00 cents | 0.009 (Analog) | Met |
| Non-harmonic energy re fundamental at 1.75 and 5 kHz, 48 kHz | ≤ -80.00 dB | -82.63 (Oscillator) | Met |
| Level spread of the same 3 s render over 44.1/48/96 kHz | ≤ 1.00 dB | 0.824 (PaulStretch) | Met |
| Note-on second difference re the larger of steady state and the 5-50 ms body | ≤ 12.00 dB | 5.70 (Wavetable) | Met |
| Note-off second difference re steady state | ≤ 12.00 dB | -0.0027 (Equation Synth) | Met |
| Level 9.5 s after all notes off (stuck voices); free-running nodes are not measured | ≤ -100 dBFS | -240 (Analog) | Met |
| Peak of a 4-note chord at velocity 0.8, defaults | ≤ 0 dBFS | -2.33 (Field Synth) | Met |
| Peak of a single sustained note, defaults | ≤ 0 dBFS | -3.11 (Analog) | Met |
| Fixture WAV (48 kHz) pitch spread over 44.1/48/96 kHz device rates | ≤ 20.00 cents | 6.85 (PaulStretch) | Met |
| Fixture WAV playback length, longest over shortest across device rates | ≤ 1.02 ratio | 1.00 (Granular) | Met |
| 1 when the same render twice is not bit-identical | ≤ 0 bool | 0 (Analog) | Met |
| Worst pitch error over MIDI 24-108, black box through the host | ≤ 1.00 cents | 0.174 (Wavetable) | Met |
| Non-harmonic energy at MIDI 60 (clean reference); best competitor about -84 | ≤ -80.00 dB | -84.16 (Wavetable) | Met |
| Non-harmonic energy at MIDI 96 (aliasing) | ≤ -80.00 dB | -83.26 (Analog) | Met |
| Non-harmonic energy at MIDI 108 (aliasing) | ≤ -80.00 dB | -81.20 (Analog) | Met |
| Default-patch attack 10-90 % (a design choice, compared not judged) | reported | - | Reported |
| Default-patch release to -60 dB | reported | - | Reported |
| Level change velocity 0.25 -> 1.0 | reported | - | Reported |
| Worst pitch error of a built-in instrument at its default patch, same MIDI through each app's own bounce (compared, not judged: defaults differ) | reported | 41.45 (Metallic) | Reported |
| Non-harmonic energy at MIDI 108 of a built-in instrument at its default patch (aliasing), per app | reported | -3.66 (FieldSynth) | Reported |
Effects
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Mean DC left by an effect under noise, at defaults | ≤ -50.00 dBFS | -55.11 (Bitcrush) | Met |
| Level 10 s after the input goes silent | ≤ -100 dBFS | -240 (Audio Filter) | Met |
| Worst step transient when a parameter jumps | ≤ 12.00 dB | 9.00 (Dynamics) | Met |
| Tone level difference across 44.1/48/96 kHz | ≤ 1.00 dB | 0.996 (Key-Snap) | Met |
| Level change when the node opens: default mix, pink noise at -20 dBFS | ≤ 1.00 dB | 10.82 (Shape Resonator) | Known exception |
| Chorus and Flanger: residual between a -1 dBFS and a scaled -12 dBFS 1 kHz tone (level-dependent distortion) | ≤ -60.00 dB | -143 (Flanger) | Met |
| Latency of a built-in effect after the app's own compensation (a bounce should read 0) | reported | 0.188 (AudioFilter) | Reported |
| THD of a built-in effect at defaults, 1 kHz at -12 dBFS; effects with a tail over 0.5 s are not measured | reported | -35.01 (Drive) | Reported |
Plugin hosting
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Installed plugins that crash or hang Infinite's host with no outside evidence the plugin is at fault (bad signature, auval crashes too) | ≤ 0 count | 0 (AU) | Met |
| Installed plugins that load and pass audio in Infinite's host, headless | reported | 97.59 (VST3) | Reported |
Timeline audio
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Worst count of drum hits heard twice (flams, pre-echo) over 0.5/0.8/1.25/2x Timeline Sample stretch | ≤ 0 onsets | 0 (Infinite) | Met |
| Worst drum hit against the median hit over the four stretch ratios | ≤ 5.00 ms | 3.25 (Infinite) | Met |
| Worst drum crest against the ideal stretch (hits at their own length, clipped to full scale) over the four ratios | ≤ 0.5 dB | 2.50 (Infinite) | Known exception |
Project files
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Headless load (parse, build every node, check) of the largest generated patch, process start included | reported | 0.874 (4000 nodes) | Reported |
| 1 when a generated patch of that size fails to load or to write back | ≤ 0 bool | 0 (10 nodes) | Met |
3D engine
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Per-frame cost of 10,000 instances on a 100x100 grid, scale animated (Infinite: render slope net of baseline; Blender: depsgraph eval, 2026-10-13) | ≤ 1.30 ms | 3.08 (Infinite) | Below target |
| 32x32 grid, subdivide x2 smooth, animated noise displacement, per frame (Blender 2026-10-13 sets the target) | ≤ 8.10 ms | 7.19 (Infinite) | Met |
| 32x32 cloth sheet pinned on one edge, one simulation step per frame (solvers differ: Blender 5 quality steps, Infinite 6 iterations) | ≤ 18.40 ms | 0.422 (Infinite) | Met |
Compositing
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Blend modes against the W3C formulas, worst over modes | ≤ 1.00 x/255 | 0.125 (Blend) | Met |
Geometry
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Triangles whose winding disagrees with their vertex normals | ≤ 0 triangles | 14608 (Screw on sphere) | Known exception |
| Non-manifold or one-direction edges on shapes that promise a closed mesh | ≤ 0 edges | 0 (Capsule) | Met |
| Worst edge stretch of a pinned cloth after 12 s | ≤ 50.00 % | 1.39 (Cloth) | Met |
| Instance transforms with a negative determinant | ≤ 0 count | 0 (Instance on Points) | Met |
| Decimate: worst vertex distance to the original surface | ≤ 5.00 % bbox | 0.851 (Decimate) | Met |
| Displacement: worst vertex off the formula | ≤ 0.02 units | 0 (Displacement) | Met |
Bench: audio
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Audio callback load p99, 24 voices, per buffer size | ≤ 50.00 % | 44.75 | Met |
| Xruns at 256 frames, the buffer (64 frames is not a target) | ≤ 0 count | 0 | Met |
| Audio-thread ms per second of audio per track (synth + effect, held 4-note chords, offline), cheapest track count | reported | 68.36 (Analog+EQ) | Reported |
| Tracks of that synth + effect at 70 % of one core | reported | 10.00 (Analog+EQ) | Reported |
Bench: canvas
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Canvas frame p50 while panning a 200-400 node patch (>= 60 fps) | ≤ 17.20 ms | 16.67 | Met |
| Canvas frame p95 while panning a 200-400 node patch (>= 45 fps) | ≤ 22.80 ms | 16.69 | Met |
| Canvas frame p95 while panning a 4000-node patch | ≤ 33.30 ms | - | Not yet measured |
| Canvas frame p95 while select-all and clear alternate on 4000 nodes | ≤ 33.30 ms | - | Not yet measured |
| Worst frame around deleting all 4000 nodes through the Delete-key path | ≤ 500 ms | - | Not yet measured |
| Nodes left after the delete-all (0 = every node went) | ≤ 0 count | - | Not yet measured |
Bench: fundamentals
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Launch to first frame swapped | ≤ 1000 ms | 342 | Met |
| Patch load, 50-400 nodes | ≤ 16.70 ms | 6.04 | Met |
| Patch save, 50-400 nodes | ≤ 16.70 ms | 2.86 | Met |
Bench: live edit
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Edit storm: edits (add, connect, delete, Field preset load) whose frame did over one refresh period of work or ran over 1.5 periods | ≤ 0 frames | - | Not yet measured |
| Edit storm: most frame work any single edit cost (one 60 Hz period) | ≤ 16.70 ms | - | Not yet measured |
| Edit storm: audio dropouts while the graph is edited under live load | ≤ 0 count | - | Not yet measured |
Bench: media I/O
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Decoded fps over the clip's own fps, per clip | ≥ 1.00 x clip fps | 1.01 | Met |
| Decoded frames dropped, per clip | ≤ 0 frames | 0 | Met |
| Projector window interval p99 (locked 60 fps), per window | ≤ 18.30 ms | 33.21 | Below target |
| Projector window intervals over 1.5 refresh periods, per window | ≤ 0.5 % | 9.36 | Below target |
Bench: memory
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Render targets reallocated in steady state (/scenes, also the scenes) | ≤ 0 count | 0 | Met |
| Peak OS footprint, /at scale l; budget = b2 baseline 760 MB + 20 % | ≤ 912 MB | 760 | Met |
Bench: offline render
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Arrangement render of the scene: seconds of take per wall second | ≥ 1.00 x realtime | 2.25 | Met |
| Worst A/V marker drift in the rendered movie (av-sync-sweep: 2 frames anywhere) | ≤ 2.00 frames | 0 | Met |
| A/V drift at the end of the take (av-sync-sweep: 1 frame at the end) | ≤ 1.00 frames | 0 | Met |
| Movie render speed (render + encode) per scene and codec, from the slope between a 1 s and a 3 s render | reported | 44.46 (blur_2160p/prores4444) | Reported |
| Luma PSNR of the H264 movie against the same frames written lossless | reported | 35.47 (instanced_720p) | Reported |
| Sound minus picture in a 10 minute rendered movie of flashes and clicks, absolute | reported | 0.0417 (Infinite) | Reported |
| Sync drift over the same 10 minute movie, absolute | reported | 0 (Infinite) | Reported |
Bench: projector
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Projector present interval p99 under live load; locked 60 fps = 1.1 x 16.7 ms | ≤ 18.30 ms | 17.64 | Met |
| Projector intervals over 1.5 refresh periods (: under 0.5 %) | ≤ 0.5 % | 0 | Met |
| Injected param change to Output revision, worst sample | ≤ 2.00 frames | 1.00 | Met |
Bench: soak
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Soak RSS growth, last 5 min vs first 5 min after warm-up | ≤ 2.00 % | - | Not yet measured |
| Soak xruns over the whole run | ≤ 0 count | - | Not yet measured |
| Soak fps drop first to last sample (reported, not hidden: no target) | reported | - | Not yet measured |
Built-in instruments
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| Render cost per frame, one voice | ≤ 4000 ns/frame | 347 (Spectral Synth) | Met |
| Render ms per second of audio per voice, offline | reported | 29.94 (Analog) | Reported |
Live scene
| What is measured | Target | Worst result | Status |
|---|---|---|---|
| P95 frame time of a real-time audio-reactive 10,000-instance scene at 1280x720 (TD logs its own; Infinite needs the GUI) | ≤ 16.70 ms | - | Not yet measured |
| Frames over 1.5x the 60 fps budget in that scene | ≤ 1.00 % | - | Not yet measured |
Questions people ask
Is Infinite faster than Vital or Serum 2?
On sound quality they are level: all three measure about 0.2 cents of pitch error and about -81 to -85 dB of off-note energy. Infinite's Wavetable synth uses 1.45 ms of CPU per second of audio per voice, against 2.82 for Vital and 3.23 for Serum 2.
How fast does Infinite export video compared with Blender?
On matched test scenes on a base MacBook Air M2, Infinite exported ProRes 4444 at 170 fps at 720p and 44 fps at 4K, against 1.6 fps and 0.5 fps for Blender. These are different renderers, so this compares throughput, not image style.
How much memory and disk does Infinite use?
244 MB of memory with the app open and idle, and 45 MB on disk. That is less memory than Ableton Live, Blender, Bitwig, TouchDesigner and BespokeSynth, and a fraction of the size of the DAWs tested (Ableton Live is 8 GB on disk).
Where is Infinite slower than other tools?
Idle CPU (12.3 % of a core with nothing loaded), the built-in EQ, Limiter, Drive and Chorus effects, 10,000-object instancing, and the heaviest multi-4K projector scene. All are listed as below target.
Which computer were these benchmarks run on?
A base MacBook Air with an Apple M2 and 8 GB of memory, running macOS, on 12 to 17 October 2026. Windows and Linux were not measured.