CPU Problems


je_saist

 

Posted

This might not be the best forum to ask this, but I've had a problem running CoX on my computer. Basically, the game never seems to use more than half my CPU power. I'm using the following system:

Intel D945GNT motherboard
Pentium 4 3.0 ghz Hyperthreaded
1.8 GB RAM
Geforce 8500 GT, 512 MB
180 GB PATA hard drive

If I run CoX, it uses 50% of my CPU at max, and game performance suffers. If I disable hyperthreading, the CPU usage increases to 100%, and performance on the game improves. However, I still only get about 10-20 FPS outdoors and 20-30 indoors. Any framerate above 5 FPS is completely manageable for me, but I've noticed that changing my graphics settings or screen resolution does absolutely nothing to change my framerate or my loading times (which are surprisingly fast, around 10-20 seconds).

Anyone know what the problem is?

PS: Please don't use this thread to brag about how awesome your system is or how I should upgrade and my PC totally sucks. Sometimes people don't have rich daddies that can buy them all the best equipment or can afford to go to college to become nuclear physicists or business CEOs.


 

Posted

Quote:
Originally Posted by MondoCool View Post
This might not be the best forum to ask this, but I've had a problem running CoX on my computer. Basically, the game never seems to use more than half my CPU power. I'm using the following system:

Intel D945GNT motherboard
Pentium 4 3.0 ghz Hyperthreaded
1.8 GB RAM
Geforce 8500 GT, 512 MB
180 GB PATA hard drive

If I run CoX, it uses 50% of my CPU at max, and game performance suffers. If I disable hyperthreading, the CPU usage increases to 100%, and performance on the game improves. However, I still only get about 10-20 FPS outdoors and 20-30 indoors. Any framerate above 5 FPS is completely manageable for me, but I've noticed that changing my graphics settings or screen resolution does absolutely nothing to change my framerate or my loading times (which are surprisingly fast, around 10-20 seconds).

Anyone know what the problem is?
you're not going to like my answer.

It's your processor.

Here's the thing with Hyperthreading: it's not actually a magical performance increaser. It can, in many cases, actually hurt overall system performance.

Thing was with the old Pentium 4 Northwood and Prescott processors is that they had exceedingly long pipelines, somewhere in the neighbood of 20 stages in the Northwood design and 31 stages in the Prescott design. The idea is that the more stages you have in a processor pipeline, the higher you can crank the clockspeed, because each stage does less work.

Unfortunately, these deep pipelines meant that if the processor "guessed" wrong on a branch prediction, or a batch of processed code was errored, canceled out, or somehow affected, the entire pipeline has to be cleared. This means that the processor is effectively stalled and doing nothing for at least a full clock cycle.

This was actually a huge issue on the first sets of Pentium 4 processors which were routinely trounced in real-world processing by the existing Pentium III chips and AMD Athlon chips.

As a solution Intel started working on SMT, or Symetric Multi-Threading. Most x86 processors have multiple instruction units along their pipeline. SMT allows a processor to run multiple execution threads on a single processor pipeline providing those execution threads are different. Basically, this means you could hand a SMT enabled processor 2 different instructions at the same time as long as those instructions were different.

Intel branded this technology for their Pentium 4 processors as HyperThreading. It was, all in all, an attempt to make a bad processor design more efficient. The concept was actually such a failure that Intel junked the entire Pentium 4 architecture and went back to the Pentium III's short pipeline for Banias, and then reverse engineered the Athlon64 architecture for Conroe.

***

So... what does this mean to you?

Well, the reason why your processor is giving you such funky readings is that it's presenting itself as two different processors to your computer. However, it's not. It's just a single core processor. Your processor is actually at 100% utilization whether or not you have hyperthreading turned on. Your computer, either due to a bios, driver, or Operating System issue, isn't able to determine that you don't actually have two processors... you just have one.

Turning hyperthreading off gives you an accurate picture of how your computer is performing. It's slammed.

Now, really, there are probably some other issues here, because, while the Pentium 4 architecture was a bad architecture, and while the 3ghz processor wasn't actually that fast... I could get 30fps out of a Radeon x1800 XT on a P4 @ 3ghz on a 1024*768 screen.

So, there probably is another issue cropping around. My suspicion is that it's due to a BIOS or driver issue that is preventing your processor from giving accurate readings.

****

Ergo, my first suggestion for troubleshooting would be to see if there is a BIOS update available for your motherboard.