One thing I always find fascinating at shows, events, during technical support calls and just general conversation with Users who are on older versions, is the mindset that there’s no real benefit for them in updating. Now I’m not a sales guy and I understand the costs and challenges involved with upgrading software, so I don’t push hard on debating this, and quite frankly I can often understand where the most talked about features don’t benefit a user I’m currently taking to. Sometimes though I will bring up a few of the lesser known and often really handy workflow features, like those mentioned in my previous article , but one thing I always like to discuss are optimizations. You know those “2 times faster”, “40% speed up” type features. Now don’t get me wrong I hate those kinds of stats, no feature is actually 20% faster, it is really an average based off of several test scenes at best, or in worse situations sometimes a software company will take their best example and use that for the stat, boy does that tick me off, and man could MAXON marketing make a fortune if they let me simply use the best example file for a lot of their rendering optimizations.
Now when I go over such improvements in regards to rendering, everyone wants a faster render, so ears perk up and users pay attention, but if I show them a few special cases where they can often see a little speed up, most will think that’s great to know but not enough for me to pay to upgrade, and again I can’t fault them, but there are always a few where that specific situation is something they encounter or use on a daily basis an they are changed over instantly stating their credit card info over the phone to sales before I’m even done the render demo.
This is where the point of my post comes in. In each version for several years now C4D has seen optimizations here and there, most small but they build up, and 11.5 has been a particularly great one, Mac OpenGL has seen a significant speed up now rivaling and often surpassing the same computer with Windows. The Viewport, Timeline, HyperNURBS, Xpresso, Thinking particles, and the Driver tag, the whole application saw some incredible speedups that make playback in the viewport much faster for things like character animation. So that might sway a person or two, but Its in the rendering, where you find a few notable versions every release, that I wonder if people really know how much has changed. If you are on Version 8, then yes besides all the cool new features since then, there are also some significant hidden non marketed versions that the majority of people will forget because they aren’t things you set or change they are just there, things work better and faster with no effort and therefor go forgotten.
So I thought I’d look into it and give people an Idea, Now I’m a little lazy and while I have every version of C4D since 6 installed at work, I’m going to keep this specifically to 10.5 and up since I think the majority of users are at least on some version of 10. All tests here are rendered on a 64 bit Quad Core Q6600 with 6GB of ram and Windows Vista 64, and the Versions used are 64 bit versions of CINEMA 4D Release 11.514, Release 11.027, and Release 10.506. So let us get started:
- Raytracing has seen significant speed ups with Release 11, This means any raytracing effects be it reflections, refraction, area shadows, Stochastic GI, Dispersion (blurriness) and Ambient Occlusion saw a dramatic speed improvement
- Small intersecting and overlapping geometry also saw a notable speed increase, This meant fine intricate details surfaces that fit tightly all performed much better
- Scenes with Huge size differences like a small camera in a City Street would be much more efficient dealing with all the detail of the camera and all the detail of the larger city objects.
- Transparency and absorption, with this addition we also saw speedup optimizations at the same time, not significant but getting better quality for less time is always great.
- Flat transparent objects and alpha’s were updated to use raytracing, which actually served as a small speed hit usually negligible in simple scenes, but mass speed up in scenes with many such objects, like tree leaves.
- New Antialiasing options allow for optimizing AA based on type of scene content be it Super dense polygonal meshes, or many large simple flat surface objects and a new hybrid that uses the best of both.
- Multithreaded Sub Polygon displacements, granted at a cost of more memory, sub polygon displacements can now use every cpu core which means subdividing a lot faster.
- Multi Threaded soft shadows, which again mean a much greater memory usage as every softshadow is calculated at the same time instead of one by one, but this means you can calculate many a lot quicker.
- Render Buckets, these help control your memory and better manage Thread usage so Muiltcore speed up is a bigger benefit than with render lines.
- Render Instances, These Dramatically reduce the amount of memory an instance uses, and thus prevent how quickly a 64 bit system resorts to virtual memory for a nice speed up in super complex scenes, as well as more efficiently working with sub polygon displacements by calculating SPD once and then copying that in each instance.
Now this isn’t even getting into how CINEMA 4D got a whole new GI engine, and in these comparisons I’m not even going to touch that, we are gong to strictly stick to improvements as opposed to entirely different systems like the new GI. That said you will notice some comparisons do have QMC GI, or as it was called before, Stochastic. the reason for this is simple Stochastic’s name may have changed but it is still the same brute force concept, and entirely raytrace based so it is an area that saw significant speed up, and still uses an exact 1:1 setting to be fairly compared unlike the Standard and IR GI’s.
Comparison 1, the IVY Column
This scene is made using the FREE Ivy Grower plugin by Robert Templeton, and I believe this Scene was Made by NeoSushi. While seemingly simple this scene was a nightmare for previous versions with its large number of leaves intersecting and overlapping with alphas. It utilizes the raytracing and intersecting speedups of 11 and the transparency AA speed up of 11.5 leaving us with an unbelievable speed up. Now to be fare this is an extremely biased scene, so don’t expect every real world scene to see this significant of a speed up. And for those wondering why this is different from one I’ve posted on forums, this has antialiasing best as opposed to just geometry, which seems to slow the render times in both 11 and 11.5 3 times. Of course 3 times 2 seconds isn’t nearly as bad as 3 times ~20 minutes so 11.5 really kicks ass.
R10.5 1:04:21 R11.0 1:02:42 R11.5 0:00:06
Comparison 2, The Mini
This scene is using Stochastic GI so a significant one for raytracing improvements but also buckets and most importantly the improvements for both version with intersecting and overlapping geometry and Hybrid AA.
R10.5 19:17 R11.0 04:13 R11.5 03:44
Comparison 3, the Abstract GI
Its a ball in a world of cubes, but it sure looks nice imo. Render instances Show up and the buckets seem to help a lot but the large and small objects and better intersecting/overlapping and raytracing make the big change here.
R10.5 32:06 R11.0 03:55 R11.5 02:04
Comparison 4, The Displaced Scales
An old Shader experiment of mine, all procedural, and requiring very high subdivision levels to look decent, this one is interesting as R11 actually saw a slowdown, a few displacement type scenes seemed to do this. Notice R11.5 has changed it all for the better with its bucket handling and multi threaded displacements.
R10.5 05:14 R11.0 05:51 R11.5 00:56
Comparison 5, The Spaceman Part 1, Displacements
This is a simple and fun example. Sculpted by Patrick Goski, this first part simply looks at the displacements in a physical sky, notice the dramatic quality difference in the sky from 10.5 to 11 as well.
R10.5 01:15 R11.0 00:35 R11.5 00:22
Comparison 6, The Spaceman Part 2, Soft Shadows
This second example explores the same model but using an array of shadow map casting lights in a spherical pattern, Simulating a GI/AO look, This isn’t an insane number of shadow maps, only 92.
R10.5 00:07 R11.0 00:06 R11.5 00:05
Spaceman Soft Shadows
Comparison 7, The Spaceman Part 3, Render Instances
Not so impressive this time, its a simple model so not much to instance.
R10.5 09:47 R11.0 00:49 R11.5 00:37
Spaceman Render Instances
Comparison 8, The Spaceman Part 4, Displacements with Soft Shadows
Now we start to combine the effects, and notice how much displacements slow down soft shadows. Displacements are calculated over and over for the shadow maps to calculate, so with each shadow map calculating one by one, and the displacements taking so long each time, this really adds up. 11.5 is the clear winner in this case as the multithreading of both technologies benefits mixing the two even more.
R10.5 02:27 R11.0 02:08 R11.5 00:40
Spaceman Displacements and Soft Shadows
Comparison 9, The Spaceman Part 5, Displacements with Render Instances
Again we see a significant speed up in combining SPD with Instances because the SPD need only calculate one and then be instanced, Instancing takes a while with a fair bit of geometry, but that is still quicker than calculating that geometry from scratch multiple times. Better handling of AA on dense meshes also helps a lot.
R10.5 03:16 R11.0 02:12 R11.5 1:00
Spaceman Displacements and Render Instances in 10.5
R10.5 19:44 R11.0 16:24 R11.5 3:50
Spaceman Displacements and Render Instances in 11.5
Comparison 10, The Spaceman Part 6, Displacements Soft Shadows and Render Instances
Consider what is happening here, SPD is calculated then copied 8 times, and then shadow maps have to calculate that over and over 92 times before rendering., with SPD be faster and Render instance eliminating doing that per object, soft shadows can calculate a lot sooner, and they are faster in general too so all these effects add up to tiny render times.
R10.5 x:xx:xx R11.0 1:02:42 R11.5 0:00:06
Spacement Displacements Render Instances and Soft Shadows