PDA

View Full Version : Dual core only using 50% when working in LW..why?


moremetall
12-22-2005, 02:03 AM
Hi !
I hope someone can help me out... I hade a earlier thread were I hade problems when I started LW is hade a 50% load all the time as a minimun... this was related to the Nvidia driver... did change that to the oldes possible driver I found the supported my card (Nvidia 7800GT) 77.77 and the problem was no more.....but what I did not notice then was when doing heavy load work in modeler or layout LW only using maximun 50% and nothing more....(when it should need to use more).

It's not a redering issue, when redering it use 100%

THis is frustrating as I cant use the full power of my mashine that I have invested only for working with LW...

Any ideers anyone ...

IgnusFast
12-23-2005, 01:05 PM
The last driver drop fixed the 100% CPU core utilization problem for me (81.98, released on December 21st or so). They've also (according to the driver release notes) made a lot of changes to the drivers regarding multiple-CPU support. Might want to give them another go.

Skonk
01-05-2006, 09:33 AM
This isn't a problem, its just the way it is.

Programs opperate in something called threads, some programs are single threaded and some are multithreaded. The thread is esentially a program loop where the program code is executed, multithreading allows a program to run several simultaneous tasks, each in their own thread.

Now on a single processor it will only be able to perform one task at a time so even tho a program may be running multiple threads, they still all end up in a queue and are processed one by one but the benefit is things like the programs interface wont freeze up while the program performs some other task, in a different thread.

On a multi-processor, HT or Dual Core system the cpu(s) are able to to perform 2 or more tasks at the same time, esentially allowing multiple threads to opperate at the same time rather than one by one.

Finally to get to the point :) a single thread can only run on a single processor (or core), it cant be split up and processed by several different processors, so any task you are performing that only uses 1 thread, will only use 1 cpu (or 1 core on a dual core cpu) and you will only see 50% cpu usage at best.

Most tasks you perform while operating your computer, be it in lightwave (modeling, animation), using photoshop or word etc.. are run in single threads (while the program may still be multithreaded the task your currently performing will be in its own, single, thread).
Rendering (rendering a 3d scene out, rendering video in an editing package etc.) are generally the only heavily multithreaded task performed by the program and as such will use multiple cpu's (or cores) to their fullest and give you proper 100% usage on your dual core cpu.

Dont forget when you render to set the number of threads in lightwave to something more suited to you setup, by default it will only render using 1 thread.

So in short (lol i cant half rant), modelling and animation tasks are generally single threaded and will only use 1 core, rendering when set to 2 or more threads will use both cores and give you 100% cpu usage.

EDIT: Wanted to add this isn't anything to do with lightwave being limited in any way, its simply the way programs work, having a dual cpu, dual core cpu or cpu with HT technology will only improve performance with things like rendering anything (most programs that have to do some sort of rendering will use multithreading for the rendering to speed it up, rendering images, text, video), also things like encoding video (mpeg2 for dvd, divx, quicktime) will all take advantage of multiple cpu's, esentially any intensive task that the cpmputer has to perform where no user interaction is involved.
Things that require use interaction such as Editing video, modeling in 3d, painting onto an image will all be single threaded tasks though, and as such will only use 1 cpu/core.

christianclavet
01-27-2006, 12:55 PM
This isn't a problem, its just the way it is.

Programs opperate in something called threads, some programs are single threaded and some are multithreaded.

I see. But in this case, could it be possible that the drawing engine and display for windowed openGL be written as multithreaded? Since modeling and animating require so much performance from the machine...

When new systems are coming out today with dual core and SLI, it could increase performance a lot taking advantage of the hardware in the creative process; not just rendering. :cool:

Lightwolf
01-27-2006, 01:51 PM
I see. But in this case, could it be possible that the drawing engine and display for windowed openGL be written as multithreaded?
Basically... no. Only one thread can feed the openGL pipeline (which would be _all_ LW viewports). It might be possible to multithread some operations in Layout (i.e. mesh deformations ... on mesh per thread). In Modeler this would be extremely hard to do, and I don't know a single modelling app that is fully multithreaded....

Cheers,
Mike

Celshader
01-27-2006, 06:29 PM
Just to back up what folks have already mentioned in this thread, only two parts of LightWave can multithread: the renderer itself and the old Motion Designer controller. :o

Lightwolf
01-28-2006, 06:14 AM
Just to back up what folks have already mentioned in this thread, only two parts of LightWave can multithread: the renderer itself and the old Motion Designer controller. :o
As well as PFX in a way... well, not multi-thread per se but it can calculate particle motions in a separate background thread... it just ain't very stable.

Cheers,
Mike

Stooch
02-18-2006, 10:14 PM
I see. But in this case, could it be possible that the drawing engine and display for windowed openGL be written as multithreaded? Since modeling and animating require so much performance from the machine...

When new systems are coming out today with dual core and SLI, it could increase performance a lot taking advantage of the hardware in the creative process; not just rendering. :cool:

the whole point of 3D accelerators is to take that task away from the cpu anyway. which i might add, lw fails miserably so far. (although im not beta testing 9 so who knows)

multipasser
02-20-2006, 07:14 AM
the whole point of 3D accelerators is to take that task away from the cpu anyway. which i might add, lw fails miserably so far. (although im not beta testing 9 so who knows)

So basicly you can say that a MultiCore cpu is slower in working with LW (modeling/animating) than a Singlecore. But for rendering the Multicore speeds up.

lots
02-20-2006, 06:52 PM
So basicly you can say that a MultiCore cpu is slower in working with LW (modeling/animating) than a Singlecore. But for rendering the Multicore speeds up.
NO. not exactly. If you've got a dual core CPU (say an Athlon 64 X2 4400 [2.2GHz]) and you've got an Athlon64 3500 (single cored at 2.2GHz). you should experience roughly the same performance. However, if you've got a single core CPU with _higher_ MHz, then yes, you could say that single threaded power will be better on your single core CPU. If you've got a dual core CPU at high clock speed, it will outperform the single core, no doubt about it.

It all depends on what CPU you're looking at. MHz to MHz, there is generally no difference between single and multi cored CPUs of the same MHz when it comes to any single threaded task. Also assuming you're comparing CPUs of the same architecture, as is the case between the X2 and normal Athlon64.

Also, one way you can utilize more of your CPU power with your GUI in LW is to use the later 81.xx or 82.12 drivers from Nvidia. I say this because the 8x.xx driver sets and up are multi threaded. Though there are some problems with that aspect and OpenGL it would seem. Nvidia has been working on it.

I use the 82.12 beta drivers and all seems fine thus far. I actually get up to 100% CPU usage out of LW on my dual Opteron box during viewport manipulations.