Jump to content

ClickNRender AutoOptimise Script


Morne Erasmus
 Share

Recommended Posts

EDIT: Now Updated to 1.2

 

Hi all

 

So I wrote this simple little "ClickNRender" script that aims to AutoOptimise your scene. It works on VRay 2.x and 3.x

It's highly experimental, so make sure you have a backup copy of your scene.

 

ClickNRender_Screenshot.jpgClickNRender_Screenshot_1_2.jpg

 

For now it's only for stills without DOF and Moblur so don't try it on an animation.

 

You can get predictable results without having to punch in a gazzilion settings. New guys can get a half decent render without knowing much and veterans may find it useful to tweak the numbers if you're working with assets coming in from various sources.

 

There's already a bunch of great scripts out there for optimising and there's various ways to get to an end result, this script is just my contribution. You may find this script is not for you, and that is fine.

 

I already tested the script on a bunch of the typical scenes I work on everyday. Where you guys come in is to see how it performs on the type of scenes YOU work on everyday, give me some feedback and see if I can tweak the script further. I have noticed some slight noise in the reflection element, but that is less obvious in the beauty pass.

 

EDIT: Now Updated to 1.2

And now,

Get the script here:

ClickNRender 1.2

 

 

 

ClickNRender_Screenshot.jpg

Edited by Morne
Link to comment
Share on other sites

I really wish there was a true optimizer that would do something like take a quick test render and based on the SampleRate render pass and overall noise levels, determine the best GI method and balance between material, light, GI and DMC subdivisions for the scene. That's "optimizing" in my book. Anything short of that is essential just a preset for render settings and subdivisions. In other words it's not tailored to each scene, it's just a one-size-fits-all solution - which is sort of the opposite of "optimizing."

Link to comment
Share on other sites

I really wish there was a true optimizer that would do something like take a quick test render and based on the SampleRate render pass and overall noise levels, determine the best GI method and balance between material, light, GI and DMC subdivisions for the scene. That's "optimizing" in my book. Anything short of that is essential just a preset for render settings and subdivisions. In other words it's not tailored to each scene, it's just a one-size-fits-all solution - which is sort of the opposite of "optimizing."

 

Be that as it may, the numbers have been meticulously researched and there is a relation between the subdivs, the dmc etc. You're right in that the aim is a one-size fits all solution. That's why future versions will have sliders so you can better decide what render you want. A lot of fine detail on hair for example, or animation with moblur etc, will require higher AA settings and the script will change all other settings accordingly. The script will take the headache out fiddling with settings when the deadline is around the corner and you just want to click render and go home. The script is NOT aimed at getting you the CLEANEST render in the FASTEST time. There's no substitute for experience and manual optimising.

 

If you deal with teams, or freelancers or purchased assets, and you're working on huge scenes, you'll find most of your time is spent manually tweaking imported assets to "conform" to your particular workflow. There's nothing worse than having an optimised scene, you're happy and ready to render, then you import a purchased tree or vehicle or character with 50 materials and your render falls apart because those subdivs is not optimised to talk to the current setup of your scene.

 

The samplerate element is a great tool for optimising your scene, but even Vlado said you shouldnt rely on it too much. Who cares if your samplerate is 100% red or 100% blue if the beauty pass looks great.

 

As I mentioned, the script is there to give you predictable results. People will often fiddle with a lot of settings, and forget to change just 1 material or just 1 light which in turn could make your render fall apart.

 

Also as mentioned, the script is not for everybody. There's 7 billion people on the planet, you can't please everybody. However it can't hurt to try ;- )

 

Thank you for your comments, I've made a note of your requirements and will consider an "evaluate scene" function in a future version.

Link to comment
Share on other sites

+1 well said

 

Thanks for your contribution - your time and talent is much appreciated.

 

Be that as it may, the numbers have been meticulously researched and there is a relation between the subdivs, the dmc etc. You're right in that the aim is a one-size fits all solution. That's why future versions will have sliders so you can better decide what render you want. A lot of fine detail on hair for example, or animation with moblur etc, will require higher AA settings and the script will change all other settings accordingly. The script will take the headache out fiddling with settings when the deadline is around the corner and you just want to click render and go home. The script is NOT aimed at getting you the CLEANEST render in the FASTEST time. There's no substitute for experience and manual optimising.

 

If you deal with teams, or freelancers or purchased assets, and you're working on huge scenes, you'll find most of your time is spent manually tweaking imported assets to "conform" to your particular workflow. There's nothing worse than having an optimised scene, you're happy and ready to render, then you import a purchased tree or vehicle or character with 50 materials and your render falls apart because those subdivs is not optimised to talk to the current setup of your scene.

 

