Has anyone else noticed this? I used the latest stable Blender version and rendered a scene with GPU. Blender 2.61 was faster by a full 35 seconds than Blender 2.67!! 130% faster render!
I realize 35 seconds isn’t very long but this is a small scene compared to what I normally do.
On a larger scene that would take ten minutes in 2.67, it would theoretically only take seven minutes in version 2.61. When you’re doing several product shots and you need them as soon as possible, it can add up!
If I understand what you are saying, you are saying that the new features are causing the GPU to render slower because it has to calculate more?
Also, I was using the scene from the cycles benchmark thread. That file was originally made using 2.61 and without changing any of the settings or shaders or anything, if you render it using 2.67, it’s slower. I guess I’m just surprised.
Perhaps a better question would be, “Why are newer versions of blender now rendering slower than older versions?”
I’m not trying to be negative or put anyone down. The blender devs have done an amazing job and I love blender!
Along that note, I remember back when I first started using blender a good friend of mine kept telling me it would never be as good as any of the commercial software because it didn’t have people being paid to work on it. His argument was that if a company is dedicated and spending money to develop a software, it will always be better than a piece of software that people are developing for free and in their spare time. Here we are, almost ten years after he said this to me and Blender is right up there with the rest of them and it’s free!!
Current gen GPUs don’t handle branching very well. My guess is that all those ifs asking whether you’re using particular features add up. It’s just an uninformed guess though so take it with a large grain of salt.
On a larger scene that would take ten minutes in 2.67, it would theoretically only take seven minutes in version 2.61.
130% faster render!
In my experience, 110% of forum users have problems with percentages.
If something takes you 0.7 times as long in 2.61, that means it’s (((1/0.7)-1) * 100)% faster. (~43%)
Conversely, 2.67 is only 70% as fast as 2.61.
There are several reasons for this, one being the added amount of features and general code restructurings. Indeed branching is inefficient on modern GPUs, so every time you need to add an if-else statement (something that you simply can’t get around doing a lot of the time) your code is bound to become a little slower. Memory accesses are also slow, so whenever you need to load a little more memory than before, your code will be slower.
Cycles is still comparatively early in development, so it’s not the time for micro-optimizations yet. Things may just get a bit worse before they get better, or they just might stay worse.
On the other hand, if it’s only simple ifs asking whether certain features are used, it’s probably a static amount of time required. So I don’t think it scales as much as implied in the first post.
(So 10 secs on a 1 minute render might remain 10 secs on a 10 minute render, or, making a wild likelyhood guess, 30 secs on a 10 minute render, still not much of a problem)
This is also true, however we don’t usually use percentages in this way. 100% percent of some quantity is that same quantity, 130% of some quantity is that quantity plus 30% of that quantity. A pitfall would be then to say “this is 130% more” (1 + 1.3 -> 2.3 as much) when really you mean “this is 30% more”.
But what most people get wrong is the inverse relationship:
So yeah, 2.61 is 130% faster than 2.67.
This is wrong.
The following statement would be correct: “Rendering with 2.67 would take 30% longer”
Also correct: “Rendering with 2.67 takes 130% as long”
However, how fast something is is inversely proportional to how long it takes:
Imagine you could drive down a road at 100mph and it would take you 10 minutes.
Now, imagine you could do it 43% faster, at 143mph, how long would it take you?
100/143 -> 0.7 times as long, or: 7 minutes
Zalamander, I apologize for being stubborn. You are right, of course. I kept looking at my original post and I felt that I was wrong but I just couldn’t figure it out. Thank you for helping me to understand the correct way to do it! Percentages have always been a tough subject for me.
After looking around online about percentages, another way to say it is that rendering in version 2.61 knocks off 24% of my original render time from version 2.67. (Is this correct? 154s - 117s = 37s… 37s is 24% of 154s)
Apparently there are many different ways of expressing percentages…
Isn’t “100% faster” twice as fast? One time fast plus 100% of 1 time would equal 2 times, or 2 times 100%. Or 200% of something in total. Now, “130% faster” then would be twice and a third times faster i figure…around that.
Back to the sheep, 117 is faster than 154, so i would say 117 two times plus 38 which makes 272 or so, instead of 154.
One more check using above mentioned 43%: 40% of 120 is easier by hart: 120 + 48 = 168 - a bit closer, no?
154-154*24%=117, so 2.67 is slower by 24% compared to 2.61.
Conclusion: we do have 24% regression concerning render speeds. Or so. There is more: 2.49 does better AO still (imho), file from Jan versions had to be severely modified to get rid of firefly invasion and there is a remote chance to produce 2-vertice face using new tools - i managed once.
PS. Just love reading DA.
PS2. I do some English; not all unfortunately; my math is quite a bit rusty; numbers and facts provided can therefore be ignored fully.
PS3… and i’m kinda slow too, as it turns out…