Join for FREE | Take the Tour Lost Password?
[x]

deviantART

 

Apophysis Image Rendering & Multithreading

Fri Jan 5, 2007, 6:48 AM
  • Mood: Neutral
  • Listening to: Deep Purple
  • Reading: DA
  • Watching: Computer Screen
  • Playing: Not playing..writing!
  • Eating: Yoghurt on a stick
  • Drinking: Orange juice
This article relates to the fractal program "Apophysis" (Apo), but may also be relevant to other image rendering programs.

In Apo, there is a setting in the OPTIONS menu where one can specify the number of rendering "threads" to use. This has a direct impact on the amount of rendering time an image takes to render. If set to OFF, the image will render as if it was using a single CPU. If set to 2 or 4, the image will render in much less time, because it has 2 or 4 CPU cores of which to take advantage.

People who have Intel CPUs, which have hyperthreading (such as some Pentium 4's), can set this option to 2 if they wish (DO NOT use higher than 2).

Don't know how to get an image in here, so here is the screenshot link showing this setting option. [link]

Hyperthreading (wanky marketing speak), basically means the CPU has "two threads" with which to perform its data processing (sort of like two CPUs). When set to 2, Apo can use 100% of the CPU and thus cut rendering time. However, this may not be the best option with systems which generate a lot of heat and are not efficiently cooled (some laptops/notebooks may be an issue). It can be a trade-off between less render-time, OR a processor working at half its capacity and therefore producing less heat. System crashes can be a result of the processor over-heating.

If you have a newer system with either an AMD or Intel Dual-core processor, or for those fortunate people who may have a quad-core, then you should definitely set this option to correspond with the number of cores in your processor. There should be no problem with over-heating, as these newer processors have more efficient thermal designs than the older Pentium 4's.

I am running a Pentium 4 which has hyperthreading and I have set the multithreading option to 2. It can sometimes halve the rendering time, but always results in a substantial reduction.

The other thing I notice is the drop-down box below the multithreading box, which relates to both your CPU and operating system. Newer CPUs (from around mid-2003 for AMD and later for Intel) are 64bit. Prior to this they were 32bit. If your CPU and operating system are both 64bit, then I also suggest choosing the 64bit setting. I don't know the impact of this (mine is 32bit), but you will find out once you switch between the 32 and 64bit settings.

Here is the screenshot link showing this setting option. [link]

To test the impact of changed settings, you need to commence a render on the old settings. At the bottom of the render screen, the "estimated time to complete" will appear. Take note and STOP the render, then close it. Go back into OPTIONS and change the settings then commence the same render. Now you should see the time to complete has considerably reduced.

Steve Knorr

Devious Comments

love 0 0 joy 1 1 wow 0 0 mad 0 0 sad 0 0 fear 0 0 neutral 0 0
:iconanjaleck:
Thanks for the info, Steve! I'm gonna have to play with this because I have an AMD and plenty of processor speed (1.8gHz) and memory (1 gig).
Hugs,
Anj

--
Member of Apophysis

I support "Reduced thanking" :pointr: [link] and NNTR (no need to reply)
:icondonnalorelei:
OMG I had No Idea wtf the multi-threading option was all about ! ( vague notions of lines & threads wafted by now 'n then but that was it ) and it would never have crossed my mind that it related to cpu type etc. :clueless:....now it makes sense of course, D'OH.

Thank You for explaining this so clearly. Rendering times will still suck for me coz I have such a slow old system :-( but at least now I know not to ignorantly pop the option up to 8 or something just for the hell of it!!
:D :hug:

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:iconzsteve:
Good idea! I tried 4 when I first commenced Apo and my system froze. When you get yer new quad core, you'll know what to do. :-)

--
Apophysis [link]
:iconzsteve:
Anj, unless it's a dual core AMD, it won't make any difference.. hugs!

--
Apophysis [link]
:iconphoenix75:
Thanks so much, Steve. Great information and explained so well. I did know about the multithreading after searching the DA forum for some information. I was having trouble last month rendering and discovered about changing the setting. It was suggested to change to off so I have it there right now, but will see what 2 and 4 do. I bought this computer in 2004.

Anyway, thanks for looking out for all of us. :hug: :heart:

--
Love and Peace,
Kim :heart:
:iconanjaleck:
Thank you... I don't know if it is or isn't. I did have a dual processor machine for a while... but it took a dump on me and now this one is what I have.

I'll have to give it a try and see if it makes any difference. Probably won't. But my renders aren't that bad anyway. The most I've tied my machine up is 30 minutes... and that was for a super high quality one.

Hugs and love,
Anj

--
Member of Apophysis

I support "Reduced thanking" :pointr: [link] and NNTR (no need to reply)
:iconbanana-tree:
that's really useful info, thanks :)

--
bananas, anyone?
:iconstarsofglass:
I just upgraded from 256 mb ram to 2 gb ram (dual core), and by comparison my rendering time only halved. And that was by switching from 32 to 64 bit (after reading your journal I'm a bit confused, because I have Windows Vista 32 bit, not 64 :) ). But anyway, setting multithreading to 2 does seem to halve the rendering time again, but more than 2 doesn't seem to do any more. Know of any other ways to speed up the rendering (without changing the quality settings)? I thought that having so much more RAM would speed things up more :(

--
To love whatever fate brings our way.

Member of
~fractalers *Apophysis ~belgium *PhotographersClub *Ex-po-zure *sony-club =ImagersFractalDDs *macro-club *FractalDreams *wildlifephotography =NaturPics-club
:iconzsteve:
Ok, first of all, if you have a dual core processor which has 64 bit architecture, I don't understand why you would choose to run 32 bit Windows and not 64 bit. Second, if you *are* running 32 bit Windows, I also don't know why changing the setting to 64 bit in Apo reduces your rendering time, as I thought the operating system would need to be 64 bit. Maybe it is enough that the processor is 64 bit for this to happen, but I am just guessing.

My understanding, is that the multithreading number set in the *context of Apo*, equates to how many threads your processor can process at any one time. And in the case of dual core, each "processor" processes one thread, which means it can process two (being dual core). If you had a quad core processor, then you could choose the "4" setting. But again, I can't say to what degree this would have on rendering time, as I don't have either dual core or quad core processors.

Multithreading is actually more complex than this, because lots of software programs can run using multiple threads. This means a CPU may be processing multiple threads, regardless of the number of cores it has. But that's a whole other layer of complexity which you can read about on the Net.

Apo needs only a certain amount of Ram to be available for both the software and render. Depending on the quality and resolution of the render, it may need additional Ram to be available. Beyond that requirement, additional Ram is superfluous to the program, so you won't see any gain in time saved by having a greater amount of Ram available. It is only advantageous if you are simultaneously running Ram hungry programs. But 2gig is a nice amount of Ram to have in todays systems! :-)

A question... if you render something with the multithreading setting at 2 and 32 bit, and then render the same thing with the bit setting at 64, does the render time reduce further, or does it make no difference? I am just trying to understand whether the bit setting affects render time, or whether it is just the multithreading setting that influences the render time.

--
Apophysis [link]

Site Map