Chaos Corona Forum
Chaos Corona for 3ds Max => [Max] I need help! => Topic started by: Fluid_Jamie on 2017-08-01, 12:09:54
-
Hi Everyone,
I'm in the process of creating a 4500 frame fly-through animation for a client and have the time to debug render times, so thought I would turn to here for some advice! With the amount of frames involved, I'm keen to shave off as much on the render times as possible.
A large portion of the frames are relatively stable at 15/20mins per frame at 1080p, at a 5.0 noise limit. However some of the foliage heavy spaces are climbing to almost 50 minutes, so I'm trying to understand what I can do. Especially considering I want to reduce the noise limit for the final production.
I'm pretty sure it's down to the forest pack and the trees, as most of the buildings have very basic reflections and render very quickly when isolated. The trees were specified by the landscape architect and have been sourced from xfrog and evermotion, all of which rely on opacity mapped leaves. I have gone through and reduced reflections but the Sampling focus pass (attached) still highlights the trees as a source of concern. So do you guys have any suggestions on this?
The indirect light pass also showed a lot more noise than the direct, yet increasing the GI vs AA balance resulted in increased render times.
So, if anyone has any tips to help, it would be greatly appreciated. The scene is lit with a single PG HDRI, so no overly complex lighting. I'm sure there's something I've missed so let me know if there's any other info I can provide.
TL;DR - Need help with long render times, see attached passes!
Many Thanks,
Jamie
-
If I had the same problem I'd try to override GI material with the most simple (gray 210,210,210) color for every scene material (except glass).
Another way is to try baking indirect lighting using standard 3dsmax tools(never tried that though), and then render only direct lighting in animation.
And I hope you find your own way to improve rendertimes, and share it with us!
-
If you plan on going for such drastic optimisations, like overriding GI material you might want to jump to the newest daily build before doing so.
If you are not already, since there have been quite the big speedups in the recent days.
- Added new and improved image sampler, capable up to 100% speedups, on by default for all new and old scenes
- Another significant speedup due to better sampling: scenes with glossy surfaces clean up faster, hair renders much faster and no longer produces faint colored fireflies
-
Thanks guys, appreciate the advice. The improvements found in the daily builds do look impressive, however this project will eventually be going to a farm so that could throw up a few issues. And unfortunately 1.7 is due out the day of the project deadline...
I have a feeling that the slowdown is the opacity maps on the trees/bushes, as removing these from the scenes reduces the render times by over half.
Does anyone know of a method of rendering opacity maps faster? Without having to convert all the leaves to geometry!
-
To speed up foliage
https://forum.corona-renderer.com/index.php/topic,4537.msg73413.html#msg73413
Disable adaptivity, because it is mostly concentrating on not important parts in render (dark green leaves, dark bottom of house...human eye cannot recognize noise in dark colored areas very well)
-
If you consider that adaptivity is important for you, that at least increase Adaptivity recalculation value to something 2/3 of total passes. It will produce less noise on problematic parts(darker parts in sampling focus element)
-
Does anyone know of a method of rendering opacity maps faster? Without having to convert all the leaves to geometry!
In V-Ray there is a switch to binarize opacity maps. For leaves you can do a curve adjustment in the Output tab, so it is only 255 or 0 white. This gives a bit of a boost, albeit not as large as converting to geo.
-
In V-Ray there is a switch to binarize opacity maps. For leaves you can do a curve adjustment in the Output tab, so it is only 255 or 0 white. This gives a bit of a boost, albeit not as large as converting to geo.
You mean like the Clip option in the CoronaMtl for Opacity maps?
-
Make sure that opacity clip option is turned on in every material that has opacity map plugged in it. Also you can check if global opacity map filtering is turned off (should be off by default). One more thing you could try is to go through all your opacity maps and see if there's room for improvement in them - some textures are really bad prepared in that regard. Ideally you want as little black and as much pure white areas in your opacity map as possible. See attached image, from left to right: bad, better, best.
Ah crap, beatten by the two cowboys :]
-
To speed up foliage
https://forum.corona-renderer.com/index.php/topic,4537.msg73413.html#msg73413
I don't think that bit depth plays any significant part in Corona's rendering anymore. The issues raised in that topic was fixed long time ago.
Thanks guys, appreciate the advice. The improvements found in the daily builds do look impressive, however this project will eventually be going to a farm so that could throw up a few issues. And unfortunately 1.7 is due out the day of the project deadline...
There are some render farms that support daily builds. You may want to investigate that if you're not tied to some particular farm of course.
-
You mean like the Clip option in the CoronaMtl for Opacity maps?
Never work with foliage but Ohh wow, How did I totally overlook that one for all this time? O.o
-
You mean like the Clip option in the CoronaMtl for Opacity maps?
Never work with foliage but Ohh wow, How did I totally overlook that one for all this time? O.o
The clip option arrived with 1.5, you may just have overlooked it due to already having an established workflow :)
And on the cowboys from Romullus - yeeeehaaa! :) Lots of good info in here now and hopefully it will be of help for many!
-
You mean like the Clip option in the CoronaMtl for Opacity maps?
Never work with foliage but Ohh wow, How did I totally overlook that one for all this time? O.o
You're right, there's some really good info here. Thanks guys!
There are some render farms that support daily builds. You may want to investigate that if you're not tied to some particular farm of course.
I might have to go down this path, the potential speed increase sounds too good to ignore. I have a good relationship with my preferred farm so I'm sure they would be willing to help!
Make sure that opacity clip option is turned on in every material that has opacity map plugged in it. Also you can check if global opacity map filtering is turned off (should be off by default). One more thing you could try is to go through all your opacity maps and see if there's room for improvement in them - some textures are really bad prepared in that regard. Ideally you want as little black and as much pure white areas in your opacity map as possible. See attached image, from left to right: bad, better, best.
Ah crap, beatten by the two cowboys :]
Some really good tips there, thanks. I went through and turned clipping on for all opacity maps that were visible in the frame (including all the Forest Pack materials that are influence by the ForestEdge opacity map). However it hasn't made much of a difference, I presume as all the opacity maps were already 100% black or white.
Would you suggest the next step is reducing the surface area of the leaf geometry to match the bitmap? Some of the leaf shaders have an excessive bump map, but that shouldn't cause too much of an issue.
-
Would you suggest the next step is reducing the surface area of the leaf geometry to match the bitmap?
Well, that would be an ideal scenario, but hardly a practical one, especially when dealing with premade trees :] Adjusting bitmap or uv mapping is much easier task as usually there's only a few textures per asset. As you can see, the more opacity, the longer render times become.
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4537.0;attach=17538;image)
Some of the leaf shaders have an excessive bump map, but that shouldn't cause too much of an issue.
Bump map may have significant impact on render time. You may want to turn it off on some bigger foliage assets and see if that would help.
-
Would you suggest the next step is reducing the surface area of the leaf geometry to match the bitmap?
Well, that would be an ideal scenario, but hardly a practical one, especially when dealing with premade trees :] Adjusting bitmap or uv mapping is much easier task as usually there's only a few textures per asset. As you can see, the more opacity, the longer render times become.
Especially since the leaves are one editable poly, not instanced objects. So I'm not even going to try altering hundreds of elements!
Some of the leaf shaders have an excessive bump map, but that shouldn't cause too much of an issue.
Bump map may have significant impact on render time. You may want to turn it off on some bigger foliage assets and see if that would help.
I've removed the bump, but I'm still experiencing high render times unfortunately! I could remove reflection from the leaves, but I don't want to lose too much realism!
I have found some of the leaves have unwanted translucency, and one model had 1.0 refraction in the leaves which made a big difference. I'll continue tweaking and see if I find anything else...
-
Yep,refraction in foliage material is sign of really bad setup. It's definitely worth to double check every material and turn refraction off.
-
Try to use CoronaRaySwitchMtl for the foliage and remove the GI from the leafs.
Maybe you can speed up a bit.
And, yes, Opacity vs Geometry you can speed up a lot!
Same amount of time:
(http://www.francescolegrenzi.com/Temp/Corona/0180_TEST_Foliage.jpg)
-
Working with exterior scenes I've faced the problem with long render times for the cases where I used HDRI map in Reflections override slot of Render setup window. It made render times dramatically longer for me. So don't use that, or you can use work around I found useful for me - use JPG version of the HDRI map I wanted to use. Yes, it kills some details in reflections, but I found some settings which can make reflections with JPG look almost like with HDRI map. If you want, you can find more information here - https://forum.corona-renderer.com/index.php/topic,13104.15.html
-
Thanks everyone, there's a few good suggestions here I need to try.
I know someone mentioned earlier that there was a 'global opacity map filtering option', where would that be as I can't find it?
My render times are still higher than they should be, so going to keep trying!
-
It's in render setup>performance>dev/experimantal tab. If you can't find it, you have to unlock it in render setup>system>system settings. Just be warned to not mess up with anything you don't know about there ;]
P.S. filtering for opacity is disabled by default, so most likely your problems are somwhere else.
-
It's in render setup>performance>dev/experimantal tab. If you can't find it, you have to unlock it in render setup>system>system settings. Just be warned to not mess up with anything you don't know about there ;]
P.S. filtering for opacity is disabled by default, so most likely your problems are somwhere else.
Thank you, I thought I was going mad not being able to find it! It was disabled, but I had to check to be sure!
So yeah, my problems are elsewhere. I'll keep looking...
-
Let's try some extreme optimizations.
1) Since there are some interior/gi parts visible, I would leave PT+UHD as solvers.
2) If there are no moving objects, just a fly-through, you could bake the UHD Cache once, and re-use it for each frame. This way you will save UHD calculation time for each frame. See: https://coronarenderer.freshdesk.com/support/solutions/articles/5000515648
3) Simplify foliage materials, unless close-ups or extreme realism is needed - remove bump maps, remove translucency, make sure reflections have low glossiness.
4) Set MSI in performance tab to 10 - this should reduce noise, and introduce slight bias, but it shouldn't be noticeable, especially in an exterior scene.
5) Set GIvsAA to 8, since more antialiasing may be needed for the foliage to look good. Otherwise flickering may appear on hard edges.
6) Set LSM to 1, and check if there are no issues like increased render times. If not, leave it at 1. If there are, revert to the default 2.
7) Set max ray depth to the minimum possible value. I would try with 5 and see if there are no issues like strange looking reflections or refractions.
8) Disable displacement if there is any.
9) Use denoising.
10) Use blur/sharpen. This will slightly blur the noise.
11) If the image does not have to be saved in 32-bit format for compositing, etc, change highlight clamping in the system tab (do not mistake with highlight compression!) from 0 to some low value like 2, and check if there are no issues. Set it to lowest possible value. This will clamp all brightest areas, including fireflies and noise in general.
12) Increase image filter width to 3. This will slightly blur the noise.
13) Use pass limit instead of noise limit. It will give you consistent results and probably render times per frame, even if the content of the frame changes.
Note that these are EXTREME optimizations, and generally this is something that is not advised to do with Corona. :)
If you will get some incorrect results, just revert to defaults, or previous safe setup.
-
Let's try some extreme optimizations.
1) Since there are some interior/gi parts visible, I would leave PT+UHD as solvers.
2) If there are no moving objects, just a fly-through, you could bake the UHD Cache once, and re-use it for each frame. This way you will save UHD calculation time for each frame. See: https://coronarenderer.freshdesk.com/support/solutions/articles/5000515648
3) Simplify foliage materials, unless close-ups or extreme realism is needed - remove bump maps, remove translucency, make sure reflections have low glossiness.
4) Set MSI in performance tab to 10 - this should reduce noise, and introduce slight bias, but it shouldn't be noticeable, especially in an exterior scene.
5) Set GIvsAA to 8, since more antialiasing may be needed for the foliage to look good. Otherwise flickering may appear on hard edges.
6) Set LSM to 1, and check if there are no issues like increased render times. If not, leave it at 1. If there are, revert to the default 2.
7) Set max ray depth to the minimum possible value. I would try with 5 and see if there are no issues like strange looking reflections or refractions.
8) Disable displacement if there is any.
9) Use denoising.
10) Use blur/sharpen. This will slightly blur the noise.
11) If the image does not have to be saved in 32-bit format for compositing, etc, change highlight clamping in the system tab (do not mistake with highlight compression!) from 0 to some low value like 2, and check if there are no issues. Set it to lowest possible value. This will clamp all brightest areas, including fireflies and noise in general.
12) Increase image filter width to 3. This will slightly blur the noise.
13) Use pass limit instead of noise limit. It will give you consistent results and probably render times per frame, even if the content of the frame changes.
Note that these are EXTREME optimizations, and generally this is something that is not advised to do with Corona. :)
If you will get some incorrect results, just revert to defaults, or previous safe setup.
That certainly is a very helpful list of suggestions, thank you! I am actually currently running some more tests on this project, and came back here to ask some more questions on tweaking the render settings. So your post was a convenient and nice surprise!
I'm glad you agree on the UHD situation, I settled on using UHD as it actually seemed to be performing better than PT + PT in my tests. I haven't seen any flickering in the short tests I have done, so I'm hoping it should be ok. This is only a flythrough, so I will precalculate locally before sending to a farm.
After all the suggestions on the thread, I have meticulously checked all the foliage materials, reducing reflection as well as removing bump and translucency. I honestly can't believe how many foliage materials used refraction, even forest pack materials incorporated 1.0 refraction! So that has helped quite a bit.
I'm currently playing with GIvsAA, my most recent test on 8 and LSM at default. While initial estimates suggest faster frames, it gets stuck and lower noise levels and reaches the cut off slower than when at 16. The sampling focus suggests it has having trouble with shadows? (See attached).
I'll try your other suggestions, but I'm certainly thankful for denoiser! I'm using a stable version of the Daily build (31/07/2017) which has helped render times too...
-
even forest pack materials incorporated 1.0 refraction!
Really? Which ones? Usually the refraction color is set to black in (library) materials. Not a good style, but no refraction in this case.
Good Luck
-
even forest pack materials incorporated 1.0 refraction!
Really? Which ones? Usually the refraction color is set to black in (library) materials. Not a good style, but no refraction in this case.
Good Luck
You're exactly right, the refraction is set to 100% black. I've been going through so many foliage materials in this scene I just saw the '1.0' refraction and got annoyed...
Thanks!
-
Let's try some extreme optimizations.
Another question Marcin: Is that vast amount of sampling in very dark areas where there is usually a lot of visible noise anyway (foliage with lots of fine geomentry) wanted? I'm aware of the fact that one may still increase exposure to some insane value and then it may become reasonable but this always looks a bit exaggerated to me since adaptivity was introduced.
Good Luck
-
Let's try some extreme optimizations.
Another question Marcin: Is that vast amount of sampling in very dark areas where there is usually a lot of visible noise anyway (foliage with lots of fine geomentry) wanted? I'm aware of the fact that one may still increase exposure to some insane value and then it may become reasonable but this always looks a bit exaggerated to me since adaptivity was introduced.
Good Luck
we will fix this to make adaptivity faster in time for 1.7
-
Tnx Ondra, pretty curious about how it will be balanced.
Good Luck
-
Appreciate the insane optimizing...under the gun, this is good for crazy deadlines.