The great renderer shootout

After several years of toying around with Blender and various renderers, I am now starting up my own small business, making archi-viz images among other things. Speed and quality are an issue (as with everybody), so I started testing some of the renderers I have used and played with before.

Actually, this started out when I downloaded the latest (at the moment of writing, of course) Sunflow renderer (0.07.2) and started to test the different settings. Then I thought of putting the other renderers I knew into the mix, and here are the results. I don't know is this of any use to anyone, but here it is!

The Scene and other specs

The scene used here is a view of an office. 48800 vertices, 42634 faces, Blender tells me. Outside the windows there is a sun, and the world has a dark blue color, the renderers may or may not use this to illuminate the scene. I'm interested mostly in how well the renderers do indirect light, so the scene is made that way. There is no actual (or, well, "actual") glass in the windows, the light just shines on through. I was using other software sometimes when the computer was rendering, like listening to a few MP3s or reading my mail with Thunderbird, and looking at the older pictures with XnView, so this is by no means a very "scientific" test. But it should give some information on the rendertimes, anyway.

There is, however, a note to be said about the Sunflow renderings! The Server version of Java is recommended, but I don't have it. They say that the speed of the renderer might even double, so I have to test it when I have the time to get the Server version. But for now, when you look at the render times, you probably can halve it in your mind to get a more comparable result.

There is a large, UV-mapped texture on the floor (2500px * 2500px jpg) and the tiles are from an UV-mapped texture (2600px * 1000px jpg) also.

The computer I'm using is a real workhorse, A 1200 MHz PIII with 512 MB of memory. Impressive.

There is no anti-aliasing enabled for any renderer. Maby in the next test... when I hopefully have a faster computer :) None of the images have been modified after the renderer, some are only converted from png to jpg.

Sunflow 0.07.2 Renders

As said earlier, i don't have the Server version of Java runtime, so these rendertimes might actually be halved with that. Using the Sunflow 1.4.4 exporter and it's options here. Changing the Max raytrace depths didn't seem to have much effect on rendertimes or the looks of the image, so they are: Diffuse 2, Reflection 4, Refraction 4 for every image.

It seems that if I don't enable the sunsky ("Import Sun" in the exporter), Sunflow doesn't see my sun as a sun, but as a point light.

Path tracing, 128 samples. Render time: 1 h 13 minutes.

Irradiance cache, 1024 samples. Render time: 21 minutes. Very fast, although some tweaking needed to get rid of the spotty "shadows" on the windows.

Sunsky enabled, 64 samples. Render time: 13 minutes. Very fast again, but now the image seems very dark, and I dont know how to get the sun brighter. But it seems that the universe is now directing me to combine this with Irradiance cache and see what happens.

Sunsky enabled, 32 samples, irradiance cache 512 samples. Render time: 2 hours 27 minutes. This could be the way to go with better settings .

I tried to use photons (both globals to help irradiance cache, and caustic) but I couldn't really find good settings for these.

Blender 2.44 internal render

Well only one for Blender... I tried toying with radiosity but it wasn't for this.

Ambient Occlusion: 10 samples. Render time 9 min. The speed of the internal renderer is amazing, even with 10 samples.

Yafray renders

Well, they say that Yafray's not dead... OK, maybe it's just in a coma. or on a long safari holiday in Africa. But what the heck, I can render with it anyway. I used the plugin version of Yafray, it was (marginally) faster in a small test i did, and it's also easier to abort the render. Raydepth 3, depth 2, CDepth 2. I used photons with the default settings for these, because it did speed up the rendering quite a bit with and without irradiance cache in the full GI method, and there images were as good as without photons. The dark areas were a bit darker with the photons on, so I just raised the GI power a bit more. Yafray has a good way to control the amounts of different kinds of light. I also adjusted the gamma value to 1.8, the images lost some color saturation in that.

BTW, in the render window, it says that the vertices and faces amounts are about halve what Blender tells me, what's that all about?

Full GI method, quality best, with photons, no cache. Render time: 1h 29 min. Emit power 1.4, GI power 10. Looks good, but there is still noise in the image. The quality is already at the best setting, so I guess enabling the cache is the way to go. I guess i could also make the sky outside more bright or adjust the emit power higher, but I like to look at the indirect light from the sun.

Full GI method, cache on with photons, shadow quality 0.900, prec 5, GI power 10, emit power 1.4. Render time 1 h 29 min. Same render time as with no cache, but no noise this time.

Indigo 0.8 renders

I have done most of the archi-viz jobs with Indigo, because it's easy and most of all it looks really good. I'm using the Blendigo 0.08 s export script, it's easy to use and to tweak all the materials, and it also seems to remember my material and other render settings between Blender startups.

While doing these renders, I noticed a curious feature: if I have enabled the BiDir method, the position (or direction of the light of) the sun changes a bit! I first thought that it's a bug in the Blendigo exporter, but the coordinates (or vector) are the same in the .igs-files in all the cases.

These renders are all halted after two hours of render time, give or take ten minutes (the save to file and screen times are both 10 minutes and halt time 130 minutes). Supersamples 1, this doesn't go to zero :) The Indigo renders don't really need any more anti-aliasing, so you can take this into consideration when thinking about the render times. Burn is 20, pre-scaling 2, post-scaling 1 and gamma 2.0.

Tell me, what does the sky gain setting do? It doesn't seem to have any effect.

Metropolis. Render time: 2h.

BiDir. Render time: 2h. Notice how the sun shines differently, for example looking at the window shadows on the red office chair.

Metropolis + BiDir. Render time: 2h.

Conclusion

I still have to tweak the renders to make them comparable to each other, the Sunflow renders need more light etc. I was surprised how usable Yafray really is, there is much to tweak (this can be a good thing and a bad thing) and it isn't as slow as I remembered. There's no clear winner in my mind (of course, there are things that you just can't do with the Blender internal).

Keep in mind, that this is just one test, focusing on indirect light bounces. There are other, more standard test scenes, like the Sponza Atrium and the Cornell box scenes, but whenever I see them, there is very little information on the settings, render times, type of machine the render was made on etc (it doesn't really tell me much if it says that "render time 7 minutes", with what, Blue Gene?). I would really hope that the renderers would save the crucial render information like render time, methods and settings of GI and so on to the image EXIF or IPTC data. Also it would be nice if there would be an option in Indigo to make it stop after nnn number of mutations per pixel, and an option where you could tell the renderer to save while quitting. (edit: the option to quit after nnn calculations per pixel has been added to newer 0.9 versions of indigo.)

Please put any comments about this page to the forum, they would be greatly appreciated. Especially tips on how to better the renderings, and render times (apart from the obvious "buy a faster machine" or downloading the better Java for Sunflow). I someone gets interested, I will probably update this page with updated renderings. If there are other renderers up for the task and with a good exporter, I can also include them.

EDIT: the forum mentioned in this page is the blenderartists.org forum, where I originally posted the message about this page. I had no idea the page would make it's way to the blendernation news section :) the thread is here: http://blenderartists.org/forum/showthread.php?t=105734

Hannu "Luppa" Kuisti, page modified 25.9.2007