Skip to content

Benchmarks

Riqqqque edited this page Oct 3, 2026 · 1 revision

Performance and Benchmarks

This page reproduces the recorder comparison published on flashbk.gg/benchmarks: what was measured, on what hardware, how, and where another recorder came out ahead. Further down are Flashback-only engineering measurements, kept separate because they answer different questions.

Read this first. Every number in the comparison comes from Flashback 0.6.22 on one PC (Ryzen 7 9800X3D, GeForce RTX 5070) in one game scene (Cyberpunk 2077 at 1080p). Flashback 0.8.0 uses a newer capture path that hasn't been through this comparison yet. No replay recorder has zero cost, and these figures describe this PC and workload, not a promise for other hardware or games.

The headline

One PC. One game. No borrowed numbers.

Flashback, Medal, and NVIDIA ShadowPlay were measured on the same Ryzen 7 9800X3D and RTX 5070 using Cyberpunk 2077's repeatable built-in benchmark.

Result
+29.0% More FPS than Medal Flashback retained 140.92 FPS while Medal averaged 109.23 FPS in the same 1080p benchmark.
+31.5% More FPS than ShadowPlay The same Flashback pass finished 33.74 FPS ahead of NVIDIA ShadowPlay.
238.9 MiB Lowest resident memory About 82% less resident memory than Medal and 52% less than the listed ShadowPlay processes.

Put another way, as on the flashbk.gg home page: Flashback's average-FPS cost against the recorder-off baseline was 5.9%, against 27.0% for Medal and 28.4% for NVIDIA ShadowPlay.

Test system

Game Cyberpunk 2077 2.31
CPU Ryzen 7 9800X3D
GPU GeForce RTX 5070
Driver NVIDIA 610.74
OS Windows 11 build 26200
Capture PresentMon 2.5.1
Measured July 23, 2026

Workload and recorder settings

Run: Cyberpunk 2077 · native raster, labelled 1080p. Setup: 1920×1080 · H.264 · 60 FPS · 60-second replay · 20 Mbps. Tool: PresentMon + game results.

Every active recorder used the same profile: H.264 at 1920×1080 and 60 FPS, 20 Mbps, a 60-second instant replay, system audio on and microphone off.

Recorder versions measured:

Recorder Version
Flashback 0.6.22
Medal 2630.351.1
NVIDIA App / ShadowPlay 11.0.8.299

Full results

Recorder-off baseline: 149.69 FPS average.

Recorder Version Avg FPS vs baseline 1% low 0.1% low P99 frame time Process CPU Resident memory (RAM) Private memory Video encode GPU power
Recorder off — 149.69 — 104.34 92.95 9.01 ms — — — — 196.9 W
Flashback 0.6.22 140.92 −5.86% 103.45 91.05 9.27 ms 0.59% 238.9 MiB 336.4 MiB 7.56% 194.1 W
Medal 2630.351.1 109.23 −27.03% 80.66 75.49 12.07 ms 0.52% 1,313.7 MiB 1,537.7 MiB 9.58% 182.1 W
ShadowPlay 11.0.8.299 107.18 −28.40% 78.86 73.21 12.31 ms 0.01%* 500.2 MiB 667.4 MiB —* 205.8 W

* Flashback and Medal were verified at 20 Mbps. ShadowPlay used the same visible 1080p, 60 FPS, 20 Mbps settings. Its CPU and encode work is distributed across NVIDIA's overlay, driver, and injected components, so the listed-process CPU and encode fields are not a complete total.

1% low FPS against the recorder-off baseline

The 1% low is the frame rate of the slowest 1% of frames, so it shows stutter that an average hides.

Recorder 1% low vs recorder off
Flashback 103.45 −0.85%
Medal 80.66 −22.69%
ShadowPlay 78.86 −24.42%

Flashback's 1% low stayed within 0.85% of the recorder-off baseline. Flashback's final pass retained 94.14% of recorder-off average FPS.

Memory

