Repository navigation
Releases: artzox/BFI-Presenter
Release list
BFI Presenter v.1.0.9
[1.0.9] — 2026-10-15 (Manager 1.3.2)
- [DX] Show overlays (ShowOverlays, Advanced section, off by default).
The presenter's presents go through overlay hooks again, so the RivaTuner OSD and the Steam overlay draw on the strobed frames in 64-bit DirectX 12, 11 and 9 games. Ignored in 32-bit games (they crashed or still showed no overlay in testing) and OpenGL games (no effect).
The move onto the presenter queue stays direct. Off by default because Steam's Present hook crashed Pragmata and Resident Evil 4 this way; it applies at the next game start, since overlays set themselves up on the first present they see. Keep RTSS's frame limiter off. Vulkan games already show overlays.
-
[DX] [Vulkan] LCD phase swap: 5 seconds by default (was 30), counted from the end of each fade, so the strobe runs at full depth for the whole interval. As per report from @Androdiver 1s resulted in image retention being almost gone, but with 0.8 s of fading per swap the strobe was then softened most of the time. If you already used this in 1.0.8 and set it the default of 5 will not apply, so set it by hand.
-
[Shader 1.0.9] LCD: prevent image retention added matching the add-on's phase swap for the BFI shader (LCD category, off by default, 5 s when enabled).
Fixed: the hitch guard's refresh drift never added up. The state copy wrote the first state value into every slot, so the drift was reset each frame and only a single frame more than 0.6 refreshes off counted as a miss. Frame times are now summed as described, so a slow drift (a missed refresh hidden by jitter) pauses BFI too.
-
[DX] [Vulkan] Frame cap list: Quarter refresh now reads "one game frame per two lit + dark pairs" instead of "30 fps at 120 Hz"
-
[Manager 1.3.2] Carries the 1.0.9 shader.
-
[Docs] Settings guide: diagrams for frames per cycle, the LCD phase swap, frame pacing and delay, as images in light and dark.
BFI Presenter v.1.0.8
[1.0.8] — 2026-10-15
- [DX] [Vulkan] LCD: prevent image retention (LcdPhaseSwap, LcdPhaseSwapSeconds, off by default).
An LCD drives each refresh with the opposite polarity of the one before; with an even number of frames per cycle every lit refresh got the same polarity, a DC bias that can leave temporary image retention on IPS/VA/TN panels after long sessions.
What is added with this version as an option: On, every N seconds (30 by default, 1–300) the strobe fades over about 0.4 s to the steady average picture the hitch guard shows, repeats one refresh while every refresh looks the same, and fades back: the lit refreshes then sit on the other polarity. The fade keeps every cycle's light the same, so nothing flickers; motion is briefly a little softer. (A second dark refresh, then a single average-brightness refresh, were tried first and both flickered.) Not needed on OLED or with an odd number of frames per cycle.
BFI Presenter v.1.0.7
[1.0.7] — 2026-10-14 (Manager 1.3.1)
-
[DX] [Vulkan] Two new game frame caps for fast displays:
-
One game frame per strobe cycle: the refresh rate ÷ Frames per cycle, for example 60 fps at 360 Hz with 6 frames, 90 fps at 360 Hz with 4, or 80 fps at 240 Hz with 3. Each game frame gets exactly one lit refresh, as Half refresh does with 2 frames at 120 Hz.
-
Custom: a new game frame every CapDivisor refreshes (1–8).
Both are counted against the presenter's refreshes like the other caps, so they stay in step with the strobe. Just-in-time release works with them whenever the interval is a whole number of strobe cycles.
The overlay shows the cap's frame rate, and warns when the interval doesn't fit the cycle (some game frames would start on a dark refresh).
Frame-rate limiters that only target an fps value (made for VRR) can't do this: at a rate that isn't the refresh ÷ a whole number, game frames drift across lit and dark refreshes. -
[Manager 1.3.1] Graphics API detection fixes.
-
The Witcher 3 (GOG) is no longer shown as OpenGL. Its executable links opengl32.dll and loads Direct3D at run time. When OpenGL is the only API found, the exe is now also checked for the Direct3D 11/12 DLL and entry-point names and for a dx12 / dx11 folder (bin\x64_dx12).
PCGamingWiki lookups for store titles with an edition name (GOG's "The Witcher 3: Wild Hunt - Game of the Year Edition") also try the name without it.
When several wiki pages list the same Steam AppID, the page named like the game is used.
"unknown" or "n/a" in a wiki API field no longer counts as supported.
An error or rate-limit answer from the wiki is no longer recorded as "not on the wiki" for a week.
BFI Presenter v.1.0.6
[1.0.6] — 2026-10-14 (Manager 1.3.0)
-
[DX] No changes apart from the version number.
-
[Vulkan] BFIPresenter.ini is reloaded when it changes while the game runs (checked once per second), so without ReShade interface a setting can be edited in the ini and seen at once, without Ctrl+Shift+R or a restart. (useful for Doom Eternal)
-
[Manager] ReShade for Vulkan games: a Turn on / Turn off button in the game's ReShade row switches ReShade's own Vulkan layer on for the game by writing the ReShade.ini next to the exe that the layer loads on, so the BFI Presenter (Vulkan) tab is there in the game. It also tries to add the game to ReShade's setup list (ReShadeApps.ini), which usually needs administrator rights; without it ReShade still works, only ReShade's setup won't offer Uninstall for the game. The install question offers it for Vulkan games when ReShade's Vulkan layer is installed (skipped for games the tested list runs without ReShade). Before, "Install ReShade" put the DirectX ReShade into Vulkan games.
-
[Manager] Vulkan games that ship SDL are no longer taken for DirectX games (P.T. native port). SDL's DLL names every renderer it could use, so it is now left out of the API scan, and an executable that can only load Vulkan goes to the Vulkan layer even when a wiki lists Direct3D too. Before, such a game got ReShade as dxgi.dll and the DX add-on, and crashed.
-
[Manager] Warning for Vulkan games with a DirectX ReShade or the DX add-on in their folder, with what to remove.
BFI Presenter v.1.0.5
[1.0.5] — 2026-10-13
-
[DX] Added BFI shader (BFIPresenter_Shader.fx, in the DX zip): the presenter's strobe as a ReShade effect, clocked by the game's own frames (one game frame per sub-frame): BFI with highlight roll-off, Variable MPRT, sine and inverted cycles, rolling scan with phosphor decay and the ABL guard, output format from ReShade. A hitch guard sums each frame's time minus one refresh; a missed refresh, a game faster than the display or an average off the refresh rate shows the strobe's average brightness for 500 ms instead of a flash. Only for games that hold a rock-steady 120 fps and whose engine stutters with the presenter (e.g. Moons of Madness); everywhere else the add-on is better.
-
[Manager] 1.1.0
1.1.0 : Added new option to install as → BFI shader. Copies the shader into ReShade's shader folder (from ReShade.ini), turns it on as the last effect in the active preset and removes the add-on; installing the add-on removes the shader again (both backed up, Undo works). Suggested for games the tested list recommends it for.
1.1.0: the app carries the shader itself, so the shader route also works with releases that don't include it. Older Unity games (engine inside the exe, _Data\Managed) are detected as Direct3D 11, not OpenGL (Ori and the Blind Forest: Definitive Edition).
- [Manager] 1.2.0
Batch actions no longer freeze the window. Update outdated, Install / update and Remove for ticked games, and installing ReShade in many games now run a few games per frame with a progress dialog (game n of N, the current game, a Stop button) instead of blocking until the last game is done.
Readable, adjustable game list. Columns keep their own width (drag a header border), can be reordered and hidden (right-click a header), and the list scrolls sideways instead of squeezing the headers; widths, order and sort are remembered (manager_ui.ini). A splitter between the list and the game details can be dragged to give either side more room, and is remembered too.
No phantom OpenGL in the API column. Engines link OpenGL next to Direct3D without shipping it on Windows (Unreal: Jusant, ABZÛ, Ashen, Blair Witch). When the executable also uses Direct3D, OpenGL is no longer listed for it; it still is when it is the only renderer (Doom 3 BFG, Heretic II) or when PCGamingWiki lists it.
Fewer games with an unknown API. The renderer is also looked for in DLLs in the usual sub-folders (x86, x64, lib, bin), in HashLink .hdll modules (Dead Cells) and, when no DLL imports a graphics API, in their strings (Quake II-style ref_gl.dll: Heretic II). FNA games show Direct3D 11 with a note to use --graphics D3D11; XNA games show Direct3D 9 with a note that ReShade doesn't load there.
[Manager] AnyCPU .NET games run 64-bit: a PE32 .NET assembly without the 32-bit flags (FNA games) is shown and installed as 64-bit.
- [Vulkan] No other changes apart from the version number.
BFI Presenter v.1.0.4
[1.0.4] — 2026-10-13
-
[DX] BFIPresenter.ini is read, and on the first start created, as soon as the add-on loads, in every game. Direct3D 9 and OpenGL games never loaded it before: the file wasn't written until you pressed Save in the overlay, and an existing ini was only read after Reload ini or Ctrl+Shift+R (DOOM 3 BFG).
-
[DX] OpenGL: warning when the presenter's own presents block. When an OpenGL game's presenter runs well below the refresh rate because its presents block (DOOM 3 BFG ran at about 30 fps, Need for Speed: Porsche Unleashed at 20–46 ms per present), the overlay and the log say to set Vulkan/OpenGL present method to Prefer layered on DXGI swapchain in the game's NVIDIA profile.
-
[Vulkan] No changes apart from the version number. The layer runs without ReShade: settings in BFIPresenter.ini, Ctrl+Shift+R reloads it, Ctrl+Shift+B / M / S toggle BFI, the method and rolling scan (DOOM Eternal, which doesn't start with ReShade, runs this way).
-
[Manager] 1.0.2: sets that NVIDIA setting for OpenGL games when installing (a tick in the install question, on by default) and shows it in the game's NVIDIA section (OpenGL present). The ini checkbox next to Remove is now labelled "Remove deletes the ini too": it was never an install option.
BFI Presenter v.1.0.3
BFI Presenter brings Blur Busters–style Variable MPRT strobing to PC games on fixed-refresh displays: the motion clarity of black frame insertion without losing brightness, with optional rolling scan and phosphor fade, clocked to the display so late frames stutter instead of flashing. Developed and tested on a 120 Hz OLED (Sony A95L), it covers Direct3D 12, 11, 9 and OpenGL games through a ReShade add-on, and Vulkan, DXVK and emulators through a Vulkan layer.
Included is also a BFI Presenter Manager, which finds your games and installs, updates and configures everything in a few clicks.
Enjoy!