An unofficial build on
tig3rmast3r's v0.2.1.
A minor follow-up to 0.2.7. Frame generation itself is unchanged.
What's new
- The OFXR FPS number no longer over-reports when the game drops below
half the refresh rate. Each game frame becomes two frames in the headset:
the real one and a generated one. Below half rate, for example under 45 FPS
on a 90 Hz headset, there are not enough of them to fill every refresh, so
the bridge shows the last frame again. On SteamVR the FPS number counted
those repeats as new frames and read the full refresh rate. In Callisto
Protocol at high resolution it showed 90 while only 73 new frames a second
reached the headset. It now counts only new frames. Above half rate there
are no repeats, and the number reads the same as before.
Which FPS number to trust
Use the OFXR FPS number. It is the only counter that sees both how the
bridge built each frame and what SteamVR did with it.
Other tools can read wrong while the bridge is active:
- fpsVR, SteamVR's frame timing and other compositor-side tools count
every frame the bridge hands to SteamVR. They cannot tell a repeated frame
from a new one, so below half rate they still show the full refresh rate.
This release does not change what they show. - Counters inside the game or the VR mod, and some setups of xrFPS, count
the game's own frames before the bridge adds any. While generation is on
they show about half of what reaches the headset.
Known issues
- SteamVR: turn off Motion Smoothing and "fixed frame rate at half" for
the game in SteamVR's per-application video settings. When a game's GPU
time reaches the refresh budget, SteamVR starts halving its frame rate on
and off, and the bridge's pairs land late: the result is stutter and a
performance drop that looks like a bridge regression. Check this first. - No FPS overlay in Vulkan games. Unchanged since 0.2.5, so Vulkan games
have no reliable FPS reading yet. - Dips are often a resolution ceiling, not the bridge. Disarm the bridge
and play the same scene: if the dips remain, lower the per-eye resolution. - Pick a refresh rate close to double your game's frame rate. If double
is still short of the refresh rate, the bridge fills the difference with
repeated frames and the image judders. The FPS number now shows when this
is happening.
Installing
Unzip anywhere and run OFXRBridgeTray.exe. It arms the bridge by itself.
Keep OFXRBridgeTray.exe and the ofxr folder together; it holds the OpenXR
layer, its settings and the Vulkan layer. If an earlier version is armed,
disarm it and close its tray first.
Tested
With a Pimax Crystal Super on an RTX 5090:
- Callisto Protocol at high resolution on SteamVR, the session that
showed the problem
Please report results, working or not, on this fork's
GitHub Issues, with an OFXR flight log where you can. To
record one, enable Bridge flight recorder in the tray, reproduce the
problem, then use Open bridge logs. Logs are written under
%LOCALAPPDATA%\OFXR Bridge\RuntimeLayer\v337\.