Recorder Resident memory Compared with Flashback Private memory Compared with Flashback
Flashback 238.9 MiB Lowest measured footprint 336.4 MiB Committed address space
Medal 1,313.7 MiB 5.5× Flashback 1,537.7 MiB 4.6× Flashback
ShadowPlay 500.2 MiB 2.1× Flashback 667.4 MiB 2.0× Flashback

ShadowPlay's figure covers only its listed processes; NVIDIA's driver and overlay do part of its work.

Resident memory (working set) is the physical RAM a process is using. Private memory is committed address space, which is not the same as RAM use, so the two are never mixed.

Where another recorder wins

The benchmark publishes the losses too:

  • CPU: Medal's process used slightly less CPU (0.52% vs Flashback's 0.59%).
  • GPU power: Medal's GPU drew less power (182.1 W vs 194.1 W) while rendering fewer frames.
  • ShadowPlay: its listed processes show less CPU too (0.01%), but that isn't a full total, because part of its work runs in NVIDIA's driver, overlay, and injected components.

CPU percentages are normalized across all of the CPU's logical processors, so 0.59% means a little over half a percent of the whole CPU.

Method

As published with the run:

Every run used Cyberpunk's High raster preset at native 1920×1080. Ray tracing, upscaling, frame generation, VSync, and frame caps were disabled. System audio was enabled, microphones were disabled, and each recorder kept a 60-second H.264 replay buffer.

The recorder-off baseline, Medal, and ShadowPlay figures are three-run means. Flashback is the final measured 0.6.22 optimization pass; earlier Flashback development runs were excluded because the capture engine changed between them. Hardware, drivers, game updates, and capture settings can change results, so these numbers describe this PC and workload rather than every system.

How we test

The rules every published run follows:

  1. Same PC, same scene. Every recorder runs on one machine, one game build, and one repeatable built-in benchmark, back to back.
  2. A recorder-off baseline. Each set starts with no recorder running, so every result is shown as a cost against the game on its own.
  3. Matched settings. Resolution, frame rate, bitrate, codec, and replay length are set the same in every app, and audio is configured the same way.
  4. Repeated runs. Competitor and baseline figures are means of three completed runs. Single passes are disclosed, with the reason.
  5. Frame times, not just averages. PresentMon records every frame, so 1% lows and 99th-percentile frame times show stutter an average would hide.
  6. Every result, even the losses. Where another recorder wins a metric, the chart says so. Memory is split into resident RAM and committed private memory, never mixed.

What was sampled

The published method above is what flashbk.gg shows. These extra details come from the run's own record:

  • No webcam, input overlay, performance overlay, notification or save sound was active during a pass.
  • Cyberpunk 2077 repeats the same camera path in its built-in benchmark and writes its own frame-time data and result metadata.
  • PresentMon records the exact game process, frame by frame.
  • Recorder, game, GPU, power, and memory counters are sampled once per second.
  • The game ran Windowed Borderless, with ray tracing, path tracing, resolution scaling, frame generation, dynamic resolution, VSync, and the frame limiter all off.
  • One unmeasured warm-up pass ran before the measured sequence.

Repeat it yourself

The point of publishing the method is that you can check it. To run the same kind of comparison on your PC:

  1. Fix the scene. Use a game with a repeatable built-in benchmark. For a like-for-like repeat: Cyberpunk 2077, High raster preset, native 1920×1080, Windowed Borderless, with ray tracing, path tracing, upscaling, frame generation, dynamic resolution, VSync and frame caps off.
  2. Match every recorder. Hardware H.264, 1080p, 60 FPS, 20 Mbps, a 60-second replay buffer, system audio on, microphone off, and no webcam, overlays, notifications or save sounds.
  3. Warm up once and discard that pass.
  4. Measure a baseline with no recorder running, then each recorder in turn, on the same game build and driver.
  5. Capture every frame with PresentMon on the game process, and compute average FPS, 1% low, 0.1% low and the 99th-percentile frame time from the per-frame data.
  6. Sample the recorder once per second: process CPU (normalized across all logical processors), resident and private memory, GPU video-encode load, and GPU power.
  7. Run each configuration three times and report the mean.
  8. Report the losses as well as the wins, and say when a recorder's work happens outside the processes you can measure.

