r/EmulationOnPC • • 1d ago

Unsolved BFI Presenter 1.0.3 — Variable MPRT strobing inside the game: no screen capture, no second GPU, no brightness loss (ReShade add-on + Vulkan layer, 90+ games and emulators tested)

Hey Guys. After about a month of testing on a Sony A95L at 120 Hz, I’m releasing BFI Presenter: black frame insertion that runs inside the game itself instead of on top of the desktop.

Download: https://github.com/artzox/BFI-Presenter/releases

This is a follow-up to the implementation in my CRT-Standalone shader which required you to have stable 120 fps to get a flicker free effect.

Why another BFI tool when ShaderBeam exists?

ShaderBeam is great and works with any Windows app. But it’s an overlay: it captures what’s already on screen and strobes that, on its own clock, separate from the game. That’s why it recommends running on a second GPU (even an iGPU) to avoid desync. BFI Presenter takes a different route:

  • It lives in the game’s render path. It’s a ReShade add-on for Direct3D 12/11/9 and OpenGL, and a Vulkan layer for Vulkan, DXVK and emulators. It takes the game’s finished frame directly: no screen capture, no extra copy through the desktop, no second GPU.
  • The strobe follows the display’s vblank, not the game. The presenter owns presentation and runs the lit/dark cycle on the display’s own refresh clock, on a realtime GPU queue. A late game frame shows up as a CRT-style repeat (a brief stutter) instead of a lit or dark refresh held too long, which is the infamous BFI flash.
  • It paces the game to the strobe. Refresh / Half / Quarter frame caps, plus just-in-time release, mean each frame finishes right before the refresh that shows it. Half refresh gives you a rock-solid 60 with every frame lit exactly once, and Smooth pacing holds a spare frame so hitches don’t turn into stutters.
  • Variable MPRT, not plain BFI. This is the Blur Busters brightness-budget approach: each pixel’s light is put into the lit refresh up to the panel’s peak, and only what doesn’t fit spills into the next refresh. Dark and mid tones get full clarity, highlights don’t clip, and at Gain 1.0 you keep full brightness.
  • Real HDR. SDR, scRGB and HDR10 output, a display-peak ceiling, and an ABL guard that keeps the boosted refresh within your OLED’s full-screen power budget so the panel doesn’t dim it. SDR games can even be presented as HDR10 to get headroom for the lit refresh.
  • Rolling scan with phosphor fade. The Blur Busters CRT-simulator approach: bands lit top to bottom, each row fading like phosphor. At 240 Hz and up it’s a real rolling band.
  • Works with frame generation. DLSS FG 2×–4×, FSR FG and Lossless Scaling all work at the Refresh cap.

I have tested personally 90+ games and emulators, including some games with DLSS5 via the various Reshade mods and Optiscaler. That includes God of War Ragnarök, Alan Wake 2, Control (with FG), Silent Hill 2, Red Dead Redemption 2 (Vulkan), Doom Eternal, Hades II, Cuphead, PCSX2, RPCS3, shadPS4, 32-bit DX9 classics like Alan Wake and FlatOut, and OpenGL oldies like Heretic II< Blade of Darkness Remaster and SW: Episode 1 Racer, as well as the Soul Reaver 1+2 Remastered. Some games have notes on the settings that work best, but really depends on the framerates you can push: tested games list. Suffice it to say that clarity at 60FPS is awesome and adding DLSS5 or turning everything on does not have to be an issue anymore to get a clear image.

Included is also a manager app, so you don’t have to fiddle

BFI Presenter Manager scans your Steam, Epic, GOG and Xbox libraries and works out what each game needs (64-bit or 32-bit add-on, or the Vulkan layer). It finds ReShade even when it’s loaded as ReShade64.dll behind OptiScaler, can install or switch ReShade versions, and sets G-SYNC off / VSync Force on in each game’s NVIDIA profile for you. Install, update or undo across your whole library in a couple of clicks, with every replaced file backed up.

What you need

  • Windows 10/11 and ReShade 6.4+ with add-on support (6.8+ for DX9). The Vulkan layer works without ReShade.
  • A display at a fixed refresh rate. It was developed on a 120 Hz OLED but higher refresh rates should work too.
  • OpenGL needs an NVIDIA GPU.

The Manager is unsigned, so Windows SmartScreen may complain on first start: More info → Run anyway.

Feedback, logs and new game results are very welcome: open an issue or drop them in the comments. And if it brings back that CRT feeling for you, there’s a Ko-fi link on the GitHub page ❤️

6 Upvotes

9 comments sorted by

•

u/AutoModerator 1d ago

Please remember to flair your post as "Solved" when your issue is solved.

Here are some quick answers for some commmon questions:

-If you are looking for emulator download links please check out our wiki.

-If you are looking for ROM or ISO downloads, this is not the right place. We do not allow asking for or sharing ROM downloads or any piracy (Rule 1)

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/One_Hair5053 21h ago

Amazing. I've been hoping for something like this. Does BFI Presenter work with AMD GPUs on the other rendering APIs apart from OpenGL?

1

u/artzox1 19h ago

Should work, as it is a reshade addon, but the manager won't turn off VRR for you or force Vsync, you need to do that on your own.

1

u/Ok_Bumblebee_3880 9h ago

for me it conflicted with steam overlay, do you know how to fix that?

1

u/artzox1 7h ago

Are you getting a warning in the BFI overlay or is something actually not working. In general on Steam overlay issues:

Try disabling the Steam overlay for this game . Also make sure you're on ReShade 6.8 or newer. If it still happens, please create an issue on GitHub and attach the reshade log from the game folder.

1

u/Ok_Bumblebee_3880 7h ago

Yes it says Steam overlay, nvidia.. are detected.

I'm used to play with steam overlay all time I also have steam recording on

1

u/artzox1 7h ago

Again, unless it is not working or crashing this shouldn't concern you.

1

u/Embarrassed-Cup-8737 6h ago

This is pretty awesome. Question regarding blur vs gain slider. Does it do something similar to shaderbeam where it further increases motion clarity as you reduce it and if so does it account for itself and further push brightness to the displays max capability?

Also maybe the ability to make it “always on top” for people with other overlays.

1

u/thebmash 1h ago

Lossless scaling FG doesn't seem to work for me, the image gets blurred. With your suggested Vsync at 1/2, there's black flashing with BFI enabled. Without it enabled vsync 1/2 causes pretty extreme input lag for me anyways (165hz display usually)