The samplerate element is a great tool for optimising your scene, but even Vlado said you shouldnt rely on it too much. Who cares if your samplerate is 100% red or 100% blue if the beauty pass looks great.

 

As I mentioned, the script is there to give you predictable results. People will often fiddle with a lot of settings, and forget to change just 1 material or just 1 light which in turn could make your render fall apart.

 

Also as mentioned, the script is not for everybody. There's 7 billion people on the planet, you can't please everybody. However it can't hurt to try ;- )

 

Thank you for your comments, I've made a note of your requirements and will consider an "evaluate scene" function in a future version.

Link to comment
Share on other sites

Having read through the whole LeLe's thread and basically every single optimizating thread at Chaos, I've never witnessed any attempt being more sucessful than simple universal+Min. Shading Rate in Vray 3.0. How could it ? It's waste of time.

 

"Juraj's two-button 'Almost Corona' Vray 3 render settings"

 

Min. Shading rate instead of subdivs: It's direct AA vs Secondary ratio, nothing could be simpler. 8=good default for almost anything, interiors can be more, exteriors less, DOF/Blur can stay at 1 (classic universal, old Vray), or 2.

 

Adaptive sampler as the only quality adjuster. CLR whatever you feel=0.005-0.002

Or simply set as progressive and CLR=0, bum, you have Corona/Maxwell/etc....

 

DMC= Default plus Global Subdiv=0, resets everything, nothing to adjust. Or...use VMC plugin to manually reset everything (one-click) to 8, and then you can use Universal + Irradiance settings (amazingly clean, and no one uses it).

 

It's super easy, it works ALL THE TIME, for ALL scenarios (interior, exterior, Dof,Blur,etc..) and adjust to all conditions (any resolution, from test, to final).

 

Why do people still try to outhink the renderer that is basically created to counter-balance itself ? So much wasted time only to get worse quality.

 

Take in good faith :- ) Not my cup of tea.

Edited by RyderSK
Link to comment
Share on other sites

I think the script should start with a simple question..

If you order a pizza and it takes longer than 30 minutes, do you

A)Wait patiently for it to arrive knowing it will be there soon.

B)Call the pizza place and politely ask when you will expect the pizza.

C)Call the pizza place and raise holy hell and generally be a demanding knob.

D)Set your house on fire so the delivery guy knows where you are.

 

Based on that answer, you can set the preset for the render time threshold of the user.

 

What would be a nice feature is if the script could benchmark the current scene at a lower resolution, say 400-800px wide, and be able to fairly accurately estimate the render time at the final resolution that the user wants. It could tell the user that at their current settings and if they want it at 4k resolution, it will take xx number of minutes/hours. If that time is too long, then you could have suggested setting to get the render time down to within their time frame.

Link to comment
Share on other sites

Having read through the whole LeLe's thread...

 

...Why do people still try to outhink the renderer that is basically created to counter-balance itself ? So much wasted time only to get worse quality.

Take in good faith :- ) Not my cup of tea.

 

Lele's thread is awesome and his scripts and knowledge is right up there with the rest of the veterans, even higher actually. His original LWF tuts helped me a lot. I'm not saying my script is superior to anything, just an alternative.

 

Not everybody has the luxury of VRay 3.x

Anyway Juraj, you don't need a script, your stuff already looks pretty good. How did you like State of Art this year?

 

What would be a nice feature is if the script could benchmark the current scene at a lower resolution, say 400-800px wide, and be able to fairly accurately estimate the render time at the final resolution that the user wants. It could tell the user that at their current settings and if they want it at 4k resolution, it will take xx number of minutes/hours. If that time is too long, then you could have suggested setting to get the render time down to within their time frame.

 

Exactly! Nice request. This is the point. Not everybody has the luxury of a warehouse full of render slaves and sometimes you don't care about getting all channels super clean, you just want an image that is "good enough" for the ever shortening deadlines we have to deal with. That doesn't mean the script gives bad results.

 

There are plenty artists out there that's very artistic, but they don't know jack about the technical stuff. The script sorts out the technical stuff so they can concentrate on what they do best, how they know best.

 

Anyways, with the presets coming with the slider etc, there will be an option to switch to Universal, Hybrid Universal etc. Also a XHQ setting which will give super clean results when you need it.

Edited by Morne
Link to comment
Share on other sites

Heh don't want to sideline your thread, but I think pretty good :- ) I am happy it's over, 2 presentations are about as much as I can survive in year.

 

