Homepage › Forums › General vorpX Discussion › A little heads-up for technical minded users
- This topic has 8 replies, 7 voices, and was last updated Nov 22, 2021 7:17pm by mr_spongeworthy.
Nov 4, 2021 at 2:39pm #207106
If you are the more technical minded type of guy (or guydess™) who likes to tinker with the sync options in the vorpX menu, you should be aware that there will be a little change to how things work in the next version.
TLDR: Nothing will change in default (asynchronous) mode, except better headset framerate stability, but synchronous mode will work differently.
Not much will change for the default (at least for most headsets) asynchronous mode, where vorpX runs a second thread for rendering the final image to the headset. In this mode the second thread as always should ideally run at the full headset refresh rate, so that vorpX can do the game to headset framerate conversion entirely on its own. That’s how things are intended to be done, mostly because in contrast to headset runtime motion smoothing this mode works fine with uneven game/headset ratios (e.g. game at 67fps, headset at 90fps). The second huge advantage is that this way vorpX by design can handle extremely low game framerates below half the headset refresh rate where things typically fall apart entirely with headset runtime motion smoothing. Nothing will change in that respect, in fact vorpX will even be able to better keep up the ideal headset framerate under high GPU load.
The synchronous mode however where game and headset framerate are linked to each other to let headset runtime motion smoothing do its thing for those who prefer that will work quite a bit differently. Currently in this mode vorpX still runs two threads side by side with only the frametimes being synced, but not their individual start points. That way no time is lost for hard syncing even in synchronous mode, but it’s not ideal for headset runtime motion smoothing.
So that will change with the next vorpX version: instead of trying not to lose a single millisecond for any waits, vorpX in synchronous mode will now behave like a native app with a single main render thread. Might cost a few FPS here and there, but since synchronous (now better called single-threaded) rendering for the most part is only useful for headset runtime motion smoothing, which caps the framerate anyway, allowing that to work in the best possible way in the end is more important. Again: This only applies to synchronous rendering, you won’t lose any precious FPS in default asynchronous mode.Nov 5, 2021 at 9:10am #207120Jey123456Participant
curious to see how it will impact with the next version. I could see it being useful for very limited gpu scenario, but im not sure by how much it would matter to use the motion smoothing from the hmd / steamvr.Nov 5, 2021 at 8:01pm #207135RJK_Participant
Thanks for taking the time !Nov 12, 2021 at 12:53pm #207259
Short update: after basically overhauling the whole headset syncing over the last 10 days, I think I’ll also make some changes to how you can configure it. Has become way to convoluted over the years for any normal user to understand what actually happens when changing these settings.
Goodbye ‘Headset Sync’, ‘Fluid Sync’, ‘Async Render’… Instead there will be a single overarching setting with four largely self-explanatory presets: ‘Favor FPS’ (typically the current defaults), ‘Favor latency’ (useful for FullVR mode where a low head tracking latency in the end is more important than maximum FPS), ‘Favor judder protection’ (for those who always crank everything up to max no matter what), and ‘Custom’ (for tinkerers who still want to dial in everything themselves). That will make the sync settings much more accessible and useful for a normal person.
If it were for me, I’d rather get rid of this whole set of settings entirely, but since there definitely are scenerios where one might want to prefer either a more FPS oriented or a more latency oriented setup, the presets (plus full configurabilty for those who still want that) look like the best solution.Nov 12, 2021 at 7:07pm #207260apollon01Participant
Most likely I will go the Custom route only to end up with the worst possible experience X-)
But seriously, I appreciate progress in this area.Nov 13, 2021 at 1:24pm #207276
Something tells me it won’t take long until someone asks why there is no ‘favor latency AND fps’ preset. ;) But I honestly think that for most this will make the sync options more useful. The way they are currently presented in the menu makes them largely useless trial and error options for a normal user.Nov 13, 2021 at 6:26pm #207277dborosevParticipant
Glad to see you keeping settings for people who like to tinker.Nov 17, 2021 at 12:00pm #207351MinabeParticipant
Nice to see it can be manually configured, as software evolves such features are usually left behind or dumbed down in favor of a higher/easier reach. Glad to see that’s not the case hereNov 22, 2021 at 7:17pm #207445mr_spongeworthyParticipant
So glad to see you are leaving the technical-bit accessible; all too often when software gets the “so everyone can use it” treatment what they really mean is removal of access to critical features.
It will be interesting to see the new version; I use Fluid Sync a lot, as I prefer to lock a game at a given rate (i.e. half my refresh) and avoid the hitching and other issues associated with allowing the game’s FPS to run independently of the HMD’s refresh rate, and in most cases I don’t have 2 or 3 fps to spare. I’ll find a place in the game where the FPS seems to be at the worst, and then tweak things until that location runs at the FPS I require with very little, or zero, wiggle-room.
- You must be logged in to reply to this topic.