Sins and multicore processors

Has this been discussed already?

 

Why is a brand new game put out within the past 18 months not support multi cores?

 

hear is a screen shot for my dual core while only having sins running.  (multiplayer 2v2v2)

 

 

26,891 views 13 replies
Reply #1 Top

Has this been discussed already?
End of quote

Yes.

Why is a brand new game put out within the past 18 months not support multi cores?
End of quote

It does, in some senses of the word (it's multithreaded). It's just not using them equally.

From what I've heard, this is a bug - it shouldn't be taking that much CPU, even on a single core.

Reply #2 Top

I have a quadcore & sins does seem to run on only 1 core most of the time.

Reply #3 Top

it would be nice to see them update it the game to accept multicore processors.. other wise what was the point of having multicore comps

Reply #4 Top

A single platform PC game not taking advantage of a big feature like that seems poor.  Not so much if it was out on multiple platforms, like Iphone, PSP, etc.  If you are focusing on one platform, knock it out of the park please.

Edit: Actually, I don't think you can buy a new PC desktop (and maybe laptop) that doesn't have a multi-core processor.

Reply #5 Top

Multicore programming is still in its infancy.  Most games don't take advantage of it, and those that do, only take limited advantage of it.  There are some notable exceptions, like Supreme Commander, which was a really impressive feat, but by and large multicore just hasn't caught on yet.

Also, it's not that the developers are just being stubborn - Sins is a *very* old game - I heard about it for the first time just a few months after HOMEWORLD 2 came out!  Sure, they've probably overhauled the engine since then, but the task of going from single core to multicore progamming is no trivial matter.

The problem, mainly, is sync... or at least, that's how I understand it.  WIth one CPU, processes have no choice but to run in sync with each other, but with multiple CPUs, if you try to offload, for instance, the sound or the physics or AI onto a second CPU, it can't run in sync with the original thread very easily...

Look, I'll admit, my knowledge of the subject is weak at best, but you get the general idea.  No patch or addon will add multicore to Sins, but it's almost guaranteed for the sequel... especially given how much the game has to keep track of, and a sequel will presumably have to outdo Sins in that regard.  Because game development takes a pretty long time, and developers often share code between their past and current projects, it will probably not be a common thing for games to be mostly multicore until 2010-2012 - that's when the 8, 16, 32, etc core CPUs will start being released.

Reply #6 Top

What you're referring to is called thread sychronization (sometimes, or thread locking, among other things) and locks for variables, atomic writes etc. .  If your program is multithreaded then it is basically built to run on a multicore already as the threads running on one processor can still get out of sync quite easily. Threads getting out of sync isn't a really bad problem unless they have to talk to each other a lot, whether directly or through memory, in which case the slowest thread ruins the day,

Threads can run happily out of sync, and can even communicate out of sync, but you get data concurrency problems between processor caches, meaning, say, the game engine locks the positions of all ships and writes new positions based on physics calculations, but if something else has even one locked, unless this is expected and dealt with in the code, the engine will have to wait for the other thing to release the lock. Where this gets game-droppingly bad is when two things are waiting for each other to release locks, forever, and thus the lock hang is born.

 It still requires a lot of code modification, but the principles used to build a multithread engine can be ported over to multicore. Unless sins isnt really multithread (aka one "main" thread with several smaller threads). If this is the case then the game is essentially running like a script and more cores won't do anything.

 

Anyway, the biggest issue with the sins code, as far as i can tell, isn't cpu utilisation, its texture memory. It seems that some sort of high priority cache holds all of the textures at once (1.3 GB on my machine, plus the video mem, 512 mb worth of it :S), so that the video card doesn't have to load them to memory all the time, allowing for smooth transitions from no-tex(zoomed out with icons) to all-tex (zoomed in to a fleet battle). Other than texture compression, the likes of which i've never heard of, nothing can really fix this issue. Unless you do what the l4d people did, which is to minimize the base textures and use masks to achieve the desired results. I think you can get a root(x) reduction in consumed memory that way, not sure though...

Reply #7 Top

Texture memory, eh?  Hm...  I guess that would make sense, though I've never checked on it myself.  I just know that my CPU isn't being utilized fully (even one core), my RAM isn't full (a gig or so remaining at all times.. maybe I need the -3gb switch activated in my boot.ini?), and my graphics card eats Crysis for lunch.  Something's a bottleneck, and I'd generally assume it's the AI or the sheer number of ships that have to be tracked, but my CPU isn't overloaded.  Maybe it just requires so much bandwidth that the bus is the problem?

I'm a pretty advanced computer user, but I'm not really sure about this one: If, indeed, the bus was the issue, could I theoretically improve game performance by reducing my CPU multiplier and then increasing my bus speed until I'm back to 3ghz (oc'd from 2.4)?  It would be an interesting experiment.  Unfortunately my motherboard limits my RAM voltage to 2.1 volts so I when I try to do any advanced tweaking my RAM can't take it.  It's certainly fast enough though - OCZ PC2-9200 IIRC.

Reply #8 Top

u can set it to use which ever cores u want....

Reply #9 Top

You're all just frustrated that intel sold you multi-core processors on the premise of better performance.

They're good for some things, gaming just isn't one of them.... [yet]

Reply #10 Top

Multi-core does benefit gaming to some degree - the background processes get bumped onto the second core, allowing the first to run your game at full speed.  This means you can run a game and transcode a DVD simultaneously without slowdown.

ags19, don't speak if you don't know what you're talking about.  Tellling a program to use 1 core or eleventy million cores won't make a difference if the program doesn't know how.

Reply #11 Top

In general multi cores are overrated. in most cases ANY game you run only runs on 1 core, with the exception of games such as crisis which were intentionally made to utilize a quad, however for them to do this they just used sloppy as hell programming making the game run like crap, which is where the quad corrects it.  in effect if you look close enough, most programs only use 1 core.

Reply #12 Top

The best I've seen is Civ 4. I don't play a lot of different games but from what I do play it makes by far the best use of a quad. It seems to spread the load out almost prefectly evenly among the 4 cores & it runs amazingly well on my new comp compared to my old system which was new and top end when the game was released.

Reply #13 Top

There are some notable exceptions, like Supreme Commander, which was a really impressive feat,
End of quote

 

yes, Ill have to screenshot my next SupCom match we play.  We bounce between it and SINS when we are in an RTS mood.  SupCom FA (which we play) has a nice ballanced 60-70% usage between the 2 cores of my AMD x2 machine.