PDA

View Full Version : Since when are volumetric hypervoxels mutlitreaded? Good news: Now they are for sure!



Ge4-ce
03-30-2005, 05:59 AM
hey!

I remember a lot of threads here, about people complaining that hypervoxels and all kinds of volumetric rendering was not multitreaded!

Wel, when I was testing a scene with 4 treads doing a pretty tough volumetric hypervoxels, I was very surprised to see my both processors to more than 100%!! (LW used between 185 and 212 % of the processors) !!

Results:

8 treads: 4' 24"
4 treads: 4' 28"
2 treads: 4' 45"
1 tread: 7' 42"


Now, there is something else that I discovered. Unlike rendering Polygons, LW does not automatically start a new tread when a tread ends during a volumetric rendering.

This has some concequences on the renderspeed!

I discoverd that in the start, both processors go skyrocket high. After a while, one processor started to go idle again. Look at the picture I send in to explain what I found out:

When you have a hypervoxel shape like in n░ 1, setting your number of threads at 2 or at 4 or at 8 will not make a difference. Each processor is equally at work all the time. When you look at the triangle shape in n░ 2, that's an other story!

Both processors start. But because the upperpart of this image has less hypervoxels to render, it will be finished a lot earlier then the second part. You would guess that LW starts a new tread to help the second tread to finish sooner. No way hosÚ! There's no new tread, and the second processor starts to idle. When you choose for 4 treads, like in the second example, when the upperpart is finished, it starts with the below. All together, you keep both processors longer busy till the end!
Choosing 8 threads with a triangle shape, would even benefit more! And so do the results above proof! 8 treads show the fastest results!

I hope I made it a bit clear. This is only for volumetric rendering because with rendering poly's, LW DOES automatically start a new tread to help finishing the image.

Ge4-ce

NigelH
03-30-2005, 06:40 AM
This has always been the case, as far as I can remember. And the threaded/segmented behaviour you mention works for everything - not just hypervoxels.

Ge4-ce
03-30-2005, 07:23 AM
Well, I knew more or less the way it worked, but this is the explanation of WHY some scenes benefit with more threads, and others do not or have a disadvantage.

As far as I can remember here, in these forums, most people just did some trial and error investigation of how many treads would give the best results.

And a lot of people here DID complain about the fact that volumetrics weren't supported by multitreading. If those people by coincidence always had their hypevoxels in the lower part of the screen, and set their n░ of treads to 2, then you don't benefit a thing from your Dual processor computer.

That was my main point.

NigelH
03-30-2005, 08:04 AM
Point taken, and no offense intended. Your original post asked 'Since when..' and I just wanted to answer 'since always'.

The diagram certainly demonstrates the concept nicely, btw. :)

Ge4-ce
03-30-2005, 08:20 AM
Ha,.. no offence taken :) you're right about the title :) But I drew my conclusions while writing this thread..

I was surprised about the speed of the render, and in my happiness to write what I had found out, I forgot to change the title along with it..