Forum: Poser - OFFICIAL


Subject: P7 multiple thread rendering from both sides please?

bagoas opened this issue on Dec 30, 2007 · 16 posts


bagoas posted Sun, 30 December 2007 at 7:50 AM

I am using Poser 7 on a dual core 64 Athlon, and do my renderings in two threads.

It occurs tome that obviously either processor takes one thread: one processor takes the top half of the picture, and the other the bottom half. Now taht is fine, but since the complex bits (face and hair) are in the top half of the picture, I find that the processor doing the lower half is finished and runs idle while the other processor is still toiling on the hair, and then still there is the rest of the top half to do.

Is there a way to let each thread say start at an end of the picture (one top-left, the other bottom-right) and meet wherever they meet?
I do contemplate tilting the camera by 90 degrees and let so both do a share of the difficult parts.
Any other ideas?


Darboshanski posted Sun, 30 December 2007 at 8:31 AM

I remember pjz99  mentioning something about this very thing. I believe, and don't hold me to it I am going by memory which isn't that good anymore, that this is a Poser 7 multi threading issue and I believe there isn't much one can do about this.

One would think that when one core is finished rendering its section of the render it would join up with the other core to complete the render but this isn't the case in P7 as least as far as I can see and is a tick, not so much a bug, in the P7 multi thread coding.

My Facebook Page


MikeJ posted Sun, 30 December 2007 at 12:46 PM

This one has bothered me too. In actuality, I just logged on to ask this very question, believe it or not, but found this.

However annoying it may seem, however inconveniencing or inefficient, this is a very good idea. Limiting the processes in such a way keeps us grounded and reminds us that we are generally in too much of a hurry in life and we need to slow down some and take some time to "smell the roses", as they say.

So, my hat's off to E Frontier and their very wise choice of developing their dual cpu architecture in this limiting way. Thank you for your consideration.

Besides,  my other favorite 64 bit dual process apps are constantly using both cores of my AMD x64 6000+ for rendering, and when one section is finished the other doesn't sit there idly - it joins in on the fun. That's probably just tiring the poor little guy out though. ;-)



FrankT posted Sun, 30 December 2007 at 12:56 PM

I actually render with 4 processes on a Core2 Duo PC - it seems to work pretty well but I really wish they'd do something like C4D does with the Advanced Render, it's pretty cool to watch it (how sad does that make me ? )

My Freebies
Buy stuff on RedBubble


MikeJ posted Sun, 30 December 2007 at 1:31 PM

Quote - I actually render with 4 processes on a Core2 Duo PC - it seems to work pretty well but I really wish they'd do something like C4D does with the Advanced Render, it's pretty cool to watch it (how sad does that make me ? )

Have you done any render time comparisons? I just tried it a couple of times with 4 processes, but it didn't seem any quicker than 2 processes. Just looked different.



FrankT posted Sun, 30 December 2007 at 2:02 PM

I don't think it's noticably quicker because I only have the two cores but to be honest I rarely render in Poser anyway. 

My Freebies
Buy stuff on RedBubble


svdl posted Sun, 30 December 2007 at 2:19 PM

To solve the problem of the original poster: render with 4 threads. That way the image is "split up" in four parts, Once the two easiest parts are finished, both cores chug away on the remaining two parts.

The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter

My gallery   My freestuff


bagoas posted Sun, 30 December 2007 at 2:30 PM

That sounds like a sensible solution. I did try the 'rotate 90 degrees' trick, but the results proved to be very dependent on the position of the figure in the scene. Contemplated to include a 'dummy' bit (a 'blind' square just outside desired camera view) to bring the separation line in way of the head. 

Will try the '4 threads' solution.

Thank you all. 


MikeJ posted Sun, 30 December 2007 at 2:39 PM

The four threads solution only takes the two threads and splits each into two. In a dual cpu, each gets assigned its own region, so in four threads in Poser, each core is rendering the same thing as in two threads, just splitting the task in half. It does in fact go "side to side" on each of the two spilt processes.
I'm not seeing any increased speed or any reason to keep it set like that, but it does look a little more interesting...



Miss Nancy posted Sun, 30 December 2007 at 2:50 PM

it's the same with poser models in carrara, if the hair has alotta polygons. all the other render blocks ("buckets") are finished long before the hair. said blocks also vary from huge to tiny, depending on polygon count.



ashley9803 posted Sun, 30 December 2007 at 7:58 PM

"....I really wish they'd do something like C4D does ..."
Yeh, once one processor finishes its business it zaps to halfway down the unfinished portion and restarts rendering.
I only use P6. Doesn't P7 with multi threading do this? Kind of a waste of a processor for most of the render.


svdl posted Sun, 30 December 2007 at 9:19 PM

Just did a test on a dual core machine using 4 threads.
Two figures with dynamic hair, which means the top half of the screen was heavy on the renderer. One figure on the left side, one on the right.

The bottom half rendered pretty fast, as expected. The top half took longer - but the CPU usage remained close to 100%

So it seems that in case of a dual core CPU the image doesn't get split in an upper and lower half, each dedicated to one core. Need to do another test to find out if there's a split between left and right.

Frankly, I'd be surprised if there were. While it is possible to program threads in such a way that they're "stuck" to a particular core (which can be useful), it's quite likely that the Poser programmers just used threads "as is" from the OS. Without processor affinity.

The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter

My gallery   My freestuff


svdl posted Sun, 30 December 2007 at 9:25 PM

Just did that other test (dynamic hair at upper left and lower left quadrant). As expected, the right side rendered quickly. During the remaining part of the render (the left side), CPU usage remained close to 100%.

This proves that using 4 threads on a dual core machine IS useful, unlike MikeJ's claim.

I'ts not a universal cure, however. Using more threads incurs more overhead, and if there's only one quadrant that is significantly harder to render than the others, you'll have to wait for that quadrant to finish, on a single core.

The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter

My gallery   My freestuff


MikeJ posted Sun, 30 December 2007 at 11:17 PM

Quote -

This proves that using 4 threads on a dual core machine IS useful, unlike MikeJ's claim.

Please don't misrepresent what I  "claimed".
What I actually wrote was this:

Quote -
I'm not seeing any increased speed or any reason to keep it set like that, but it does look a little more interesting...

 I said nothing in regards to whether or not it was "useful". I said I wasn't seeing a speed increase. And I wasn't. I didn't whip out a stopwatch, just observed it and guesstimated. I said I saw no reason to keep it set it to four processes. And I didn't. This was not a scientific study.
It probably depends on what is being rendered. When the one core of my cpu finished and dropped out, the total usage for the rest of the render varied between 53% and 64% usage. It didn't go above 64%, or below 53%.
It would be interesting if someone wanted to come up with some sort of simple benchmark scene file to test with.



svdl posted Mon, 31 December 2007 at 6:22 AM

That benchmark scene file exists: the "P5 CPUTest" scene by Jim Burton. It has been used in the past to profile the performance of Poser 5 and 6 on different CPUs.
It has also been used to test the effect of multiple threads on single core, dual core and quad core machines. 
And there's also a little script called timedRender.py that will do the timing for you, so you don't have to sit and wait with a stopwatch.

As far as I remember, using 3 or 4 threads on a dual core machine gave a little performance increase compared to 2 threads (maybe 10 percent). And in my experience it indeed does depend on what's being rendered.

The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter

My gallery   My freestuff


usamike posted Tue, 04 March 2008 at 5:26 PM

hi !

i just begin a thread with benchmark idea for Poser7 . Let's try it here :
http://www.renderosity.com/mod/forumpro/showthread.php?thread_id=2732765

thanks