How to render faster in Octane

Basically, there is one thing that defines if your render is considered finished or not. It is the amount of noise that is in the image (or the amount of noise that you are willing to accept). The general rule is more render time = less noise, but there are things that you can do to change this equation to something more like: less time and less noise.

As you probably already presume – the devil is in the render settings. But not only there.

Scene

Before you touch any kernel sliders check your scene for things that you can optimize first. But beware – sometimes performing that optimization would take longer than the amount of time you could save by optimizing it – so it is not always the case. In many situations, there is absolutely no need for touching anything than render settings, simply because there is plenty of VRAM, or the scene is rather simple even with millions of polys. You should consider optimization when things get nasty – low VRAM which usually ends up with octane crash, long voxelizing, super slow rendering, artifacts, excessive noise etc.

Geometry – if it is heavy it will cause octane to voxelize the scene longer, like one min, or two – multiply it by 30 iterations and its one hour took out from your life. What to do?

Geometry has a direct impact on VRAM utilization and in the end, it renders longer. It is a rule of thumb to optimize geometry whenever it’s possible and needed. It is always a good practice to keep geometry clean to avoid further surprises during post-processing your image while zoomed in 400% only to find some weird polygonal trickery that was not visible in render viewport.

If something is far away from the camera, or is behind other objects and is not always visible – decimate it to save VRAM and render time.

Use instancing whenever you can – this is a huge memory and time saver, especially for heavy models. You can scatter instanced objects to create some variations, and then scatter those variations again, and again, so with few models it is possible to create a massive forest with only a fraction of VRAM used.

Textures – The more you have them in your scene, the more VRAM will be used for rendering. Every image must be loaded into memory once. If you have a lot of them, they will eat your VRAM fast. How to live then?

Sometimes you can get away with lower resolution HDR image just to light your scene. It can give as good results as high-resolution maps but saves memory. If something is far away from a camera – you can use lower resolution maps (if you do not have lower res maps than you will spend some time downsizing them).

Use procedural textures instead of maps if you can – they cost almost nothing.

Sometimes normal maps are not needed and can be easily replaced by grayscale bump map. A 4k normal map can easily use more than 64MB of available VRAM – times 10 you get 640MB. A grayscale map is like 4MB – huge VRAM save. (all maps are loaded as 32 bit – saving them as 8 bit or 16 makes no difference in VRAM)

If you can, use the same map in multiple materials, it is only loaded once thus you can have 100 materials with the same maps with the cost of 1.

Scene – keep it simple and clean.

In general – the messier your scene is, the more time you spend managing it. Keep things logically named and grouped properly to quickly isolate important parts, and find specific times faster. Crystal structure or guerilla fighters it is what differentiates rookie from a pro.

Noise – There are some things that produce noise, and some that reduce it, but basically you get two noise types: from GI and from caustics.

