This has been mentioned in a few other threads but I think it deserves its own topic and a bit more scientific approach to show the issue and need for improvement.
( @andy, @DavidEranen, @jeff - this is for you guys)
Problem: Sun+Skylight with high quality shadow setting display is very slow due to skylight and cast shadow quality linked.
Mainly in architectural and set design models there is a need for clean and crisp edge shadows in large size models (not complex/heavy, just vast). At the same time the best look is a combination of Skylight (AO) and Cast Shadows. Currently the price to pay for very crisp cast shadows and AO is a major display slowdown to the point of making Rhino unusably slow.
I have prepared a bunch of scenarios tests that should illustrate the problem. Using recent Rhino WIP, starting with default Render mode, the only alteration is no soft edge shadows)
Here is the test file if anyone is interested: WIP_ShadowsDisplayTest.3dm (3.4 MB)
Note: FPS has been determined using _TestMaxSpeed
command. Looks like this command is not triggering the DynamicDisplay SkylightDegradation so it has been changed manually via Advanced Options to mimic the screen navigation interaction
Please see below some testing results with comments:
Default shadows quality: almost perfect AO, good FPS, unacceptable cast shadows:
One has to go really low with Shadow Quality (4 MB) to notice grainy AO shadows (which are still not bad). Cast Shadows almost non-existent
Skylight quality from now on (any higher setting or even default 16MB) looks great so no need to increase it, but Cast Shadow still bad; note drop by half in FPS
2 x previous shadow quality setting : Skylight looks same (as good) as before (no improvement), Cast Shadows still jagged, more FPS slowdown
Max quality allowed by Rhino UI Slider: Same Skylight look, still not crisp Cast Shadows, big FPS slowdown.
Same setting as above with Skylight Degradation set to 1/4 instead of 1/2. Most users will not find this in Advanced Settings, but helps with FPS and Skylight quality change is not noticeable
Quality doubled from Rhino UI slider maximum (via scripting or editing Display Mode ini file and reimport). Cast Shadows finally crisp!! But look at FPS - unusable, since Skylight kills the performance…Skylight looks the same as before but bogs down the display
Even reducing the Skylight Degradation to 1/4 at this Shadow Map size doesn’t help that much with FPS
At the same time, same 520 MB large ShadowMap is blazing fast with no Skylight (but who likes that look A.D.2020?)
Hope the above tests show the need for improvements in V7.
Here are some ideas and suggestions:
-
Allow for higher Shadow Quality setting via Rhino UI (260 MB these days may not be enough). I understand this is a safety measure not to run out of video memory but maybe at least the max value can be defined in Advanced Options
-
Allow for separate control of Skylight Shadow quality and Cast Shadow Quality. 2 Separate sliders, or some reduction factor for Skylight based on Cast Shadow map size.
-
Optionally, allow for more Dynamic Display degradation of Skylight in Advanced Options (currently the lowest value 3 - 1/4 degradation, maybe up to 1/32?