I see, well yes, Vray 2.4 was always nightmare for me, that's why I was surprised how easier Vray3 is, if you want. But I think far too many people took their former mentality of adjusting 2.4 into 3.0, that they don't want to try different approach.

 

I don't think LeLe's thread is so good that's why I wrote I found it odd. So much effort, and in the end, Vlado's scene (based upon Minimal Shading Rate) with universal still rendered much faster and nicer. He didn't beat it, he didn't win, making the whole script basically fun for him, but obsolete and pointless. That's my view on it.

Link to comment
Share on other sites

Having read through the whole LeLe's thread and basically every single optimizating thread at Chaos, I've never witnessed any attempt being more sucessful than simple universal+Min. Shading Rate in Vray 3.0. How could it ? It's waste of time.

 

"Juraj's two-button 'Almost Corona' Vray 3 render settings"

 

Min. Shading rate instead of subdivs: It's direct AA vs Secondary ratio, nothing could be simpler. 8=good default for almost anything, interiors can be more, exteriors less, DOF/Blur can stay at 1 (classic universal, old Vray), or 2.

 

Adaptive sampler as the only quality adjuster. CLR whatever you feel=0.005-0.002

Or simply set as progressive and CLR=0, bum, you have Corona/Maxwell/etc....

 

DMC= Default plus Global Subdiv=0, resets everything, nothing to adjust. Or...use VMC plugin to manually reset everything (one-click) to 8, and then you can use Universal + Irradiance settings (amazingly clean, and no one uses it).

 

Would you care to elaborate on these? (or provide a link to somewhere)

 

I follow the chaosgroup forums a lot, but some of the threads move so quickly that I struggle to keep up. I've currently been using a Grant Warwick/universal settings kind of approach, brute force and using render elements to weed out any noise. So some materials end up with very high subdiv settings, etc...

 

Is this not the case with these new settings?

 

I've not really understood what the minimum shading rate setting is all about really, aside from the basics that are in the VRay documentation.

Edited by Macker
Link to comment
Share on other sites

Would you care to elaborate on these? (or provide a link to somewhere)

 

I follow the chaosgroup forums a lot, but some of the threads move so quickly that I struggle to keep up. I've currently been using a Grant Warwick/universal settings kind of approach, brute force and using render elements to weed out any noise. So some materials end up with very high subdiv settings, etc...

 

Is this not the case with these new settings?

 

I've not really understood what the minimum shading rate setting is all about really, aside from the basics that are in the VRay documentation.

 

 

They chose the stupidiest name ever :- ) Min. shading rate ? I mean what does that even mean, so I guess people ignore. But it's so simple:

 

It's direct ratio between primary rays (AA) and secondary (glossies,etc..). Unlike global subdiv multiplier this doesn't get divided by AA subdivs, so you can easily force the engine to simply go directly for the secondary subdivs.

 

Basically, it does the same what you're doing with Grant's method, but instead of balacing it given CRL threshold and resolution by adjusting 1000 subdivs in scene, you can use SINGLE value to the absolutely same job. An in every comparison on Chaos forum and in my use, it was always better in quality,

 

Plus it's necessary to use with Progressive sampler because that one does equal sampling of whole image so without it would waste most of power on primary rays (but which really aren't "that much slower" as it's been popularized".

 

Maybe my opinion on this is radical, but the only reason to do any subdiv tweaking in Vray 3.0 is when you absolutely love wasting time.

 

Vlado is great guy but he does poor job explaining the methods and instead let the forum maniacs force dubious pseudo-pro methods on everyone.

Link to comment
Share on other sites

