secondlife / viewer

🖥️ Second Life's official client
GNU Lesser General Public License v2.1
209 stars 53 forks source link

DeltaFPS causes textures to downrez when it is an inactive window #2549

Open canny[bot] opened 1 month ago

canny[bot] commented 1 month ago

I have my viewer set to yield about 60ms to the host to keep the frame rate down while I am doing other things such as playing another game like The Elder Scrolls Online. It usually hovers around 10fps when inactive, compared to 40-75fps when active. With the DeltaFPS viewer, this lower frame rate in the background causes multiple textures to downrez, and will stay like that until the frame rate goes back up, causing the textures to load back in fully. This does not happen on the current stable release, and it is not a lack of VRAM because there is still 8-9GB free when this is happening in my test.

Repro:

  1. Allow the viewer to load in everything fully first, more complex scenes are better

  2. Make the window become inactive, such as having the task manager over it

  3. Make sure the frame rate drops low enough as it yields resources to the host (10 in my testing)

  4. Wait a few moments, and you should start to see a good chunk of textures being brought down what looks like one notch of their full resolution

  5. Make the window active again so the frame rate goes back up to a high number such as 40-75

  6. Watch as those textures start to rez fully again

https://secondlife.canny.io/admin/board/bug-reports/p/deltafps-causes-textures-to-downrez-when-it-is-an-inactive-window

Dumping the textures is the intended behavior of https://github.com/secondlife/viewer/issues/2388

The reporter says this change unfairly impacts high-end systems: "So you're going to throw all multi-monitor users under the bus with this? It also causes the viewer to slam my CPU hard when it loads the textures back in, losing half of my frame rate for a few seconds, until it returns to normal. I have 12GB VRAM and 32GB system RAM, this 'feature' will simply cost me performance and not provide any benefit."

canny[bot] commented 1 month ago

This issue has been linked to a Canny post: DeltaFPS causes textures to downrez when it is an inactive window :tada:

kylelinden commented 1 month ago

Debug setting, F32 allow user to set. Zero for never.

canny[bot] commented 2 weeks ago

This issue has been linked to a Canny post: [DeltaFPS, ExtraFPS] Viewer slowdown coming back to focus :tada:

brad-linden commented 4 days ago

Getting some feedback on PR #2864 that FS folks do not think that a single setting for this is what we want. They want separate settings for controlling behavior when window is not focused but still on screen and for when the window is minimized. probably need review from @kylelinden about what we want