Thread: My quad-core CPU is useless

  1. #1
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607

    My quad-core CPU is useless

    The new fad is the more cores the better. However I'm finding that time and time again I must set my processor affinity down to 1 CPU in order to get most of my games to run without massive stuttering and glitches. It is not a framerate issue b/c I'm pulling in 60 FPS on 60Hz yet the games still stutter. The moment I set the affinity the games are smooth as silk.

    It seems that not many games are actually utilizing multi-cores or are designed with multi-threading in mind.

    This leads me to another point. Is it possible that the current threading model needs a major overhaul so that it is simpler to both use and debug? Perhaps developers stray away from threading because it does bring up many many issues if not handled correctly. Those issues, in turn, take time and thus money to resolve making the development slower and more costly.

  2. #2
    Gawking at stupidity
    Join Date
    Jul 2004
    Location
    Oregon, USA
    Posts
    3,218
    Quote Originally Posted by Bubba View Post
    The new fad is the more cores the better. However I'm finding that time and time again I must set my processor affinity down to 1 CPU in order to get most of my games to run without massive stuttering and glitches. It is not a framerate issue b/c I'm pulling in 60 FPS on 60Hz yet the games still stutter. The moment I set the affinity the games are smooth as silk.

    It seems that not many games are actually utilizing multi-cores or are designed with multi-threading in mind.

    This leads me to another point. Is it possible that the current threading model needs a major overhaul so that it is simpler to both use and debug? Perhaps developers stray away from threading because it does bring up many many issues if not handled correctly. Those issues, in turn, take time and thus money to resolve making the development slower and more costly.
    I haven't noticed the same problem. I'm running a Core i7-920 and games seem to run fine. I do agree with you assessment about the lack of multi-threading in games though. Maybe the 'more cores' fad is the CPU maker's last hope of selling more merchandise in a 'we can't make it any samller' or 'we can't dissipate the heat the any faster' world. It wasn't too many years ago that I remember constant, drastic increases in core clock speed, but it seems that for the past couple of years we've had a ~3GHz plateau.
    If you understand what you're doing, you're not learning anything.

  3. #3
    Internet Superhero
    Join Date
    Sep 2006
    Location
    Denmark
    Posts
    964
    Quote Originally Posted by Bubba View Post
    The new fad is the more cores the better. However I'm finding that time and time again I must set my processor affinity down to 1 CPU in order to get most of my games to run without massive stuttering and glitches. It is not a framerate issue b/c I'm pulling in 60 FPS on 60Hz yet the games still stutter. The moment I set the affinity the games are smooth as silk.

    It seems that not many games are actually utilizing multi-cores or are designed with multi-threading in mind.

    This leads me to another point. Is it possible that the current threading model needs a major overhaul so that it is simpler to both use and debug? Perhaps developers stray away from threading because it does bring up many many issues if not handled correctly. Those issues, in turn, take time and thus money to resolve making the development slower and more costly.
    I've never run into this issue with my i7, the problem you describe sounds like microstuttering, though that usually has someting to do with multi-gpu rigs. I have however had to force some older games to run on one core only, for them to even launch properly, but that is to be expected imo.
    How I need a drink, alcoholic in nature, after the heavy lectures involving quantum mechanics.

  4. #4
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Microstuttering was my first thought too. Definitely not an issue with processor affinity (based only on my experience of never having suffered from it). And it's just not an issue with dual GPU. Single GPUs can also experience it, apparently due to game engine bugs(?). Check this example (search that text for "micro").

    edit: Incidentally, if your CPU supports it what happens when you disable hyper-threading?

    This leads me to another point. Is it possible that the current threading model needs a major overhaul so that it is simpler to both use and debug? Perhaps developers stray away from threading because it does bring up many many issues if not handled correctly. Those issues, in turn, take time and thus money to resolve making the development slower and more costly.
    Oh absolutely! I've been saying that for quite some time. The threading model is pure evil (pdf). Threads are why I got to admire so much the concurrent model of Erlang.... It doesn't use them.
    Last edited by Mario F.; 03-09-2011 at 07:24 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  5. #5
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    I am noticing a common thread in most of the micro-stutter posts. They are almost all using AMD Phenom 2 quad-core CPUs. I have an AMD quad-core AMD Phenom 2 940 and have buckets of microstutter in my games.

    My hard drive is squeaky clean as I use Diskkeeper to keep it nice and defragmented along with a few boot time defrags which are very thorough. I have no viruses, no spyware, etc. and my system processes are down to 26 or 28 at boot.

    I could never prove it to AMD and AMD would blame NVidia and NVidia would blame AMD and Microsoft would blame them both....but I suspect it is an issue with the quad-core Phenom 2 that is starting to rear its ugly head as more and more people opt for the slower yet comparable and much cheaper AMD Phenom 2 over the I7. It really sucks though b/c my rig is built for gaming and pretty much has everything from the DRAM to CPU to the GPU overclocked. Perhaps it is time to move back to Intel.
    Last edited by VirtualAce; 03-09-2011 at 06:13 PM.

  6. #6
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Parallelism is the only way forward. IMHO, the complaints about difficulty writing correct parallel code are the same sort of whining as the people who put off the switch to 32-bit for as long as possible (the same of course is now happening with 64-bit).

    It's difficult, but that's because programming is difficult.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  7. #7
    -bleh-
    Join Date
    Aug 2010
    Location
    somewhere in this universe
    Posts
    463
    Seem like noone has asked this yet. But, what kind of games are you playing? and is it any fun? i'm looking for something to play.
    "All that we see or seem
    Is but a dream within a dream." - Poe

  8. #8
    Unregistered User Yarin's Avatar
    Join Date
    Jul 2007
    Posts
    2,158
    Quote Originally Posted by nimitzhunter View Post
    Seem like noone has asked this yet. But, what kind of games are you playing? and is it any fun? i'm looking for something to play.
    Considering the sheer number of games out there, I'm surprised that you'd have to derail a tread just to find one. But since you asked... try Nexuiz.

  9. #9
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Please stay on topic.

  10. #10
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    I have a similar rig, according to your other posts. It isn't a gaming rig, but what bits and bobs I've tried haven't stuttered.

    Now, I've seen all kinds of tearing and wrong or missing textures, but I blame the crappy use of "Unreal 3" and "CryEngine" for that. (By this I mean that the developers are using those tools poorly.) Then again, I use drivers that are 3-6 months old, or older, at any given time.




    Oh, but I do agree that the design of the threading model really needs work.

    Soma

  11. #11
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    Don't forget it could have nothing to do with the CPU itself -- more the controlling chipset or the bus.

    As an aside, it's interesting to see the new languages/features and frameworks that make multi-threading a tad easier like Go or C# 4.0.

  12. #12
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    I'm not sure what is causing the micro-stutter but I wish I could find it. It is not present in all games but many of them do suffer from it. I'm going out on a limb here but my 1TB drive only has about 15% left. Could that be causing the issue. Frankly I do not see how that could cause the problem but I'm open to anything at this point. I just dropped my texture quality to quality instead of high quality so perhaps that will change some things. I'm running a GTX 465 1024mb card so I should not be having any issues.

    Games that micro-stutter so far:
    • NBA 2K11 - some arenas are nearly unplayable
    • Fallout 3 - probably due to Gamebryo which is known to stutter and frameskip
    • Divinity 2 - again uses Gamebryo
    • Saints Row 2 - known to stutter when driving but mine stutters when walking
    • Mercenaries 2 - also known to stutter on certain machines when driving - mine is one of them, yay me
    • Test Drive Unlimited 2 - only stutters in certain areas of Oahu and Ibiza..not all areas


    Games that are smooth as silk
    • Stalker - all versions and all sequels
    • Crysis
    • Far Cry 2
    • All Need For Speed games
    • Burnout Paradise
    • NBA 2K10
    • MLB 2K9 and 2K10
    • Microsoft FSX (within reason and when not in large cities)
    • Sims 3
    • Dragon Age Origins
    • Drakensang
    • Risen


    Does this come down to an engine optimization issue or do you think there is something else going on?

  13. #13
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    I would put my money all on exactly an engine optimization issue (why, below). I think the processor affinity setting change only helps indirectly and does not reveal a problem with the processor (in fact because it helps you, the processor only shows how much of a solution it is). You are effectively taking more advantage of your cache by setting the affinity to 1 core and hinting the CPU to use that core as much as possible, thus mitigating the effects of your stutter. I think you know all this otherwise you wouldn't be messing with processor affinity. What I suspect you aren't remembering is that this is very close to what would happen if you could somehow set IFPSClamp to a minimum setting and said that only frames below that setting should obey it (some sort of iFPSClamp for slower frames forcing them to remain on screen until the next frame is ready). Essentially you are removing (or minimizing on the case of processor affinity) skip-ahead which is the visible effect of stutter.

    This will probably could have a negative impact on the portions of the game that are multi-threaded. But being that you have such a powerful system (and processor affinity is after all just a hint, not a written-on-stone setting) that goes unnoticed. Besides, processor requirements for modern games are, after all, still very modest.

    Anyways, the fact processor affinity helps is why exactly I believe this is an engine issue. With the exception of SLI and CrossFire configurations which do microstutter but for other reasons, the fact you are experiencing this on a single GPU can only be attributed to the game engine, excluding of course any defect of your graphics card (which we can exclude because it can run crysis -- old joke ).

    Why however you experience and I don't -- why person A does, and person B doesn't -- is a mystery to me. However I hear of community developed mods for games like Oblivion and Fallout 3 that do successfully remove microstuttering. So this is one hint that no matter other reasons, definitely the engine has a saying about all that. And because you can run the cryengine without a glitch is yet another reason to believe so.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  14. #14
    In my head happyclown's Avatar
    Join Date
    Dec 2008
    Location
    In my head
    Posts
    391
    Who is Virtual Ace? What happened to Bubba Bongo?
    OS: Linux Mint 13(Maya) LTS 64 bit.

  15. #15
    Registered User
    Join Date
    May 2003
    Posts
    1,619
    Quote Originally Posted by VirtualAce View Post
    It seems that not many games are actually utilizing multi-cores or are designed with multi-threading in mind.

    This leads me to another point. Is it possible that the current threading model needs a major overhaul so that it is simpler to both use and debug? Perhaps developers stray away from threading because it does bring up many many issues if not handled correctly. Those issues, in turn, take time and thus money to resolve making the development slower and more costly.
    The problem is that most games generally aren't going to thread well in general. It's not usually efficient at all to have multiple cores doing the same task - the time spent on synchronizing will more than eliminate the benefit of utilizing multiple cores. Games don't usually have a lot of computations that can be run asynchronously from the rendering loop; everything except the rendering loop can be pushed into another thread and that thread would typically only take a small fraction of one core.

    Maybe if you had a game with a complex physics engine that could be pushed off to another core and get some benefit, but that's about the only case I can think of.
    You ever try a pink golf ball, Wally? Why, the wind shear on a pink ball alone can take the head clean off a 90 pound midget at 300 yards.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. couple of questions concerning multi core cpu's
    By Masterx in forum Tech Board
    Replies: 6
    Last Post: 10-07-2009, 10:39 AM
  2. questions on multiple thread programming
    By lehe in forum C Programming
    Replies: 11
    Last Post: 03-27-2009, 07:44 AM
  3. Quad core cpu
    By kevinawad in forum Tech Board
    Replies: 31
    Last Post: 08-31-2008, 03:41 PM
  4. OpenGL, loading BMP Textures?
    By Zeusbwr in forum Game Programming
    Replies: 12
    Last Post: 12-09-2004, 05:16 PM
  5. Odd 3D Invis Objects?
    By Zeusbwr in forum Game Programming
    Replies: 4
    Last Post: 12-07-2004, 07:01 PM