Jump to content
Anti-Distinctlyminty

Help With Speeding Up Render

Recommended Posts

btw speaking about filtering methods, sidefx actually made some attempts to implement this in Mantra too. honestly, I haven't had a very good experience with it so far but the truth is I haven't really explored it too much in depth.

so if you take a look at Pixel filter on Mantra ROP you'll find some interesting ones like Gaussian with noisy samples refiltering or Ray histogram function. images bellow were all rendered under 1 minute with 1 ray sample fixed with mentioned filtering methods. looks great but for instance Ray histogram function introduces some nasty artifacts in highlights and I'm not sure if you can tweak it enough to get production quality animation out of it. not sure about gaussian refiltering as I was not even aware it's there (so I suppose it must be fairly new). anyway it seems to do a decent job and might be worth trying.

filtering.jpg.c4ae78c55397c8e054051f54a5668e74.jpg

Share this post


Link to post
Share on other sites

This is certainly very interesting, albeit, yet another option to take into account. Having said that I wonder what the ray histogram would look like with more than one ray sample. It also seems to have artefacts at the bottom where you can see the top rim and liquid.

I'll definitely take a look at some of these though.

Also, we did used to do a significant amount of de-noising in post, but for some things that really messed up, so we're trying to get smooth renders out of the farm now.

I was also watching a talk by Marcos Fajardo about Arnold and he said a very distinct 'no' to denoisers, though I can't recall his reasoning at the moment.

Share this post


Link to post
Share on other sites

i'm playing with it right now. with 6x6 pixel and 1-12 rays at 0.007 noise level and filtering on gaussian refilter it already looks pretty clean. hard to say how that will do in animation. ray histogram tends to be much smoother but also washes away some detail and is more prone to artifacting. let us know your results if you get some ;)

Share this post


Link to post
Share on other sites

Interesting thread. I will tesrt you scenes in Mantra and Redshift to help me explore those renderer and will also try it with Vray4Houdini to see how it goes.

Edited by Strob

Share this post


Link to post
Share on other sites
1 hour ago, Strob said:

Hi Marty, I downloaded your scene and loaded it in indie 16.5 with redshift demo on windows. I have 4 1080 ti on my system but when i try to render your frame it is a lot longer than 1min 40s. In fact it took 16 min 37 s with 4 x 1080 ti...

Rendering to Mplay? Windows really shouldn t make a difference so maybe it's some setting for multiple cards.  Hit up the redshift forum I reckon or yank / unselect some cards.  

Share this post


Link to post
Share on other sites

if you have 4 1080 TI and is taking 12 to 16 min something is wrong, I just download the scene and I hit render without anything else with 2 1080TI and it took 2:40 sec on this machine.

Also to add if you "enabled Automatic Memory Management" it went down to 2:14 sec

Edited by Sepu

Share this post


Link to post
Share on other sites

With 4 gpu (1080 ti) the last scene by marty (Test_RenderRS_3.hiplc) took 2 minutes in Redshift demo 2.5.46 (windows 10 , houdini 16.5.268). So 4 gpu is not exactly 4 times faster though (this is compared to 4min 40s by marty with 1 x 1080 ti).

2017-12-11 18_00_44-F__Bocal_Test_Rend.png

Edited by Strob

Share this post


Link to post
Share on other sites
9 minutes ago, Sepu said:

if you have 4 1080 TI and is taking 12 to 16 min something is wrong, I just download the scene and I hit render without anything else with 2 1080TI and it took 2:40 sec on this machine.

Also to add if you "enabled Automatic Memory Management" it went down to 2:14 sec

Yes sorry I erased my post it was my bad. I didn't noticed I had my miner running in the background!! I feel like such an idiot!!! Sorry.

Share this post


Link to post
Share on other sites

I don't know if Marty tweaked the setting or not, but you can play with the unified samples to get the render in less time, that is the beauty of it. You can put sample where you need them. Enable memory management helps quite a bit but then you can go even lower if you know what to tweak. 

Share this post


Link to post
Share on other sites
2 minutes ago, Sepu said:

I don't know if Marty tweaked the setting or not, but you can play with the unified samples to get the render in less time, that is the beauty of it. You can put sample where you need them. Enable memory management helps quite a bit but then you can go even lower if you know what to tweak. 

Cool I will play with these.

Share this post


Link to post
Share on other sites

One thing we must careful with when facing the rendering of such a scene is the intensity of the highlights. If they are too strong (white way above 1) it will cause really high contrast and the sampler will work a lot trying to antialias the jaggy edges. There was some very strong jaggy edge around the highlights in your scenes mostly Test_RenderRS_3.hiplc So I played with the sample filtering settings: I switched it to mitchell (my favorite in V-Ray) and cranked it up to 9 and lower the max subsample and secondary ray intensities, they were way too high I wonder why. And I also lowered one the light intensity. It removed the jaggy edged around the highlights. I get 1min 39 sec.

It's the first time I try Redshift and I really love it!

 

