What does BriseStream cost your game?
On the one machine and the few games we have measured, BriseStream cost less than OBS Studio, and sometimes nothing we could tell apart from noise. It does not meet our 1 % target on every setup yet. Every figure below carries its conditions, including the runs where we lose.
Installer download
Windows installers. BriseStream at its last accepted build.
The short version.
- Target
- At most 1 % of game FPS lost, at 1080p60 and full quality. Not met on every setup yet. If it cannot be reached, the bar is to cost less than every competitor at equal quality.
- What the recorder itself uses
- 0.04 to 0.3 % of the CPU, about 80 MiB at peak, 0.05 to 0.7 point of the GPU's 3D engine, about 10 % of its encode engine. GTX 1050, synthetic 1080p60 game, H.264 at 8 Mbps. OBS 29.1.3 in the same test: 3.6 to 4.1 points of 3D and 21 to 22 % of the encode engine (its settings were close, not identical).
- Installer
- 10.6 MB, against 186.7 MB for OBS Studio 33.0.1. Sources below.
- What we cannot say
- That BriseStream is lighter than OBS at equal quality across games and cards. We have one GPU, one main game and one or two sessions per comparison.
Last updated 2026-11-10. Source: the project's ADR 0012, What recording costs a game, measured against OBS.
Against the other recorders.
Counter-Strike 2 at 1024×768 on a GTX 1050, a local game with bots, the window at its own size, 40-second phases alternating recorder off and on, 2026-11-06.
| Recorder | FPS, mean of pairs | 95 % interval | 1 % low | What is in the file |
|---|---|---|---|---|
| BriseStream, window | +2.9 % / +2.1 % | −1.4 to +10.0 / −5.6 to +12.2 | +6.7 % / +19.2 % | 60 distinct pictures a second, 8 Mbps |
| OBS 29.1.3, window capture | −10.1 % | −13.1 to −5.0 | −41.9 % | 8 Mbps, 57 to 59 distinct pictures a second |
| OBS 29.1.3, game capture (a hook) | −3.2 % | −9.4 to +6.8 | −59.1 % | 8 Mbps, 57 to 59 distinct pictures a second |
| ShadowPlay | −8.1 % | −10.7 to −5.0 | −7.4 % | 60 distinct pictures a second, 50 Mbps (its setting, left as found) |
| Game Bar (set to 60) | −13.9 % | −29.3 to −0.1 | −15.8 % | 30 distinct pictures a second, 5 Mbps |
| Nothing (the noise) | −4.4 % | −13.3 to +0.4 | −10.5 % | The match ended during it, so it finished in the team menu |
- BriseStream shows no cost here, and every other recorder lost FPS or kept fewer pictures. That is a good result, not a proof.
- The intervals overlap for BriseStream, OBS game capture and the noise row. They are far too wide to show a 1 % cost, or the absence of one.
- Other work was loading the CPU during all of it (median 74 to 93 %), and the game's own FPS drifted from 228 to 148 within one session.
- ShadowPlay wrote six times our bitrate, and Game Bar kept half the pictures: this is not equal work.
- OBS, started from a command line, took the focus at each start and minimized the game for about a second; whether all of its poor 1 % low comes from OBS itself was not separated.
Where it costs more.
The runs below are less flattering, and they are the ones to read before deciding.
| Test | BriseStream | Compared with | What to read |
|---|---|---|---|
| Synthetic game, GPU-bound, about 207 FPS, 1080p (2026-11-04) | −3.7 to −4.9 % | OBS 29.1.3 game capture −8.4 to −8.6 %; window capture −9.1 to −11.5 %; Windows capture alone −2.3 to −2.8 % | Less than OBS here, but one very large draw call on an old card at 100 % GPU. It later proved to understate real-game cost. |
| Counter-Strike 2, a real match, about 160 FPS, 1080p60 of the monitor (2026-11-05, before the frame-path rework) | −11.6 / −24.7 / −9.8 % | three recording phases against their neighbours | The synthetic game understated the cost about threefold. The recorder also missed 6 to 16 % of its own frames on a saturated GPU; the later frame-path rework (ADR 0029) was made for that. |
| Counter-Strike 2 with bots, 220 to 290 FPS, 1080p60 file (2026-11-05) | −17 % (1 % low −22 %) | Game Bar set to 60: −7.5 %, but a 1024×768 file at 30 distinct pictures a second | BriseStream kept all 2400 distinct pictures of 40 s in a 1920×1080, 20 Mbps file, and moved about five times the pixels per second. How much of the gap that explains is not known. |
| Counter-Strike 2 played by a person, 1024×768 native, with sound (2026-11-05) | +2.0 % (−2.1 to +6.3) | no competitor in the same run | Recording cannot make a game faster: the positive mean is noise. A loss of about 2 % is not excluded. Inside menus, the game leaves its direct presentation path under capture and runs about 17 % slower; nobody shoots in a buy menu, but it is a cost. |
What it tells us. Capturing through Windows, without a hook, is the largest single cost we found. We keep it on purpose: a hook risks anti-cheat systems and ties us to each game. The hardware encoder is close to free, and the rest is colour conversion and scaling on the 3D engine. Why some menus drop a game out of its direct presentation path only while captured is not known yet.
How we measure.
The tools are in the source code, so anyone with the hardware can repeat a run.
Alternate
The recorder goes on and off in phases of 40 to 60 seconds, after a warm-up, so the game's own variation shows up in both.
Time every frame
PresentMon times every frame the game presents. Each "on" phase is compared with the mean of its two "off" neighbours, with a bootstrap 95 % interval.
Count the pictures kept
FPS alone can be bought by dropping pictures. We count the distinct pictures in the file, because a frame count proves nothing: repeats fill it.
The tools are game-impact (a synthetic game) and game-session (a real game a person plays), in crates/brise-bench. A budget check in continuous integration does not exist yet: it needs a GPU, which hosted runners do not have.
Size on disk.
| Package | Size | Source |
|---|---|---|
| BriseStream installer | 10.6 MB (10,584,719 bytes, 10.1 MiB) | Last accepted build, 2026-11-04, from the repository's size baseline. Budget: 25 MB; the build fails on growth above 5 %. |
| OBS Studio 33.0.1 installer, Windows x64 | 186.7 MB | OBS release 33.0.1 (2026-10-29) on GitHub; its zip is 223.8 MB. |
That is about 17 times smaller. Features have been added since the last accepted build, so the 1.0 installer will weigh more; the 25 MB budget is the ceiling we hold ourselves to. Browser engine, software encoders and AI features are never bundled into it.
The targets, and where each stands.
These are goals we hold ourselves to. The last column says whether a measurement exists.
| Budget | Target | Status |
|---|---|---|
| Game FPS lost | ≤ 1 % | Not met on every setup; see the tables above. |
| Extra 3D-engine load | ≤ 1 point | Met in the synthetic runs (0.05 to 0.7 point). |
| CPU while live | ≤ 2 % of total | Met (0.04 to 0.3 %). |
| Engine memory, simple scene | ≤ 150 MB | Met (about 80 MiB at peak). |
| Installer download | ≤ 25 MB | Met (10.6 MB at the last accepted build). |
| Capture to encoder latency | ≤ 2 frames | No figure published yet. |
| Dropped frames, 4 h, stable network | < 0.1 % | No figure published yet. |
| Go live to first frame sent | < 3 s | No figure published yet. |
| Cold start to usable window | < 1 s | No figure published yet. |
| Idle (not live, not recording, preview hidden) | no GPU work | By design; not published as a measurement. |
See it for yourself.
Version 1.0 is in preparation. When it ships, run the same test on your own game and tell us what you get.