Experiment: Diving into New Houdini 19 Karma Renderer

Berk Erdag
6 min readNov 19, 2021

--

If you haven’t heard, SideFX released the new version of Houdini which has a lot of amazing features. Contrary to most people I was waiting for the new renderer inside Houdini called Karma. It was available in the previous versions but was in a beta state. Now it is fully released. So how is it in relation to before, what about XPU or the speed differences compared to Mantra and other renderers?

Firstly, I made a simple scene that has two lights (one HDRI and one sun lights). The horse and table models are from Polyhaven (Horse Model LinkTable Model Link). I also added a fully transparent (zero roughness) glass cube which has no inner thickness. The background is a very reflective curved grid to get some nice reflections. There are textures only on the horse and the table. (diffuse, roughness, metallic and normal) All the renders are in 1920x1080 resolution and for all the Karma renders I enabled the caustics option. (which does not only enable caustics but magically makes transparent objects look just better)

My PC Specs are:
i7 9700F 3.0GHz
32 GB Ram
RTX 2060

First I assigned Principled Shader materials to the objects which are the old Houdini shaders and rendered with Mantra.

Mantra Render — 5 min 14 seconds — Principled Shaders - Pixel Samples 7–7 — Max ray samples 3 — Reflection and Refraction Limit 4

Mantra took 5 minutes and 14 seconds to finish, with 7 to 7 pixel samples. Max ray samples were set to 3 and the reflect and refract limits were set to 4, the rest of the parameters are default.

Then I tried the same scene in Karma CPU with the new MaterialX shaders which are the new standart materials for that renderer. (Mantra does not recognize MaterialX)

Karma CPU — 10 min 57 seconds — Material X — 32 samples — 2 diffuse limit — 3 max ray samples — Reflection and Refraction Limit 4

Karma CPU surprisingly took significantly longer than Mantra with 10 minutes and 57 seconds. And I just put in 32 samples where the quality is pretty bad but with the speed like this I don’t really see any reason to increase samples and wait longer.

Because this was shocking I tried two other scenes, both times the render durations were nearly idential with Karma CPU and Mantra which is a bit confusing.

Then I continued with the most exciting feature for me which is Karma XPU. It utilizes both CPU and GPU and is supposed to be very fast. However, it is still in Alpha stage but still usable.

Karma XPU — 1 min 25 sec — Material X — 256 samples — 2 diffuse limit— Reflection and Refraction Limit 4

With 256 samples XPU took 1 minute 25 seconds to finish and the final result does not look clean but it looks promising. A 512 sample render makes it pretty grain free. I used Material X shaders and increased the diffuse limit to 2, caustics is enabled like in all Karma tests and reflection and refraction limits are set to 4, the rest are left default. (There is no max ray samples option in XPU)

After that I was curious to see if the materials had an impact in render times so tried the same Karma XPU setup but replaced Material X shaders with the Principled Shader. The result was negligible since it took 1 min and 26 seconds to complete.

Karma XPU — 1 min 26 sec — Principled Shaders — 256 samples — 2 diffuse limit — Reflection and Refraction Limit 4

Before I go into conclusions, I also tested the new denoising function which is supposed to work in tandem with Karma. And it really does so, with just 32 samples with XPU, the denoised result is below. I can’t really tell much difference between 32 samples denoised and 512 samples.

Karma XPU — 1 min 25 sec — Material X — 32 samples (Denoised)— 2 diffuse limit — Reflection and Refraction Limit 4

I just want to add that there are two different denoising options. One is the Intel Denoiser, the other is NVIDIA Optix. Both give great results and does not make you lose many details or introduce too much blurring. My tests showed me that Intel Denoiser looks a bit better compared to Optix Denoiser. And lastly you might be thinking that denoising on animated renders wouldn’t work. You might be surprised, even with a low sample count like 32 it got rid of the flickering with denoising. Of course it might change a lot from scene to scene but compared to Octane denoiser, Blender denoiser or post denoise options like Sapphire Degrain, Houdini removed the flickering significantly.

Conclusion

Unfortunately I was a bit disappointed with Karma CPU’s speed. I know that there are a lot more features than just samples or limits, like Russian Roulette, Oracle, Indirect Bounces, Light Samples etc. I tried and tested them but didn’t really get much differences in both time and quality. There are way few tutorials out there still and the Karma documentation is nearly non existant at the moment. So maybe in the future when all the options are more clearer Karma CPU might surprise me and maybe I can make another experiment when I am more experienced with it.

Karma XPU actually blew my mind, it is crazy fast. I also realized in my tests that Karma CPU requires less samples to get a clean image than Karma XPU. But still Karma XPU is much faster even with higher samples. Keep in mind that Karma XPU is still in Alpha but actually performs pretty great. It does not crash randomly, does not give weird errors or freezes like the old beta version of Karma in the previous Houdini. It does not have all the features yet like displacement, shadow mattes, subsurface scattering and some AOVs do not work (If there is a way to make them work please write in the comments) If you wonder whether it can be used for big scenes or not, I tried some huge scenes and it worked flawlessly but still SideFX warns that it is not production ready. In addition if you compare XPU to Octane or Redshift, I think both are a bit faster than Karma. However, again it can change from artist to artist. What shines through is Karma XPU starts rendering instantly when you hit render. What I mean is you do not wait fot the objects, materials or lights to be loaded to GPU, you just see the first pixels instantly which is a time saver when you are testing your scene.

Comparing Mantra to Karma CPU gave me strange results. Maybe it is not logical to compare the two. Can’t really say which is better or faster or easier to use. Maybe some Houdini wizards out there can enlighten me with this part.

Denoising is very interesting. This is the best denoising I have ever seen hands down. It clears up very grainy scenes instantly and does not introduce flickering in animation. Keep in mind that you do not have to use the denoising option in the render properties. After your render you can still denoise your renders (even each individual AOVs) in the compositing level of Houdini with the Denoise AI node.

Finally I think XPU is very promising and the final full release of it will be legendary. It is great to render inside Houdini and not require to export everything to another software or buy a third party renderer. And I am sure in time by learning the options more, Karma CPU can render a lot faster.

--

--

Berk Erdag
Berk Erdag

Written by Berk Erdag

VFX artist writing about mostly the business side and a bit about the artistic side and some technical experiments of the VFX and CG Sector.

No responses yet