The measured values behind the published charts are on flashbk.gg/benchmarks/data. If you'd like a particular game or GPU tested next, send a request.

Since this test

Flashback 0.8.0 uses a newer capture path that hasn't been through this comparison yet. Since the test, version 0.7.38 sends each frame to the encoder with one GPU copy instead of three, cutting Flashback's share of the GPU by about 12% on the test PC while the cursor is hidden. The 0.6.22 figures above remain the published comparison.

Results can change with game updates, drivers, thermals, background software and capture settings. All published numbers come from one NVIDIA GPU; there are no published AMD or Intel results yet.


Other Flashback measurements

These are engineering measurements of Flashback's own capture engine, each on a single PC. Most were taken on a quiet desktop rather than in a game, so they show what a change did to the recorder, not game FPS and not typical gameplay.

Capture pacing (0.6.21 and 0.7.1)

Before 0.6.21, Desktop Duplication fetched and resized frames close to the display's refresh rate even when the output was 60 FPS. Pacing capture to the output rate changed this:

Change Setup Before After
Source-rate pacing (0.6.21) 480 Hz display, 1080p60, Cyberpunk title workload Recorder CPU 1.676%, 3D engine 5.634%, copy engine 0.673% Recorder CPU 0.900%, 3D engine 1.805%, copy engine 0.120%
Tighter DDA margin, 120% to 105% (0.7.1) 1440p60 Desktop Duplication, three runs CPU 0.85% avg, 2.44% P95 CPU 0.69% avg, 2.12% P95, output exactly 60 FPS

Working set stayed essentially flat through the 0.6.21 change (208.1 MiB before, 204.3 MiB after).

High-frame-rate pacing (0.6.22)

A 60.021-second 1080p240 H.264 validation stream contained 14,405 decoded frames at exactly 240/1 FPS.

Capture-engine matrix (0.6.20)

185 seconds per profile with Desktop Duplication, hardware H.264, system and microphone audio, a 45-second replay, four automatic rollovers, and a final saved replay. Quiet desktop, not gameplay.

Profile CPU (avg) Working set (avg)
1080p60, 18 Mbps 0.098% 145.7 MiB
1440p60, 24 Mbps 0.100% 156.7 MiB

Installed release with the window hidden (0.6.19)

1440p60 H.264 at 24 Mbps, 45-second replay, system audio and microphone on: 0.564% average CPU and 222.1 MiB working set.

4K60 (quiet desktop, H.264 45 Mbps)

Capture method CPU (avg) Peak working set
Desktop Duplication 1.074% 149.9 MiB
Windows Graphics Capture 0.732% 150.7 MiB

Isolated capture worker (0.6.71)

Two 1080p60 HEVC worker runs: Windows Graphics Capture sustained 60.001 FPS at 0.496% CPU, and a Desktop Duplication request, which used the session's compatibility fallback on that display, sustained 59.984 FPS at 0.395% CPU. Peak worker working set was 168.1 MiB and 170.9 MiB, and both saved replays decoded to all 2,700 expected frames.

Smoother joins (0.6.55)

The largest video gap where two buffer segments meet in a saved replay went from 33.316 ms to 16.667 ms, one frame at 60 FPS, with no re-encode. See Audio and video sync.

Where the memory goes (0.6.9)

In a process of roughly 253 to 284 MiB, only about 14.5 MB was the .NET managed heap (measured on 0.6.9, before the capture worker split and the move to .NET 10). The rest was native Windows capture, Media Foundation, audio, hardware-encoder and interface memory. See Built on .NET 10.

Budgets Flashback holds itself to

  • Balanced 1080p60 capture with the window hidden: under 400 MB working set and under 4% CPU during ordinary desktop motion.
  • A saved clip is available within 3 seconds of the current segment finishing.
  • The buffer on disk is bounded and pruned automatically.

Related pages: Why Flashback is light · Capture pipeline · Hardware encoding · Release qualification

Clone this wiki locally