2017-12-11 21_19_56-F__Projets 3D_test_houdini_HoudiniProjects_redshiftVsMAntraVsVrayBocal_Test_Strob_001.png

Test_RenderRS_3_strob_001.hiplc

2017-12-11 20_57_51-F__Projets 3D_test_houdini_HoudiniProjects_redshiftVsMAntraVsVrayBocal_Test_Rend_mitchell.png

2017-12-11 20_58_40-F__Projets 3D_test_houdini_HoudiniProjects_redshiftVsMAntraVsVrayBocal_Test_Rend_mitchellBefore.png

Edited by Strob

Share this post


Link to post
Share on other sites

Brutal scene! The refraction is the big killer, and the sizzling refuses to go away without really high settings - both separate issues, both contribute to the slow speed. I'm using Apprentice so I can only render at 1280x720, so my baseline to render your scene ( on an old 12-core ) is about 1 hour.

What will help to reduce render times ( for this scene, not nec. all scenes ) is to use higher raytrace samples instead of higher pixel samples, to clean up noise. But you also need to set a lower Noise Level threshold ( under Min / Max Samples ) - your samples are nice and high, but the ( default ) high threshold stops mantra from using enough samples. 0.006 should be good, 0.003 would be cleaner but of course much slower. Then you should be able to reduce the pixel samples, so that areas with little or no noise, like the table and the liquid, will render many times faster. Using just 2 pixel samples, your table surface rendered clean & smooth, and really fast.

Removing specular contribution from the lights, and adding grids with a white constant shader on them, parented to the lights, helps a lot but looks a bit different - you keep reflection but lose some spec highlights. That makes me wonder - why do you get any spec, with no roghness? I didn't see any roughness in any shader parameters - why would the reflections be noisy?

Checked the shader - and even with Roughness set to 0.0, the reflections are still not sharp, and that's where your sizzling is coming from. I dove into the shader and found a Texture value at 1.0 connected to the roughness param, set it to 0.0, and the reflections got sharper, but still not completely sharp. But it should help this render quite a bit anyway, and I think this is where sidefx has to take over - 

Now I see that the reflections can be sharp, but only when there's no Transparency :P Adding transparency instantly introduces noise, via a wider cone angle, apprently. Stochastic off, or on with high samples makes little difference. Cranking up Reflection and Refraction Quality to 12 or higher helped, but that's slower of course - we really need to have the option of perfectly sharp reflections... a seperate param for refraction roughness would be nice too

* still working on a final render, will post results soon

Edited by TobyGaines

Share this post


Link to post
Share on other sites

sweet jesus, forget what I said before, this is much more of a nightmare than I thought! I finally got a faster render, but the rabbit hole kept getting deeper, so it took longer & longer to work out

With both the principal and classic shaders / GGX, refracting Reflection rays gives a ton of noise, independent of roughness settings. The noise needs high Pixel Samples and increased Refraction Quality settings to fix.

Specular from lights is the worst, as implied by light sampling issues mentioned previously - so I turned the light's reflection contribution off and replaced it with reflection cards.

Switching the Refraction Model from GGX to Phong helped a lot ( I haven't found a switch in the principled shaders yet so I had to use classic shaders ), there's still a fair amount of noise but now it seems to shade like I expect it; increasing Max Ray Samples was actually effective, and at only 12, which allowed me to reduce the Pixel Samples down to 8. Noise Level worked fine at the default 0.01. Reflection and Refraction Quality needed a boost to 2 and 4 respectively. Limits panel was left as is ; reflect 2, refract 4, Color 4.

I was able to cut the render time in half after all this ( changing the shaders to classic to switch off ggx did change the look ), but that's still way too slow for what it is, there should have been no noise in the first place. Stochastic transparency on / off and high samples made 0 difference

Sidefx has to fix this! Using a different renderer is certainly a good idea in the meantime

I still want to try it with a fresh scene, and in another renderer for comparison

Screen Shot 2018-01-03 at 12.47.01 PM.png

  • Like 4

Share this post


Link to post
Share on other sites
Posted (edited)

Here's what you see when you go from 0 transparency to 1.

First image is an opaque, black shiny shader, the second is just switching transparency to 1.0

( open to full size to see it :o )

 

no-refr.png

refr.png

Edited by TobyGaines

Share this post


Link to post
Share on other sites

So, I suppose the question remains that should this be considered a bug? Is the transparency noise caused by errors in roughness calculations or are they inherent to PBR? I would naively expect similar behaviour of noise for both reflection and refraction.

Share this post


Link to post
Share on other sites

Useful observations Toby, thanks for the effort!

10 minutes ago, Anti-Distinctlyminty said:

So, I suppose the question remains that should this be considered a bug? Is the transparency noise caused by errors in roughness calculations or are they inherent to PBR? I would naively expect similar behaviour of noise for both reflection and refraction.

I think this is probably just a thing where Mantra haven't managed to catch up with competition in how efficiently things are implemented. I might be wrong thou... either way its definitely worth reporting as an issue. Your scene makes an excellent example :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×