View Full Version : 2 threads vs 8 threads

08-13-2003, 07:06 AM
I did two test renders of the same scene with the only difference that for one, I set Threads to 8, the other, 2.

with 8 threads the time was: 1h30m58s
with 2 threads the time was: 1h48m10s

Is this typical? ie, are 8/max threads always better than 2 in non-screamernet rendering?

08-13-2003, 10:26 AM
I have a dual machine and it always rendered quicker when using 8 threads, despite it only having two processors!!!

Triple G
08-13-2003, 03:51 PM
I've never really completely understood this either. At one place I worked at, I had a dual 933 Xeon which rendered best with 8 threads. I also had a dual 450 P3 which rendered best with 4 threads. I think it depends on the scene, possibly any plugins you're using and whether or not they're multithreaded, etc. Usually the difference between 4 and 8 wasn't too huge, so I just set the machine to whatever worked the best most of the time and left it. Too much of a pain in the butt doing test renders all the time with each setting to see which is faster. :rolleyes:

08-13-2003, 05:24 PM
I used to leave it on 8 threads, it was usually the fastest, then somewhere along the line, an upgrade of the system or LW, 2 became the fastest - it's a lot like travelling, going across the street is faster by foot than by car - Processors can frequently handle more than 1 thing at a time.

If I'm doing a quickshade animation or HV, I always test on 1 thread, sometimes it's faster (I'm using a DP as well).

Like TripleG said it depends on the scene, some things take longer to divide into 8 threads than it takes to render them in the first place, some things don't get divided at all like some plug-ins and filters and it seems like HV takes an extra-long time to split up.

08-15-2003, 08:29 AM
The stupid thing is that LW just divides the scene in 2-8 portions and renders them as one thread.
Now if you use 2 threads, one thread renders the top half and the other the bottom half.
If the top half is finished after 10sec and the bottom one needs 2 minutes, you have virtually no improvement in render time, because one CPU has done its job after 10s and sits there idle.
With 8 threads the chance of a more even distribution is much better, although 6 thread have to stall while the other 2 are rendered, which causes overhead.
Would be faster if LW could do it like Cinema4D for example, if one thread is finished, the rest of the remaining gets split again into two. But that only works in C4D because it is a scanline renderer.

Another problem that you will encounter with some LW6.x plugins for example is that 2 threads render slightly faster than one, and 8 take like 4 times longer.
Because some Plugins are not multithreaded they just seem to stall everything, the more threads the worse...radiosity+image world for example.

08-15-2003, 01:01 PM
The best case is to have LWSN running as a single thread, one instance for each processor. Then you are truly getting multithreading, when one frame finishes faster than the other, it goes on to the next one; if plugins are not multi-threading aware, it doesn't matter because each frame is not rendering multi-threaded.

08-15-2003, 03:36 PM
Yea but this assumes you are rendering multiple frames, but often you aren't...
For animation it's the best thing i guess...

08-15-2003, 03:44 PM
Ahh... yes, that does become a problem. Of course, if you can split the frame up into limited regions you could distribute those scenes, but I know that limited regions don't work for all scenes.