secondlife / jira-archive

2 stars 0 forks source link

[BUG-229031] [EEP] Water has a large performance hit on EEP #6982

Open sl-service-account opened 4 years ago

sl-service-account commented 4 years ago

What just happened?

Show fps with the stats floater(ctrl shift 1) Observe current FPS Disable water rendering with Advanced->Rendering Types->Water Observe that FPS is now roughly 20 fps higher

 

See attached video for demonstration of the issue.

What were you doing when it happened?

When water rendering is enabled it incurs a 20 to 25fps performance drop vs when it's disabled.

What were you expecting to happen instead?

For water to not have a giant performance hit

Other information

This may be AMD gpu specific.

Attachments

Links

Related

Original Jira Fields | Field | Value | | ------------- | ------------- | | Issue | BUG-229031 | | Summary | [EEP] Water has a large performance hit on EEP | | Type | Bug | | Priority | Unset | | Status | Accepted | | Resolution | Triaged | | Labels | whirly-eep | | Created at | 2020-07-05T01:00:49Z | | Updated at | 2020-10-21T16:25:15Z | ``` { 'Build Id': 'unset', 'Business Unit': ['Platform'], 'Date of First Response': '2020-07-05T07:16:56.355-0500', "Is there anything you'd like to add?": 'This may be AMD gpu specific.', 'ReOpened Count': 0.0, 'Severity': 'Unset', 'System': 'SL Viewer', 'Target Viewer Version': 'viewer-development', 'What just happened?': 'Show fps with the stats floater(ctrl shift 1)\r\nObserve current FPS\r\nDisable water rendering with Advanced->Rendering Types->Water\r\nObserve that FPS is now roughly 20 fps higher', 'What were you doing when it happened?': "When water rendering is enabled it incurs a 20 to 25fps performance drop vs when it's disabled.", 'What were you expecting to happen instead?': 'For water to not have a giant performance hit', 'Where': 'http://maps.secondlife.com/secondlife/Ember/112/66/22', } ```
sl-service-account commented 4 years ago

Kitty Barnett commented at 2020-07-05T12:16:56Z, updated at 2020-07-05T12:17:15Z

Second Life Release 6.4.4.543157 (64bit)

CPU: AMD Ryzen 7 3700X 8-Core Processor (3593.25 MHz) Memory: 32687 MB OS Version: Microsoft Windows 10 64-bit (Build 18363.900) Graphics Card Vendor: NVIDIA Corporation Graphics Card: GeForce RTX 2060/PCIe/SSE2

Configuration Water Enabled Water Disabled
- - - -
Deferred - No shadows - Minimal reflections ±60 fps ±85 fps
Deferred - Sun/moon/proj shadows - Minimal reflections ±50 fps ±64 fps
Deferred - Sun/moon/proj shadows - Full reflections ±42 fps ±62 fps



http://maps.secondlife.com/secondlife/Horizons%20Halley/149/137/21 (Facing east)

 |

sl-service-account commented 4 years ago

Beq Janus commented at 2020-07-07T01:03:30Z

https://i.gyazo.com/44945278200ebe41e4169c09f9ce6c9f.png

Side by side comparison. Two users using a HUD to align Cameras, identical settings. 

LIZ EEP Liz : Firestorm 6.4.5 (60737) Jun 25 2020 04:04:23 (64bit) (Firestorm-Nightly-CI) / Graphics Card: GeForce GTX 1070/PCIe/SSE2 LIZ WL Liz : Firestorm 6.3.9 (58205) May 27 2020 01:20:51 (64bit) (Firestorm-Releasex64) / Graphics Card: GeForce GTX 1070/PCIe/SSE2

BEQ EEP Beq : Firestorm 6.4.4 (60813) Jun 29 2020 22:40:47 (64bit) (Firestorm-BeqStorm) with Havok support / Graphics Card: GeForce GTX 980/PCIe/SSE2 BEQ WL Beq : Firestorm 6.3.9 (58205) May 27 2020 01:20:51 (64bit) (Firestorm-Releasex64) / Graphics Card: GeForce GTX 980/PCIe/SSE2

The three entries POI_!, POI_2 and POI_3 were chosen to test different perspectives

POI_1 was a typical view across a harbour to the horizon. 

POI_2 a view directly down on to the water, no horizon. 

POI_3 a view inland, limited water.

