A little heads-up for technical minded users

Homepage Forums General vorpX Discussion A little heads-up for technical minded users

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
  • #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.


    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.


    Thanks for taking the time !


    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.


    Thanks Ralf.

    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.


    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.


    Glad to see you keeping settings for people who like to tinker.


    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 here


    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.

Viewing 9 posts - 1 through 9 (of 9 total)
  • You must be logged in to reply to this topic.

Spread the word. Share this post!