It sets the sampling, you can still go for lower-quality (it's CLR that defines the 'cleannes' you want, you want fast, set it high= 0.01) . It's also not tied into "strict" 'Universal workflow'{Bruteforce +LC}, I used it just fine with Irradiance Cache (but then you can't set Global subdivs=0 because it will also reset hemispherical ones, so keep it =1, and reset all other scene subdivs to default 8 by using VMC plugin)

 

The only thing it does is set the primary vs secondary for you, without any necessary "forcing" of it through absurdly high subdivs (because Vray is built around 'counter-balacing' internally, you can set it off by seting divide shading to be off but you would be up for unpleasant surprise....counter balacing is good for most users to avoid completely ****ing-up their render times because people have pet-pevie or raising stuff for no other reason just that they can, I better know myself :- )

Link to comment
Share on other sites

 

...

 

"Juraj's two-button 'Almost Corona' Vray 3 render settings"

 

Min. Shading rate instead of subdivs: It's direct AA vs Secondary ratio, nothing could be simpler. 8=good default for almost anything, interiors can be more, exteriors less, DOF/Blur can stay at 1 (classic universal, old Vray), or 2.

 

Adaptive sampler as the only quality adjuster. CLR whatever you feel=0.005-0.002

Or simply set as progressive and CLR=0, bum, you have Corona/Maxwell/etc....

 

DMC= Default plus Global Subdiv=0, resets everything, nothing to adjust. Or...use VMC plugin to manually reset everything (one-click) to 8, and then you can use Universal + Irradiance settings (amazingly clean, and no one uses it).

 

It's super easy, it works ALL THE TIME, for ALL scenarios (interior, exterior, Dof,Blur,etc..) and adjust to all conditions (any resolution, from test, to final).

 

...

 

 

EDIT: I just saw all of the questions I had answered above, so I removed those from my post. :) Thanks Juraj.

Edited by chroma
Link to comment
Share on other sites

I too was wondering about the pros and cons of Brute vs Irradiance. Of course Brute will be slower and more thorough, but it seems like Irr. has been the darling of the Chaos group for such a long time.

 

It IS pretty amazing that everything can be left at default values.

 

In Grant's tutorial so much time is spent going back and forth examining render elements under a magnifying glass, trying to solve the mystery of where the noise is coming from.

Edited by heni30
Link to comment
Share on other sites

Script now updated to version 1.2

See the 1st post in this thread for the download

 

It does more than just "presets". It also sets your Light Cache subdivs based on your render size and also sets dynamic ram.

V-Ray 3.x specific features to follow in the next update as well as other nifty little things

Link to comment
Share on other sites

the thing to remember is that with Grants Method is you dont have to follow his work flow, ie test render after test render after test render. He does go a bit overboard in tweaking and gets quite pedantic over really tiny details which 95% of the time are not really noticed unless its a tight detail product shot.

 

Once you get your head around his method you generally dont have to test as much as you optimize as you go along rather than waiting till the very end.

Link to comment
Share on other sites

Hi Juray

 

Wondering if you can specifically go through the settings as per this post? Im a little confused with a couple of things.

Just confused with the specifics and where they are located... or even better if you can attach a render preset for what you mention so i can study it and reference it?

 

 

Having read through the whole LeLe's thread and basically every single optimizating thread at Chaos, I've never witnessed any attempt being more sucessful than simple universal+Min. Shading Rate in Vray 3.0. How could it ? It's waste of time.

 

"Juraj's two-button 'Almost Corona' Vray 3 render settings"

 

Min. Shading rate instead of subdivs: It's direct AA vs Secondary ratio, nothing could be simpler. 8=good default for almost anything, interiors can be more, exteriors less, DOF/Blur can stay at 1 (classic universal, old Vray), or 2.

 

Adaptive sampler as the only quality adjuster. CLR whatever you feel=0.005-0.002

Or simply set as progressive and CLR=0, bum, you have Corona/Maxwell/etc....

 

DMC= Default plus Global Subdiv=0, resets everything, nothing to adjust. Or...use VMC plugin to manually reset everything (one-click) to 8, and then you can use Universal + Irradiance settings (amazingly clean, and no one uses it).

 

It's super easy, it works ALL THE TIME, for ALL scenarios (interior, exterior, Dof,Blur,etc..) and adjust to all conditions (any resolution, from test, to final).

 

Why do people still try to outhink the renderer that is basically created to counter-balance itself ? So much wasted time only to get worse quality.

 

Take in good faith :- ) Not my cup of tea.

Link to comment
Share on other sites

One of the reasons I made the script, is so that there isn't confusion. Some people are great at no matter what they do, some people need a little help along the way. Some people are great at the artistic side of rendering as well as the technical side. A lot of people have art backgrounds, they're great artists, but they're not into the technical side of things, either by choice or they're just not that way inclined.

 

New people can just click a button, and get a render without knowing about minimum shading rate or what samples are or even what on earth is this thing called GI. Other's may find that once they get familiar with the script, their curiosity gets the better of them and they start poking around and see what the settings were before the script, and what it is after the script. Slowly you start to put the puzzle together until one day it all clicks into place and you can confidently get a render out, knowing what each and everything does and how to fix things when there is a problem.

 

Minimum shading rate is the best thing since sliced bread, but there are still times when you need to up your AA, worry about animation, DOF, moblur, stereoscopic images, particles, messed up files from 3rd party etc. If you do archviz stills exclusively, you may never have to worry about any other setting besides the minimum shading rate. I for one am very curious and I like to figure out how stuff works.

Link to comment
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
 Share

×
×
  • Create New...