mirror of
https://github.com/mitch030504/Wiicompiled_VR_Frame.git
synced 2026-10-06 06:00:25 +02:00
Repeat the last frame on every refresh the game has no new frame for
SteamVR on the Steam Frame ran the game at half the 120 Hz display rate, since render-first pacing submits only when a game frame is sealed, and filled every other refresh itself even with Motion Smoothing off, which doubled the HUD and the menu screen while the head turned. With the new [vr] repeat_frames (default on for the Frame, off elsewhere, live), the pacing thread waits a millisecond for the eyes and otherwise spends the refresh on a keep-alive cycle that resubmits the retained layer with its rendered poses, paced by xrWaitFrame. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019HBRGKTE1GnN2ah8gcZKr3
This commit is contained in:
6 files changed
+77
-5
No files matched your search
@@ -79,6 +79,19 @@ int main() {
|
||||
Require(!RuntimeConfigFile::kVrEyeTrackedFoveationDefault);
|
||||
#endif
|
||||
|
||||
// [vr] repeat_frames: the retained layer fills the refreshes the game has no frame for.
|
||||
Require(Parse("[vr]\nrepeat_frames = true\n").vrRepeatFrames == true);
|
||||
Require(Parse("[vr]\nrepeat_frames = false\n").vrRepeatFrames == false);
|
||||
Require(!Parse("[vr]\nrepeat_frames = 1\n").vrRepeatFrames.has_value());
|
||||
Require(!Parse("[vr]\n").vrRepeatFrames.has_value());
|
||||
#if defined(MKW_HEADSET_STEAM_FRAME)
|
||||
Require(RuntimeConfigFile::kVrRepeatFramesDefault);
|
||||
Require(std::string_view(MKW_VR_REPEAT_FRAMES_DEFAULT_TOML) == "true");
|
||||
#else
|
||||
Require(!RuntimeConfigFile::kVrRepeatFramesDefault);
|
||||
Require(std::string_view(MKW_VR_REPEAT_FRAMES_DEFAULT_TOML) == "false");
|
||||
#endif
|
||||
|
||||
// [vr] passthrough: Horizon OS's room view, which the Steam Frame build does not offer.
|
||||
Require(Parse("[vr]\npassthrough = false\n").vrPassthrough == false);
|
||||
Require(!Parse("[vr]\n").vrPassthrough.has_value());
|
||||
|
||||
Reference in new issue
Block a user