It should be noted that this slow down is omnipresent due to the nature of water rendering, even users on land, or inside a solid box, such as a typical shopping event, will still be incurring the water overhead.

An example of the difference 

https://i.gyazo.com/edcaebcc6ca6618d18721800a0bc655d.mp4

 

sl-service-account commented 4 years ago

Beq Janus commented at 2020-10-19T09:53:14Z, updated at 2020-10-21T16:25:15Z

This is an update to include the latest SLViewer post LMR. 

The context is identical to previously

Draw Distance 32/MaxParticles 0/LODFactor 2.75/LocalLights OFF/AtmoShader ON/ALM ON/AO OFF/Shadows NONE/WaterReflect MIN/MiddayWL/GlassyWater
- - - - - - -
http://maps.secondlife.com/secondlife/Port%20Babbage/77/173/106
"Everything Enabled" means all categories : https://gyazo.com/6d8ab1ab4460c87ff4fade03a0048122


 
    ALI EEP SLV   ALINA WL SLV  
    MIN_FPS MAX_FPS MIN_FPS MAX_FPS
           
Avatars OFF - All Other Rendering Types On - With Stats Floater POI_1 111.7 115.3 154.8 160.6
Avatars OFF - All Other Rendering Types On - With Stats Floater POI_2 142.2 145.7 182.6 187.2
Avatars OFF - All Other Rendering Types On - With Stats Floater POI_3 122.9 126.7 162.1 164.3
Avatars OFF - Water OFF - With Stats Floater POI_1 154.2 156.7 199.9 203.9
Avatars OFF - Water OFF - With Stats Floater POI_2 176.5 184.7 218.8 228.2
Avatars OFF - Water OFF - With Stats Floater POI_3 163.5 170.7 194.8 200.3
           
  Avg With 125.6 129.2333333 166.5 170.7
  Avg wIthout 164.7333333 170.7 204.5 210.8
  change 39.13333333 41.46666667 38 40.1
  % improvement 31.16% 32.09% 22.82% 23.49%
  EEP vs WL (-ve) 8.33% 8.60%    



 

Conclusion:

Water rendering with refraction/reflection is always going to have a cost. Prior to EEP water rendering resulted in a roughly 7% reduction in frame rate.  Post EEP this is now typically >20% or 3 times higher

The same reduction in frame rate is observable using the Second Life Viewer under the same conditions on the same hardware.  

NOTE: The original report was form Rye and was recorded on Alchemy, the Black Dragon viewer has reverted the EEP water code to pre-EEP because of this bug. We have provided data for Firestorm and now SecondLife. So we can be pretty certain that this is not a single viewer issue.

 Version info

Configurations Stats floater is Open with "Advanced and Simulator" tabs within the floater minimized. Chat window is CLOSED

For the purposes of SL Viewer Testing. The following Debug Settings were used : RenderFarClip : 32 RenderVolumeLODFactor: 2.750

LIZ EEP Liz : Firestorm 6.4.5 (60737) Jun 25 2020 04:04:23 (64bit) (Firestorm-Nightly-CI) / Graphics Card: GeForce GTX 1070/PCIe/SSE2
LIZ WL Liz : Firestorm 6.3.9 (58205) May 27 2020 01:20:51 (64bit) (Firestorm-Releasex64) / Graphics Card: GeForce GTX 1070/PCIe/SSE2
BEQ EEP Beq : Firestorm 6.4.4 (60813) Jun 29 2020 22:40:47 (64bit) (Firestorm-BeqStorm) with Havok support / Graphics Card: GeForce GTX 980/PCIe/SSE2
BEQ WL Beq : Firestorm 6.3.9 (58205) May 27 2020 01:20:51 (64bit) (Firestorm-Releasex64) / Graphics Card: GeForce GTX 980/PCIe/SSE2

ALINA EEP "Liz"-Alt : Second Life Release 6.4.10.549686 (64bit) Oct 17 2020 / Graphics Card: GeForce GTX 1070/PCIe/SSE2
ALINA EEP 2 "Liz"-Alt : Second Life Release 6.4.10.549686 (64bit) Oct 17 2020 / Graphics Card: GeForce GTX 1070/PCIe/SSE2

 ALINA WL "Liz"-Alt : Second Life Release 6.3.5.533347 (64bit) Dec 05 2019 / Graphics Card: GeForce GTX 1070/PCIe/SSE2|