Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
194 stars 9 forks source link

Throttle Neos when the game window isn't focused in desktop mode #3742

Open JackTheFoxOtter opened 2 years ago

JackTheFoxOtter commented 2 years ago

Is your feature request related to a problem? Please describe.

When running Neos passively while working on other things, it can quickly take up a big amount of system resources despite me just having it open to monitor my chats or talk to people in-game. This can cause other heavy software to slow down quite a bit, making it unfavorable to leave Neos running when working with Blender / Substance Painter etc.

Relevant issues

No response

Describe the solution you'd like

I would like an option to set a framerate limit to throttle Neos in Desktop mode when it's not currently in focus. This feature exists in the Second Life viewer for example, and I think it's really useful if you want to keep the game open to stay connected when you're not actively playing it. Recuding the game to 5-10 fps would be plenty if the only thing I want to keep up with is voice chat or messages most of the time.

Describe alternatives you've considered

Setting a framerate limit using external software, but that would be much more of a hassle than a native solution.

Additional context

No response

shiftyscales commented 2 years ago

A good suggestion- one that is common with other MMO-type softwares too.

I typically see this implemented as a drop down with a variety of presets or as a slider. It is sometimes desirable to have things run at full speed in the background too- so having this adjustable would be good.

This is also something that would/should only be applicable to desktop mode, as in VR the window isn't necessarily going to be focused all the time, e.g. if you are using your desktop tab to browse other windows.

This is also something that will need to wait until after the settings UI is reworked so we have room to have this option in the interface at all.

Uncertain if AMD has an equivalent, but I believe with Nvidia GPUs there is the "Background Application Max Framerate" setting, allowing you to do this at the driver level for now. image

But if the concern is primarily around having access to contacts/messages, there may be better options like #156 to allow access to those features without needing to run the rest of Neos at all.

JackTheFoxOtter commented 2 years ago

Agreed that it should have settings to configure the behavior on the user end.

It's a bit more than just accessing contacts / messages and more so having the game running while working on assets for a Neos world but in different software. I usually have Neos running in parallel to be able to quickly and iteratively test the assets in-game / in VR to see if anything needs tweaking. I can also see many people just having Neos open to still be connected to the world for voice chatting while not actively focused on the game window. It might still be useful even in VR to slow down the update / refresh rate of the game view on the desktop screen in some cases, although I'm not sure if that would lead to any significant performance improvement.

I believe this also depends on / is relavant for the new render engine as I imagine it would be best implemented in that context.