multithreading?

ok, my new comp is multithreaded (i think thats the right word), 3.2ghz p4. This is nice but is there any way I can get it to use 100% of processing power for rendering as opposed to 50? Or at least for animations use the other 50% for rendering different frames?

It doesn’t work for rendering single frames but you can render different frames. Thus you have to install a local render queue like Dr.Queue or similar, to schedule the render jobs.

Yafray can render on more than one processor, you just have to adjust the “processors” value inside the render settings.

thanks for the info.

is this for multiple processors? because I only have one. Or does multithreading make it act like two? as opposed to just dividing the tasks? (sorry, I really mostly clueless about hardware).

I went to the Dr. Queue website, it seems that it doesn’t support Windows XP?
can blender do anything like this natively?
Anyways, I guess I’ll look for a similar program for XP.

yes it makes it act like 2 processors. more exact:

sorry I have no clue. either get linux or google for it.

“this”? multithreading, no… as said. networkrendering? in development (more or less active, I don’t know).

Your P4 is hyper threading. Multithreading (tasking) is done by the OS which shedules available CPU time slices to running processes (threads). So this hyper threading thing is a clever Wintel trick pretending 2 CPU to the OS. The basic trick of hyperthreading however is: the core of the CPU can execute some other instructions (from another thread) while the first thread is waiting for something (e.g. data from RAM). As long there is no second thread running the CPU just states 50% load but the thread executes as fast as possible. So if you spawn another process the two processes will start fighting for the the CPU. Your CPU load will show 100% but both processes will take longer than they’d when running alone at 50%.

/BM

Multithreading works <TICK!> Several different <TICK!> like this… the <TICK!> things seem <TICK!> computer divides its time <TICK!> to be happening ‘all <TICK!> among several different <TICK!> at once’ but <TICK!> tasks. {END_TASK} <TICK!> they are actually happening <TICK!> in quick succession. {END_TASK} <TICK!> … <TICK!> … <TICK!> … :smiley:

If you have multiple CPUs, then to a certain extent two threads can be executing simultaneously. On some CPUs, a single CPU can support multiple threads to a very limited extent.

I’ve tried working on a HT p4, and my results were:

One instance of Blender running:
time to render 1 frame: 1 min 15 secs avg.

two instances of Blender concurrently rendering:
time to render 1 frame: 1 min 17-20 secs avg.

kind of strange results… seems like it actually only uses 50% of the processor.

As i said, in a single thread the CPU is quite frequently waiting for data from RAM ( speed limit here is the front side bus ) or even worse, has to cummunicate with PCI devices.

So the hyperthreading trick is, to use this dead time for the execution of another thread.

Whould be interesting to see if thermal throtteling occurs…

/BM

wow, thanks for all the info.

I just tried rendering two things at once with different instances of blender. Each one rendered about as fast as with just one :slight_smile: . uses 100% of proccessor too according to the taskmanager.
I guess I could just have one instance render the first half of an anim and while the second renders the other half.