Open gentlecolts opened 1 year ago
Such an option may require an alternative thread priority setting.
Example: 4 Downloading Threads + 2 Pre-Loading Threads.
I think there was a mod that did this previously. It's kinda like joining the world then immediately unfocused it so people would see you join but would just see you as a headset like your loading, but you also afk in the world. So if you forget it can kick you.
There is a mod that does (did?) this, I mentioned it in the original post, but the mod I was referring to is https://github.com/kazu0617/SessionTweaks
Agreed, this mod was great. Getting the lag spikes in the safety of your homeworld rather than needing to tell everyone to wait to interact with you because you haven't loaded yet felt amazing.
It's already possible when using ProtoFlux to load the session IIRC, and I know this also happens to me randomly when manually joining a session as well. So opening the session in the background without focussing is already implemented, there is just no user-facing UI for it I think. Such UI should probably include a proper loading indicator.
From what I understand, do you just want the system to wait switching over to the new world until it's sufficiently loaded?
It sounds a bit like you expect this to remove the hitches from loading, but this would not help with that in particular, you'd still hitch in the existing world as the assets load. But if you're fine with that, then it's relatively simple change/setting.
If we make this a setting, we'll have to do it after Settings UI rework to avoid more technical debt.
The mod I based this request on, linked above, adds two extra buttons next to the "join" button in the contacts list: One named "open" which, as far as I can tell, behaves identically to join except for not automatically focusing the joined world, and another for getting the session orb (not part of this request but wouldn't be a bad request either). The point isn't necessarily removing hitches (although this would be nice) as much as it's "get the world I want to join ready without interrupting what I'm doing in the current world", so that when I've wrapped up what I'm doing in the current session (finishing conversation, cleaning up, saving work, etc) I can then simply hit join and it'll just instantly pop me over. From a technical perspective, this request doesn't necessarily require a reduction in lag, as much as it improves user experience by allowing them to experience that lag in a space that's already active, rather than in a barely-loaded void.
Having this as a setting would be blocked until #584 is done.
There is more than just performance implications here, some users explicitly don't want to join a world until the world is fully loaded, since the "checkerboard" phase throws them off - they don't like seeing half-loaded / "broken" looking worlds that slowly fill in.
Also since the new settings UI is done now this is probably not too difficult to implement, I'm just not sure what settings category this would fall under.
That one's fair, we could add a setting for that.
I'd like to stress though that this will not help performance. You will be jittering just the same in the world you're currently in.
Lagging in a fully loaded world is often preferable to lagging in an unloaded world with people noticing your presence and trying to communicate with you while your senses are malfunctioning.
Perfomance increase or not, it'd be much more tolerable this way for people who have issues with this.
It'll be an easier pill to swallow when you lag in an empty home world than it is waiting for assets to finish downloading in a world with people attempting to engage with you for sure.
Is your feature request related to a problem? Please describe.
Joining a world is a somewhat heavy operation, and currently incurs large periods of time where one is simply waiting for loading, not yet able to interact the world they've joined into
Describe the solution you'd like
Mods already address this, however it would make for a good first-party feature. In the contacts and worlds tab, add an option to "preload", where assets will begin loading without the user focusing the session. Whether the user is "joined" but not focused, or simply loading the assets without even joining, should be decided, I do not prescribe a preference here, the main focus is not disrupting one's interaction with their current session until the user has fully ready to interact with the newly loaded one.
Describe alternatives you've considered
mods make this available, i love this feature in mods, it should be first-party
Additional Context
zangooseoo