Table of content:
Most of the people who work with 3D have asked themselves how can I speed the rendering process. And all of them have some advice to give. But it is mostly set this setting to 3 instead of 4, and this one to 13 instead of 25.They don’t give you an idea as to why you do this, and how it helps you improve rendering time. In this article I will give you an idea how to improve your process and why it helps you. This guide is for beginners and should be applicable to most of the rendering software out in the open world.
The easiest way to picture what a render engine does is to remember when you were little and played with one of your laser pointers. If the laser hit a hard non reflective surface the laser dot stayed solid and generally the same size as the original(depending on how good the laser pointer was). If the laser dot hit let’s say frosted windows the laser dot spread and became larger(defused) and some of the light was refracted. And the last scenario is: when you pointed the laser at a mirror, depending on the quality of the mirror, most of the light was reflected.
Well most render engines do just that, shoot millions of lasers(rays) at things to calculate where they go, how much of the light is refracted or reflected when the laser hits the surface of an object. And if enough light is reflected it repeats the process until it stops.
Now you can understand the easiest way to reduce rendering time is to lower the rays so the image is rendered as fast and as noise-free as possible.
The simplest way to explain is for you to go to YouTube and lower the quality of the video to 360p, now put it on you 4k tv and you will notice that some of the wrinkles on the face of the actor are gone, so are some of the leaves on the trees in the background or some of the rivers and cliffs on the mountain way back are gone too. Why is this happening? Well it is like this because when you set the video to 360p you set the number of vertical pixels to 360, but a typical 4k TV has 2160 vertical pixels , so your TV has to fill all of them. How does it do that? Well it takes the original pixels and multiplies them by 6. Why 6? 2160/360=6. So 1 green pixel from the video becomes 6 green pixels on the TV, but if you have the original 4k video out of those 6 pixels 3 could be green , 1 could be white and the other 2 could be some kind of brown. This is why you lose some details when you play a low res video. But this is on newer TV-s, for those of you who are old enough to remember the old analog TV and the old CRT TV-s may remember that they did not have the upscale and the denoise technologies, so when information was lost about a pixel or two, because of bad weather, we saw small black dots appear from time to time. This is the noise I talk about. Now this kind of thing is only seen as an intentional filter that is added post production and is considered a bad thing if not chosen by the director.
When a render program tries to determine what material is used to fill the pixel it shoots 1 ray through the pixel and determines what kind of material it encounters so the program fills the pixel with that material. This is called “sample”. This way the render software knows how much light to reflect, refract, disperse etc. The problem is that 1 pixel can be made of more than one material and so the program has to take multiple samples, so we don’t end up like the above example with 6 green pixels , when they are actually all different. Or worst case we don’t have enough information and end up with black dots. Now you see, one other thing you can do to speed up the process is to lower the number of samples, to a number it is enough to render the image the way you intended to look like.
But like people say “A picture is worth 1000 words” let us show you one ugly and informative picture.
What you see is what happens if you set the sample rate too low( in this case 1). Depending on where the sample is taken the pixel can end up in 5 different colors and all of them will be wrong.
Sometimes entire scenes are slowed just because one object is not optimized and rendering it slows the rest.
The simplest way to find it is exclusion. You remove items until it starts to render normally. But if you do this one item of the time it may take longer to find the problem than to just render the scene. So it is faster to just remove half of the items and try it then, is it rendering faster? No! So the problematic object is not removed. Remove half of the remaining objects and test again. Repeat this until it starts to work normally.
You can also check how many samples different objects in your scene require to be rendered properly, so you can optimize them. Most of the render engines have this option now.
Another thing you can try is to check your viewport in line mode to see how many polygons are displayed and optimize those that use too many.
You can check your scene and object information. If your polygon count seems too high you can use the method of exclusion from before to find the object that needs optimization.
In general the more polygons you have in a scene, the longer it takes to render.
Usually the high amount of polygons come from:
Unfortunately you can’t just delete them, but you can optimize them.
If you have a static scene and you have a wooden plank in the background, do you need 1000 polygons on each side to look good? Probably not, it will most likely look good even if it was made out of 10.
The same thing is applicable for every object that is obscured by another object. You don’t need many polygons if you will never see that side of the object.
Does the plant you can only see in the reflection of the mirror need to be so detailed, and will you see more than 20% of it ? Probably not.
You get the point. If it is not seen directly or up-close it does not need so many details to look good.
Remember early in this article when I said one way to speed things is to reduce the number of rays you have in a scene so it renders faster. Well every light emitter (light objects or glow material) adds a number of rays that needs to be calculated.
With global illumination – on, every light creates a lot of rays that bounce around and needs to be calculated and chances are you use it in 90% of your scenes. But light only slows you down if it needs to bounce several times to reach an object. So in some cases adding a low light source in a dark corner to directly illuminate it will speed the process, because the light does not need to bounce 10 times to illuminate it with reflected light.
What type of light is used also affects the render time. For instance Area light will take a lot longer to render than point light.
You can use this to your advantage, for instance you can use a portal light when you render an indoor image which is illuminated through a window.
You can limit the number of light bounces your rendering software does in your settings or you can also clip the distance light travels before it is stopped, but keep in mind that this if used incorrectly will make your images look funny.
Materials make 100% of the visible surface of your image. Depending on what type of material you use it can slow the render process in many ways. Two of them are.
When a light hits the material you have chosen, it can do 3 things:
Тhe effect when you put a piece of paper in front of a flashlight the light on the other side becomes spread and dull is called diffusion. This is because the paper acts like a diffuser; it spreads the light to many rays and many light wavelengths and intensities.
Now let us take a look at a few different types of reflections and refractions. Specular and Glossy
Specular reflection is when a light hits a surface and is reflected the same it looked before [mirrors (Pictured Above) ] . It may have some minor loss of intensity, but that is just about it .
Glossy is when the light hits the surface and is reflected blurry and somehow distorted (frosted windows)
One is very easy to render and the other one will need a lot of samples to create a clear image and the soft shadows it makes.
Now in order to optimize them you need to check the trace depth( it will limit the ray bounces ) or try to optimize the cut off threshold( it will render only rays that make only x% difference ).
We can get away with some imperfection here, because remember the image that will come out of the reflection will be blurry anyway so it does not need to be a 100% precise copy.
As I have said, to make a good render with glossy reflections you need a lot of samples and one very good setting to optimize here is adaptive sampling. This setting allows you to set minimum and maximum samples to be taken in order to reach a certain level of noise free image (threshold). Or you can read it like blender said it here.
So for example you set min. Samples to 10 and max to 3000 the render will shoot all 10 rays and if all of them are Red and all of the surrounding pixels are Red too, well it is obvious that the pixel is red, but if 10 out of 10 return different colors it will continue shooting rays until it is necessary to determine what the pixel is made of. And by colors I mean how is he illuminated, does it have shadows etc.. The threshold is just % that the render needs to be sure before it continues to the next pixel.
Another thing you can improve which is not exactly material, but is close enough is textures. You don’t need 8k texture on a vase which stands behind a bowl full of fruits on the side table in a scene in a tavern where 8 people eat on candle light.
And here are some things you can do to your PC to speed things up.
And if that does not help, you can use a Render farm. Render farms speed up the process significantly by linking multiple computers together. You can either make one or rent one. And since you are on MaxCloudON, a site that offers servers for rendering, you can guess what I think you should do. 🙂
MaxcloudON offers access to hundreds of servers (nodes), each with fixed price and parameters which can help you significantly speed up the render process so you can make the project in time for your presentation. We also offer full freedom of the software you can use so you can make the maximum of the BYOL software you already paid for.
If you are new to machine learning you probably are wondering “What hardware specifications does my computer or server need to run machine learning?”. We have combined the results of the tests run by pugetsystems and came with the short answer short answer “With a lot of GPUs and VRam”, the longer and more detailed answer can be read a bit late in that article (link to chapter), but to be useful to as many people as possible we will start with some basic information about machine learning.
Most of the people who work with 3D have asked themselves how can I speed the rendering process. And all of them have some advice to give. But it is mostly set this setting to 3 instead of 4, and this one to 13 instead of 25.