Open sl-service-account opened 4 years ago
Ansariel Hiller commented at 2020-09-19T23:36:08Z
This might become useful once you are actually able to achieve such framerates outside empty skyboxes - which is going to happen when?
AndreyK ProductEngine commented at 2020-09-21T10:59:02Z, updated at 2020-09-21T11:37:06Z
If you have issues with low pfs, I suggest reporting them in BUGs, developers generally won't work on performance without jiras and there appear to be no fps related issues in query.
P.S. Some avatar relater performance work was done in DRTVWR-497 (Love me render #4). I think there was a DRTVWR dedicated to performace, but it probably won't affect fps, only scene loading.
Ansariel Hiller commented at 2020-09-21T17:11:35Z
Everyone has an issue with low FPS - that's known for years already - since SL is stuck on 2004 rendering techniques. So I am wondering why there is a need for VSync which in the end only makes sense if you get FPS higher than the refresh rate of your display - which in SL basically can only happen if there are no other avatars around (= ivory tower problem). Just visit some dance club or shopping event with some people around and you will notice that VSync is the least rendering option you wish in those situations...
Ptolemy Linden commented at 2020-09-21T17:53:21Z
Capping framerate to vsync can matter to laptop users who don't want their GPU running "flat out." Allowing them to turn on [x] VSync will either preserve battery usage and/or minimize temperature.
Bigger picture, until there is an user controlled slider that limits the framerate ...
a) when SL has focus, and b) when SL doesn't have focus,
... similar to how World of Warcraft, Advanced settings has two sliders ...
Max Background FPS
... allowing users to turn VSync on/off is a good step in the right direction.
Ansariel Hiller commented at 2020-09-21T19:13:52Z, updated at 2020-09-21T19:31:25Z
The only thing running "flat out" in SL is the CPU since it's CPU-bound. Unless you are using some year 2010 GPU, it usually sits there idling.
Serious question: Where is LL doing these tests where they see such high average FPS or GPUs hitting their performance limit? Please go to some non-empty places like crowded dance clubs or shopping events and test again! You will notice your FPS crippling down to <10 FPS with your GPU sitting there bored while the CPU is running at full power maxing out one core. Then re-assess if adding VSync is one of the priorities you need to implement.
AndreyK ProductEngine commented at 2020-09-21T19:32:33Z
So I am wondering why there is a need for VSync which in the end only makes sense if you get FPS higher than the refresh rate of your displayMine sometimes runs at 60-70fps in Inspire Spacepark. Not all locations are avatar-heavy and not all avatars are heavy.
Everyone has an issue with low FPS - that's known for years already - since SL is stuck on 2004 rendering techniques.We still don't have jiras for that (at least the ones I know of), sans may be some improvements to impostors. Not even the ones to locate bottlenecks. And having jiras always speeds up the process of making anything done.
P.S. In case of lots of avatars being present, geometry and motion updates look to be exteremely heavy, but I'm not sure if they can be offloaded to gpu/shaders, but motion updates look like they potentially can be offloaded to threads.
Ansariel Hiller commented at 2020-09-21T20:02:25Z
Mine sometimes runs at 60-70fps in Inspire Spacepark. Not all locations are avatar-heavy and not all avatars are heavy. Not sure where that spacepark is - search doesn't know it. Unfortunately people tend to not stay at home where they might get some decent FPS, but attend dance parties or shopping events. If you've never been at one, please visit one or more and you will experience the common user issue by yourself. ;)
We still don't have jiras for that (at least the ones I know of), sans may be some improvements to impostors. Not even the ones to locate bottlenecks. And having jiras always speeds up the process of making anything done. Well... I'm still waiting for other major issues getting fixed that have been filed years ago, so I'm not quite convinced filing a JIRA ticket for something people are complaining about left, right and center for over a decade will actually do anything. And honestly it's a bit shocking that this seems to be breaking news for LL...
AndreyK ProductEngine commented at 2020-09-21T20:24:44Z
I'm not quite convinced filing a JIRA ticket for something people are complaining about left, right and center for over a decade will actually do anything.Developers generally do not work without tickets. That's why commits almost always have a jira attached.
And honestly it's a bit shocking that this seems to be breaking news for LL...Personally I'm roughtly aware of the issue, but having awareness and having a jira are two entirely different things.
Ansariel Hiller commented at 2020-09-21T21:04:46Z
Well... No more excuses now: BUG-229392 :P
AndreyK ProductEngine commented at 2020-09-21T21:39:20Z
Thanks.
How would you like the feature to work?
VSync, or vertical sync, is a graphics technology that synchronizes the frame rate of a game and the refresh rate of a gaming monitor. VSync does that through limiting FPS when necessary.
Why is this feature important to you? How would it benefit the community?
Fixes screen tearing. Potentially frees cpu from doing too many fps (it is not varantied to do that, some 'waiting to swap buffer' implementations don't nessesary free CPU).
Notes: Some users are attempting to use FramePerSecondLimit debug setting to achieve similar result to vsync, but since 'sleep' used by FramePerSecondLimit is very unreliable (OS is not varantied to wake viewer exactly when specified), that often doesn't end with desired result. FramePerSecondLimit's intent was to somewhat free CPU load (no point to have 200+ fps) which it did acceptably well, but it ended up more usefull for testing and fixing things at diferent fps values (ex: was instrumental for fixing flexiprims). So ideally FramePerSecondLimit should stay as it is now.
Attachments
Links
Related
Original Jira Fields
| Field | Value | | ------------- | ------------- | | Issue | BUG-229328 | | Summary | Implement VSync | | Type | New Feature Request | | Priority | Unset | | Status | Accepted | | Resolution | Accepted | | Reporter | AndreyK ProductEngine (andreyk.productengine) | | Created at | 2020-09-09T20:13:43Z | | Updated at | 2020-09-22T16:45:21Z | ``` { 'Build Id': 'unset', 'Business Unit': ['Platform'], 'Date of First Response': '2020-09-19T18:36:07.852-0500', 'How would you like the feature to work?': 'VSync, or vertical sync, is a graphics technology that synchronizes the frame rate of a game and the refresh rate of a gaming monitor. VSync oes that through limiting FPS when necessary.', 'Original Reporter': 'AndreyK ProductEngine (andreyk.productengine)', 'ReOpened Count': 0.0, 'Severity': 'Unset', 'Target Viewer Version': 'viewer-development', 'Why is this feature important to you? How would it benefit the community?': "Fixes screen tearing.\r\nPotentially frees cpu from doing too many fps (it is not varantied to do that, some 'waiting to swap buffer' implementations don't nessesary free CPU).\r\n\r\nNotes:\r\nSome users are attempting to use FramePerSecondLimit debug setting to achieve similar result to vsync, but since 'sleep' used by FramePerSecondLimit is very unreliable (OS is not varantied to wake viewer exactly when specified) that often doesn't ends with desired result.\r\nFramePerSecondLimit's intent was to somewhat free CPU load (no point to have 200+ fps) which it did acceptably well, but it ended up more usefull for testing and fixing things at diferent fps values (ex: was instrumental for fixing flexiprims). So ideally FramePerSecondLimit should stay as it is now.", } ```