First and most important – If you light your scene using HDR – one map can produce more noise than other thus longer render time. If you consider yourself at least semi-pro you should already have a collection of favorite HDRs that do not produce too much noise (good source of free and nice environments in hdr: http://www.hdrlabs.com/sibl/archive.html).

If your scene contains many specular or glossy surfaces – there might be some noise form caustics calculation – this can be addressed from kernel settings.

Portals – If you render an interior scene you should use portals. There might be a scenario where portals are not needed or do more harm than good – it’s hard to say what scenario that would be, maybe some really big and complicated interior. It is a good habit to create the scene with portals and later see if they do harm or not – switching them on or off is just a second.

Usually, I avoid creating one large portal for many holes. One portal per one hole is ok. It is important to seal the interior ie. not leaving any gaps between geometry (usually walls) and portals. Plus, keep in mind that portals should have normals oriented towards an interior. A simple plane with minimum polygons is always the best choice for a portal.

When you render interior with portals you may notice that samples per second is slightly lower, but in the end, GI noise vanishes faster.

Also, there are 3 types of exterior lighting that you can use to render interior. An HDR map, Octane Sky, and emissive material. In every case, there is some improvement with portals, but it is most noticeable with HDR, then sky, and then with light material. In the last one, it might look like it is drastically slower, but I did some testing and there was less noise in less time with portals.

Lights – Lights or emissive materials to be specific can generate additional noise, especially if it’s a small but strong source.

First of all use IES file – it basically constrains light rays so they do not go in every direction thus reduces noise. On top of that, cranking up the Sampling rate in emissive material settings improves things a bit, even with one light source, but especially when you have more than one emissive material in the scene.

If you are not using IES file, use Gaussian spectrum instead of grayscale color or RGB color as texture. This should also reduce noise a bit.

Usually small, but strong sources are the worst. If you want to be physically accurate and place a light source inside glass bulbs etc – you make your life harder for yourself. Don’t do it unless it is specifically important to do it that way.  To speed things up you can put one source inside the bulb, or make the bulb emissive – but not affecting anything. Then add real source outside the bulb that is invisible, but affects surroundings. This way Octan doesn’t have to calculate additional caustics which means less noise and lower render time.

Kernel

First of all, use Path tracing instead of PMC. The latter is much much slower but gives you the same visual results. PMC is only good for specific, caustic tricky situations.

Path tracing

Let’s go top – to bottom.

Max. samples – In order to clear the noise from your image you need some reasonable amount of samples. It is a good practice to keep it low like 256, 64, or 32, or even 8 while working on a scene, in the end, you are a visual artist, not a cook. You can always use render region to clear a specific area. The best thing about render region is that since octane 3 it renders infinitely regardless of Max. samples setting. Obviously more samples need more time to render but your image will be clearer. Don’t go 16k where 1K is sufficient. Start from the bottom, you can always increase the samples amount and the render will continue.

Diffuse depth – This setting controls how many times a traced path is bounced of any surface, the higher it is, the more time is needed to calculate it. 1 means it is not bouncing at all, it is like a raytrace. This setting is independent of Specular depth, which means that you can have no bounces (set it to 1) and still render deep reflections and refraction, but you won’t get any caustics, because caustics is a light thing, not raytracing thing. You need at least 3 bounces to get any caustics from a glossy or specular object that is watertight, but you get full caustic form specular at 4 bounces (at 3 they are a little dimmed). You can have specular depth set to 1 and still get caustics rendered if diffuse depth is 3 or higher.

How to use it to render faster then. You probably have already seen some videos and tutorials about interior rendering and the tutor sets it to 8 to get a more realistic result. This is nonsense in most cases. If you wonder what happens when you go from 4 to 8 then let me tell you: your image gets slightly brighter, and your render time gets much longer. The secret is to keep it as low as possible. Except for some special situations, you will do just fine with 3 for an interior scene. When to go higher? You can go higher if you want and you have spare resources, and if you want more lighting from caustics from specular objects, which need 4 bounces to be fully visible. But if that is not the case – use 3 – than brighten it up in post-processing which you would normally do anyway, just to give your image a little punch.

Going higher than 6 (except specific conditions) is extremity in my opinion and a waste of time and resources. In real life light fades away after 16 bounces – it is basically absorbed and scattered completely by then so setting diffuse depth higher than this is unrealistic and unnoticeable in your render.

You may want to crank it up a little when your scene consists of lots of specular and glossy objects. You need higher values just to let octane to penetrate through all the objects. Other than that your default should be 3. For exterior scenes, you can easily get away with 2 (that, of course, depends on the scene itself).

The best practice is to start from 1, then rise it and see if it is worth the extra time.

Specular depth – This setting controls how many times a ray is going through a specular surface, or is bouncing off of a glossy surface. Setting it to lowest possible value: 1 – is simply switching off any reflections and refractions. Set it to 2 then a ray can get through one refractive (specular) surface, and can show what a glossy surface is reflecting, but not what glossy objects reflect that are in that first reflection. Also, a specular surface is also a glossy one, which means it is reflective. Thus a glass ball with specular depth set to 2 will appear as it is only glossy because a ray can enter inside of it, but cannot get out but it traces one reflection. Thus to get a fully transparent glass ball you need at least a value of 3. But if you have for example a scene with a glass on the table, then the ray must enter and get out 2 times (since it is going through 2 thick walls of the glass) which means that you need a value of 5. If you have 2 glasses one behind another – then a value of 9 and so on.

Specular depth is rather cheap unless you put it to extreme values. But it is the best practice to start with 3 and rise it and see if it is worth it. Usually, if you have no specular object, only glossy the value of 3 is enough unless specific circumstances.

Ray epsilon – you do not need to bother with this unless you see some black areas near tight spaces – lowering this value should get rid of it. This setting has no impact on render speed.

Filter size – It has a very slight impact on rendering speed. The filter size needs to be rendered so higher values lower render speed.

Caustic blur – If you get some additional noise form caustics, you can crank this up to make it more blurry, but then, you get blurry caustics. The noise from caustics can be addressed using next setting GI clamp.

GI clamp – The most important tool. Lower it to 2. You get rid of all excessive noise form GI and from caustics. It also makes everything slightly darker since it clamps the GI,  so find a sweet spot that suits your scene best. Since caustics is a light related, it gets clamped by it too – it gets back to normal around 15.

This setting has no effect on render speed but greatly reduces noise, thus render time is shorter. It can work miracles with emissive materials. Do not use hot pixel removal – it will make mashed potatoes out of your pixels. GI clamp should get rid of all fireflies.

Path termination power – it terminates path before it hits its bounce limit, thus octane doesn’t need to calculate it further, thus better render speed. Sounds good, right? Well, while this setting increases samples per second it makes noise vanish slower. In some specific situations, it generates additional noise that is impossible to remove – simply because there are no more paths to address noisy area. I recommend to us extra low values or not use it at all – again it is very scene dependent.

Coherent ratio – This setting has only one drawback – it introduces some artifacts, that in order to get rid off you need a little bit more samples, but it also makes render speed much better so, in the end, you should keep it above 0.

You can even try and put it to 1. You get almost no noise, but only artifacts, however after some rendering time artifacts are less and less visible to the point that they are unnoticeable, but render time is shorter comparing to rendering with settings below 1.

There is one thing that you should consider. While working on your scene, especially environmental lighting – keep it at 0 to better see your lighting instead of flickering artifacts.

Static noise – If you are rendering an animation you should probably turn this off – it depends on your preference. But, keep it on while working on your scene, especially rotating your camera to find a good shot. Static noise makes everything more visible since there is no flickering noise while camera movement.

Parallel samples and Max. tile samples – Both settings increase VRAM usage drastically – but also speed up render quite a bit. Keep at maximum whenever you can.

Adaptive sampling – I see no reason why not to use it in every render. It works like this: You set up a noise threshold – 0.02 is a very low setting and almost noiseless. Then you set up Min. adaptive samples – The number of samples that must be rendered before adaptive sampling kicks in, there is no rule how to set it up, but it is a good practice to give something for octane to chew on so 128 is a nice start – it depends on the scene of course. Pixel grouping determines how the noise is checked against threshold – per one pixel, per 2×2 pixels or 4×4 pixels. It is hard to say which one is better – usually 2×2 works ok – you should change it to something different if you see weird black dots in potentially noisy areas. The expected exposure I never touch since it makes everything behave like on a super high threshold (i.e. super noisy).

When render starts, after 128 samples the adaptive sampling kicks in – every pixel is checked against noise threshold – if the threshold is reached i.e. the amount of noise is sufficiently low those pixels are not sampled anymore, thus excluded from rendering, which means free rendering power is redirected to pixels that need to be rendered. This lasts until you hit maximum samples – even if all pixels reach the noise threshold.

This saves time because the render is faster. If you determine that render is too noisy you can lower the noise threshold and increase max. samples to render the image further – changing noise threshold does not restart the render.

Adaptive sampling works perfectly fine with render region – you can easily denoise specific areas of your image if needed – simply help to reach the noise threshold.

While using adaptive sampling you must know that areas in the scene that are poorly illuminated will have more noise than those with good light exposure, thus there might be a situation when noise threshold will never be reached with the current setting. Sometimes those areas are pure black which adaptive sampling treats as pure noise – thus never reaches noise threshold.

The best way to use adaptive sampling is with Noise render pass. This will show you the amount of noise in the image and areas that reached the noise threshold.

Direct lighting

In some cases, especially exterior scenes, you can get away with Direct lighting instead of Path tracing kernel. Sometimes the GI is not so prominent, thus no need to calculate it. Therefore you can use Direct lighting with Ambient occlusion set in Global illumination mode. You set up glossy depth and specular depth separately this time. Diffuse depth has no effect in AO mode, only in Diffuse mode. You can adjust AO distance to incorporate more shadowing or reduce it. Everything else is the same as in Path tracing.

There are also two another modes; None and Diffuse. None is simply a raytracer – without AO or GI. Diffuse is GI but without Caustics, but it performs almost the same as Path tracing, thus if you are in the situation that you are using it, you may as well use Path tracing, mainly because some things do not work as well as in PT.

Direct lighting has one big advantage over PT – it renders much faster, therefore you can use it adequate to the situation.

Imager

Beside kernel settings you also have some options available in the Imager.

First of all, if you set the exposure to high, you can bring the noise from dark areas which need much more time to clear. Secondly – do not use Hot pixel removal – at least not lower than 0,6 – it mangles pixels and destroys the image. To get rid of fireflies use GI clamp.

In Octane 4 you can use built-in denoiser. It isn’t bulletproof – some splotches are visible in some cases. It needs time to denoise the image. It uses additional VRAM.

Also, Octane 4 comes with Lights Ai to help solve lights problems from emissive materials. Using AI light in a scene lit by HDR creates more noise instead of removing it.

Environment

If you light your scene using HDR map then some amount of noise will be introduced with it. Lowering the HDR gamma can greatly reduce it. It simply lowers contrast of the map and makes lighting more uniform.

Final thoughts

The above is not some kind of unbreakable rules and the only way of doing it. Many things will depend on your scene, if you render an interior or exterior scene, if this is a product shot or an environment etc.

Remember that what matters the most is the final image. If you are doing it for yourself – then you are free to experiment or render 50k samples.

If you are doing it for the client – time matters. In many cases if not in the most – client are laics and won’t notice the difference between PT and DL. What for you may be a sleepless night for them may be unnoticeable. Do the math by yourself.

 

Leave a Reply