Background removal on a slow laptop
Measured on an i7-7500U with a GeForce 940MX, because that is the machine this was built on.
Written by Hakeemify and last checked on . ProMatte is free software under GPL-2.0-or-later.
Every number on this page was measured on one machine: a 2017 laptop with an Intel Core i7-7500U, two cores, and a GeForce 940MX. It was chosen deliberately because it is close to the worst case somebody is likely to have.
No fast machine has been measured at all. Anything you read here about better hardware is an estimate from the model sizes, and it is labelled as one.
What each model costs on that laptop
| What | Measured |
|---|---|
| MediaPipe Selfie landscape, CPU | 6.2 ms |
| PP-HumanSeg v2 Portrait, CPU | 18 ms |
| PP-HumanSeg v2 Lite, CPU | 19.4 ms |
| Robust Video Matting, CPU | 90.1 ms |
| Robust Video Matting, DirectML on the 940MX | 70.9 ms |
Inference time per frame at 1280x720 input, measured with the project's own benchmark tool.
All measured on Intel Core i7-7500U (2 cores / 4 threads, 2.70 GHz), 32 GB RAM, NVIDIA GeForce 940MX (4 GB, Maxwell), Intel HD Graphics 620, Windows 11 Pro N 25H2 (build 26200), OBS Studio 32.2.2.
What Auto picked, unprompted
CPU backend, PP-HumanSeg v2 Portrait, 256x144, for all six presets on a 2017 low-end laptop (i7-7500U + GeForce 940MX, Windows 11)
Measured: capture/out/manifest.json, capture run 2026-09-09, ProMatte 1.0.2 in OBS 32.2.2Why the GPU lost to the CPU here
On this laptop the GPU that would run the model is the same one OBS renders with, and it is old enough that the driver time-slices the two coarsely. Running inference there made OBS' own frame rate worse, not better.
The controller measured that, moved inference to the CPU, and wrote the decision down so the next start begins there. A modern desktop GPU with hardware preemption does not behave this way, which is exactly why the plugin measures rather than assumes.
What it cost the render thread
render_fps_median 30, render_fps_min 20.3, render_ms_median 3.86, render_ms_max 39.79 on a 2017 low-end laptop (i7-7500U + GeForce 940MX, Windows 11)
Measured: capture/out/manifest.json, capture run 2026-09-09If it is still too slow
- Set Preset to Low-End PC. It caps the AI at fifteen frames a second and uses the cheapest edge upsampling.
- Set Edge upsampling to Fast, and reduce Feather.
- Use Blur quality Fast, or a lower Blur amount.
- Drop your camera to 720p. The AI resolution is chosen from the source, so a smaller source is cheaper end to end.
- Check OBS' own stats. If OBS reports rendering lag while the filter's render time is small, the bottleneck is another source or the encoder, not this.
What to expect on faster hardware
Nothing faster has been measured. The projections that exist are derived from the model sizes rather than from a run on real hardware, and they should be read as estimates and nothing more.
RVM Balanced to Quality at 30 AI FPS, render under 2 ms - an estimate from the model FLOP counts, not measured on this hardware
Estimate from docs/performance.md, 'What to expect on other hardware (estimates from the model FLOP counts)'. Not measured.PP-HumanSeg lite or MediaPipe Selfie at 20-30 AI FPS - an estimate from the model FLOP counts, not measured on this hardware
Estimate from docs/performance.md. Not measured.Real-time AI background removal for OBS. Free, open source, and it never leaves your PC.
Windows installer, Linux .deb and .tar.gz, macOS bundle. Free, GPL-2.0-or-later. ProMatte is GPL-2.0-or-later and stays that way. Sponsorship never buys code, features-behind-a-paywall, or a licence. It buys time, hardware and models.
Questions people actually ask
Do I need an NVIDIA card?
No. It runs on any D3D12-capable GPU through DirectML, including Intel and AMD, and falls back to the CPU. The machine every number here was measured on is a 2017 laptop with a GeForce 940MX.
Will it slow OBS down?
Inference runs on its own thread and the render thread never waits for it. On the test laptop the filter cost 1.7 to 3.3 ms of render time while OBS held 30 fps. Source: docs/final-verification.md section 3.3
Why is the first start slow?
The first DirectML session on a given GPU compiles shaders. That took 8.4 seconds on the GeForce 940MX and 30 to 76 seconds on the Intel HD 620. Video passes through unchanged while it happens. Source: docs/final-verification.md section 8 item 8
Is it really free?
Yes. GPL-2.0-or-later, no account, no licence key, no paid tier. Sponsorship is optional and funds development time, hardware and models, never the code.
Related
- OBS Background Removal: The Complete Guide
- OBS Virtual Background Without a Green Screen
- An obs-backgroundremoval Alternative, and When to Stay Put
ProMatte is free software under GPL-2.0-or-later, built by Hakeemify. Every measurement on this page names the machine it came from.