- Jun 10, 2018
- 6,326
- 22,754
How to optimise render times in iray (a small guide)
Lately I have seen a lot of questions regarding this topic, so I decided to make this small guide.
While I am by no means a pro and am sure that other people know more and better tricks, I'm going to share what I have learned over the time.
There are a few things that can drastically reduce render times if done right.
The guide is meant for rendering in iray.
Contents:Lately I have seen a lot of questions regarding this topic, so I decided to make this small guide.
While I am by no means a pro and am sure that other people know more and better tricks, I'm going to share what I have learned over the time.
There are a few things that can drastically reduce render times if done right.
The guide is meant for rendering in iray.
#1. General things.
#2. Importance of lights
#3. How geometry and texture affect the memory consumption
#4. Texture resolution.
#5. Reflectivity
#6. Tools
1. General things.
For the people who are completely new to DAZ:
Iray works best with nvida grafics card (cuda). More cuda cores mean faster rendering. Of course Iray CAN use the cpu, but it is way slower, no matter what cpu you have.
If you are rendering on cpu or just don't have the best hardware, this post is especially for you!
Before you start to create a scene, think about what you want to show and what you want to achieve with the scene. Don't just drop a quadrillion assets and figures in the scene, because every asset will add to the render time.
Less is more!
It's always a good idea to think about what you really need for a scene to look right and if you're not happy with the end result, you can always add more stuff later.
2. Importance of lights.
If you're using iray to render your scene you will quickly notice that your scenes will end up grainy or noisy. That's because iray needs light. A lot of light. This doesn't mean adding several light sources will make it better. The opposite is the case. Every light source generates shadows, rays and whatnot and needs to be computed, so in the end it will add to the render time if there are too many light sources.
To get good results it's best to use as few as possible light sources. For exterior scenes it's always a good idea to use a hdri light and only add additional lights if needed.
Depending on your scene this might even work in interiors.
More in-depth informations about light can be found further down
You must be registered to see the links
thanks to @Rich for posting over here.3. How geometry and textures affect the memory consumption.
A simple cube without any texture will render way faster then for example a figure like the gen3female with all its diffuse, bump, specular and normal maps/textures. Even if you remove all the textures from the g3f, it won't render as nearly as fast as a simple cube, because of the complexity of the figure.
Keep this in mind when setting up a scene.
It's a good idea to remove objects that are not visible in the scene because it will still be computed.
But what if you have to keep them, for example if they drop shadows that must be visible in the render?
You can still delete the textures from these objects to lower memory consumption/render times. This is extremely important if the objects use large textures.
And this brings us to the next point:
4. Texture resolution.
Using 8k textures and above gives you nothing but a lot more memory consumption.
8k textures tend to be tripple the filesize than a 4k texture and up to 20 times bigger than a full hd texture (2mb vs 40mb). Even if you render a 8k image, it doesn't make sense to use 8k textures because most of it wont even be visible. It won't look better than a 4k or even a 2k texture.
Now you might think 40mb is not much, why should I care?
It's simple, because it's actually not just 1 time 40mb. Just a single figure like a gen8 uses atleast 3 textures only for the torso. Now add every other body part, like the arm, legs, or the eyes and you easily go above 1gb with one figure only. And that's without any hair or clothing btw.
Set the texture resolution in relation to your desired render resolution and how much is visible. For example: if you render @ 4k and have a mouse placed somewhere at the edge of the sceen, now let's say the mouse takes up about 10% of the space in the final render image, does it make any sense to use a texture that is 90% bigger than the mouse in the image? No!
I hope this is understandable.
There is one exeption though. If you use hdri maps it's actually better to get higher resolution hdri's then the actual render resolution because they will be stretched around the whole scene.
5. Reflectivity
I know, I know, everybody loves shiny things and when in comes to rendering, shiny and reflective objects look great. BUT!
Gloss, reflectivity, refraction and backscattering heavily influence render times. The more shine, the longer it will take to render the scene. A scene with just one simple object, one light and 20 mirrors will most likely take way more time to render than a scene with 100 simple objects and a light.
Keep this in mind when you set up your scene.
If you have objects that are reflective or shiny but dont really need to be, you can reduce the glossyness in the surface tab. Removing glossy maps/textures and subsurface scattering (AoA) also helps to reduce rendering times. Most of the time you can get the same effect without the maps if you play a bit with the slider values.
6. Tools
Some helpfull tools for rendering:
You must be registered to see the links
Tool to reduce texture size, remove maps and reduce subdivision levels (easy to use, instructions included)
You must be registered to see the links
Both very usefull if you don't want to wait for your render to start the next one. Save your render, create the next one, save it and render them all over night. There are some other nice tools over in the linked thread too.Other notable/interesting things/tips
One thing I read again and again when people ask for advice for getting less grain/noise in their render is that it's a good idea to render in higher resolution and reduce the resolution afterwards. Yes it helps to get rid of some grain/noise and yes a higher resolution doesn't impact the render time that much. But if you have a low end computer you will notice an impact and if you are concerned about render times then it's better to spend some more time to optimise your scene before you hit the render button.
If you have more than one (nvidia) grafics card, every of them will be used for rendering (when activated in the render settings) BUT the overall VRAM wont be stacked. That means if you have two 4gb cards, they wont stack to 8gb. If you have a scene that needs 6gb of VRAM they are basically useless and the rendering process will drop to the cpu.
On the other hand, some people claim that if the VRAM size of the cards differ and the scene is too big for the smallest card, the rendering process will automatically drop to the cpu...
THIS IS NOT TRUE! Iray will use the other card for rendering if there is enough space.
Another thing me and a few others have noticed is that, even when the smaller card does not have enough available memory, and won't be used, the gpu usage can still be at 100%. I wasn't able to get any information about why this happens or what the smaller gpu is computing in this case, but as soon as I find out, I'll post it here.
You can read about GPU usage in more detail in the following post by @Rich
One thing I recently found out is that if the whole scene is bigger than you vram size doesn't neccessarily mean that iray will drop it to the cpu. The scene will first be processed in the system ram and gets converted for rendering. The processed scene and memory consumption will be smaller in the end (That's how I was able to render a 50gb scene on my 14gb vram btw).
If you have several light sources, use optix prime acceleration!
For those who don't know what it is or does: Optix Prime is a low level API for computing light ( especially ray tracing) and developed by nvidia for their cuda cores.
Activating it helps a lot to speed up scenes with different or heavy light.
You can activate it in the render settings under the advanced tab.
On the occassion:
Keep your system clean! Anything that impacts your system, impacts the render times too.
if you have less than 15% of your HDD capacity left, it will impact the performance of both of them drastically
Start deleting unnecessary stuff and you'll get a lot of performance back
TL-DR:
Use nvida (cuda) cards for iray rendering
Use just a few simple but effective lights
Don't use too many objects in the scene
Use simple geometrys
Remove every object/asset that is not visible in the render
Don't use higher resolution textures as nessessary
Highly reflective objects add a lot to the render time
Feedback and other helpfull tips are appreciated and will be added later. I want to make this a nice starting point for beginner and advanced user