HornedBeast HornedBeast

[ANSWERED] Dual-Core Support

[ANSWERED] Dual-Core Support

A possibilty for the future?

Hi. This mainly goes out to the developers really.

I understand this game doesn't currently support Dual-Core. If I have a huge fleet, and so do my 4 other friends or AI, my game generally starts getting a little choppy. I also understand that the eagily awaited patch, 1.03, will not have any huge engine improvements or anything.

However, I was wondering if there was a ever a posibility that dual-core support might be added to the engine at somepoint, thus speeding up us slow dual-core users?

Sorry if this has been asked a million times before!

Cheers, Andy!


[ANSWER]

From Yarlen:

As was stated earlier, Sins does use multi-threading for texture loading only.  Any additional threading goodness may appear in an expansion pack, as that stuff is not for patches (it would require a good amount of testing to make sure it was working properly).
45,063 views 87 replies
Reply #26 Top
So all it does is load some textures?

Since it is now clear that quad core will be the standard within a couple years, and since dual core cpus have been the standard for some time now, it is puzzling to me how a cpu-intensive game released in 2008 would not be at least dual-core optimized. No one buys single-core cpus anymore today, so why are games still being developed that use only half of the hardware?

The developers of flight sim x, which was released in late 2006, explained that they did not know during development that multithreading would be the way of the future. Fair enough, but that was almost 18 months ago, and now major titles are still being released that can barely take advantage of a second thread?

I think an expansion pack that greatly improves ai-performance, heavily using the available processing power of extra threads, would be marvelous. Heck, using extra cores for anything at all would be great!

When Nehalem becomes available at the end of this year, enthusiasts will have access to 8 threads. Imagine the possibilities! I hope they aren't wasted.
Reply #27 Top

I hope they aren't wasted.
End of quote



Without getting technical, it is my understanding that in order to get true multi-core usage of software (in most cases) would require a large re-write of the "coding languages" used to program said software, while excluding all systems that don't have multiple cores.

Reality has a way of crushing hope..... :)

the Monk
Reply #28 Top
I have a regular pc (E6700, and an now old 1650xt), and have never experienced problems with sins performance. I have been through massive battles, and i wasn't the one lagging. It's true it's not multithreaded, but a dual core still performs better than a single one because sins will most likely not be your only process running. If you have fps problems, it's probably either a very old pc or configuration problems.

The load on 2 cores will be balanced by windows even with single-threaded apps, up to a maximum of 50-50. This is to better control cpu temperature. The process will simply alternate on the 2 cores, but of course never on both.
Reply #30 Top
I have a regular pc (E6700, and an now old 1650xt), and have never experienced problems with sins performance. I have been through massive battles, and i wasn't the one lagging.
End of quote


Hmm that's funny because I just finished a game that lagged pretty hard when I fought two ai fleets with 2300 support :P

The framerate was dipping pretty badly, to the point where it affected gameplay. I couldn't select things or issue orders as quickly.

I assume it's the cpu and not the graphics but I will turn down the settings and try it again (I saved before the battle hehe).


I'm using an e6600 running at 3.6ghz, 2 gigs, and a 7900gt. Assuming it is the cpu, it worries me how my friends' older computers will perform when we play lan games, since you can turn down the graphics settings, but not the cpu settings.
Reply #31 Top
Just to defuse some confusion here.. I have some programming experience specific to multi-threaded applications.

This isn't some buzz word when it comes to writing software. In order for any program to use more than one logic processor (read CPU or Core in this case) the executable has to contain multiple threads of execution. These so called "threads" are basically lines of thought, or lines of instruction that can be executed side by side for improved performance.

All that said games are actually fairly iterative devices. You have a major game loop that runs over and over checking for user input and whatnot and making changes to make the game run. Trying to separate this process into multiple different thought processes is a nightmare! Not to mention when you get it all working you have to figure out if one thread finished before another and what happens if one thread needs information from the other and good night I hope you understand the problems here.

Dual Core is an AWESOME performance option for a modern PC. For no other reason than windows runs on one core while everything else runs on another. To expect all your applications to be rewritten to support this new format is ludicrous, it makes my head explode even trying to figure it out and my developer colleagues don't like it much either.

Anyway everyone can rest assured that Intel is working on a new generation of chips that will be happily single core again. This whole multi-thing is just a stepping stone.
Reply #33 Top

Anyway everyone can rest assured that Intel is working on a new generation of chips that will be happily single core again. This whole multi-thing is just a stepping stone.
End of quote



I have heard nothing of this. I know Nehalem is rumored to come in dual, quad and octo-core versions, and supports a new version of hyperthreading that results in up to 16 threads. Everything I have heard from the hardware world tells me that the future of cpus is multicore, at least for the foreseeable future.

Sure it's lame, and a terrible burden on programmers, but it's the direction the cpu manufacturers are pointed. Heck we're already there; more than 10% of new cpus purchased today are quad-core.

The point is that people have known this for years now, and this game is not (very) optimized for multi-threading at all, and that's a shame.
Reply #34 Top
more than 10% of new cpus purchased today are quad-core.
End of quote


I think we can chalk that up to a couple of things:

1. People who know what they're doing (media developers and editors, not gamers)
2. People with too little sense and too little money
Reply #35 Top
more than 10% of new cpus purchased today are quad-core.I think we can chalk that up to a couple of things:1. People who know what they're doing (media developers and editors, not gamers)2. People with too little sense and too little money
End of quote


You're an idiot. Take your elitist attitude somewhere else.
Reply #36 Top
You're an idiot. Take your elitist attitude somewhere else.
End of quote


..where the hell did that come from? Did you get shafted by not doing your basic research on how multithreading works and how it doesn't magically scale up to seventeen trillion cores before buying the SUPER DUPER XTREME QUAD CORE QX3943343 (aka firmly in the second category) or are you just trolling? It's not elitism, it's the facts. If you buy a quad-core and do not work with quad-core optimized software like rendering video or CAD you have more money than you have brains, end of story. Quad-cores are still at 65nm, they're still way more expensive than they should be, they're still not as powerful as the Wolfdales, and the only reason someone would buy one is because they bought into hype. If that's you, sorry, but that doesn't give you the right to call people elitists just because you screwed up. If it's not, you have absolutely no idea what you're talking about.
Reply #37 Top
Well right now I don't think quad-core is all that useful. It is for certain applications, but not for me. That's why I don't own one.

But that is the direction the cpu industry is moving. Everyone has known this for years, so I am a bit confused why games released in 2008 are still essentially single-threaded.

And it's not just 'uber high end'. I saw the Q6600 on sale for $200 a little while ago. AMD has their quad core phenoms too, and they're not ridiculously expensive (they're not that great either) :P

But anyways this game doesn't even efficiently use two cores, which is what most people have today. And it seems to me that during huge battles, more processing power would be welcome.

It's not a huge deal. I'll live with it. I think Sins is a good game. I'm not pissed off.

And yes I do think that a lot of people who currently have quad core processors would do better with an E8400 ;)
Reply #38 Top

But that is the direction the cpu industry is moving. Everyone has known this for years, so I am a bit confused why games released in 2008 are still essentially single-threaded.
End of quote


Programming difficulties -- its a lot harder to program for multiple cores.
Reply #39 Top
To add another bit of information to the behavior difference seen between the Intel and AMD multi-core systems. It seems likely that the AMD processor support is using processor affinity to tie the game to 1 core. Processor affinity is a feature where a given program is made to run on one or more specific cores. If the program in question can't use any more cores than it has been assigned to, this improves cache coherency and slightly improves performance. The Intel based systems seem to be letting the game bounce between available cores. My 2x2 AMD system seems to run the game on 1 core, which is just fine with me if it means the game runs correctly.
Where the CPU load adds up to slightly more than 100%/# of cores, the graphics processing pipeline can also happen on other cores. Todays video cards offload a tremendous amount of work, so the effect is not as visible as it once would have been, but it is still happening.
Other devices in the system, such as network, disk and sound will also provide small opportunities for work to occur on other cores.
Reply #40 Top
Just to defuse some confusion here.. I have some programming experience specific to multi-threaded applications.This isn't some buzz word when it comes to writing software. In order for any program to use more than one logic processor (read CPU or Core in this case) the executable has to contain multiple threads of execution. These so called "threads" are basically lines of thought, or lines of instruction that can be executed side by side for improved performance.All that said games are actually fairly iterative devices. You have a major game loop that runs over and over checking for user input and whatnot and making changes to make the game run. Trying to separate this process into multiple different thought processes is a nightmare! Not to mention when you get it all working you have to figure out if one thread finished before another and what happens if one thread needs information from the other and good night I hope you understand the problems here.Dual Core is an AWESOME performance option for a modern PC. For no other reason than windows runs on one core while everything else runs on another. To expect all your applications to be rewritten to support this new format is ludicrous, it makes my head explode even trying to figure it out and my developer colleagues don't like it much either. Anyway everyone can rest assured that Intel is working on a new generation of chips that will be happily single core again. This whole multi-thing is just a stepping stone.
End of quote


how long wil it be for the next generation chips i hope not soon just bought a new dual core 3,2 computer
Reply #41 Top
You're an idiot. Take your elitist attitude somewhere else...where the hell did that come from? Did you get shafted by not doing your basic research on how multithreading works and how it doesn't magically scale up to seventeen trillion cores before buying the SUPER DUPER XTREME QUAD CORE QX3943343 (aka firmly in the second category) or are you just trolling? It's not elitism, it's the facts. If you buy a quad-core and do not work with quad-core optimized software like rendering video or CAD you have more money than you have brains, end of story. Quad-cores are still at 65nm, they're still way more expensive than they should be, they're still not as powerful as the Wolfdales, and the only reason someone would buy one is because they bought into hype. If that's you, sorry, but that doesn't give you the right to call people elitists just because you screwed up. If it's not, you have absolutely no idea what you're talking about.
End of quote


your so right i just got a new computer and bought dual core and not quad core
because of my dads advice he is a computer expert i am glad i listen to him
because the fact of the story is that its just a little faster not worth your money
the money i saved from that is that i bought a better videocard
Reply #42 Top
I just bought a Q6600. I'm a gamer. And I do video editing. That doesn't mean I have too much money or am stupid- I bought the correct processor for my new box based on what I use. And the cost was just slightly higher for almost identical performance of a dual-core. A quad is overkill for most people now, but in a year or two it will become the standard.

It'd be so nice if the OS could handle all the threading needs for software, so programmers wouldn't need to add in code to handle this, but I know that's in a perfect world scenario that isn't possible.

In both XP and Vista, you can set processor affinity for processes. Open up Task Manager, find the process for Sins, right click- and choose Set Affinity. You can then choose a core or cores to assign to. In my case, I'll probably set it to the 1 and/or 2 core, so Windows can have 1 core just to itself. Not the same as multi-threading, but handy.
Reply #43 Top
I just bought a Q6600. I'm a gamer. And I do video editing. That doesn't mean I have too much money or am stupid- I bought the correct processor for my new box based on what I use.
End of quote


okay and where in my post did I say you are stupid if you bought a Q6600 and do video editing

And the cost was just slightly higher for almost identical performance of a dual-core.
End of quote


False. A quad-core 65nm has much lower performance than a Wolfdale in non-quad-threaded apps, thanks to its much lower clock speed, less cache, and other factors. Only when overclocked does it compare, and the Q6600 has okay OCing at the G0 stepping but you can take a E8400 to 4.2 on air.

how long wil it be for the next generation chips i hope not soon just bought a new dual core 3,2 computer
End of quote


The Wolfdales just got released a few weeks ago and if you have a 3.2 clockspeed that's probably what you have.
Reply #44 Top
I'm running a dual-core AMD 64 6400+ processor, and would really like to see better, or any, multiprocessor support. When I'm running a medium size game with several battles at once, my computer slows to a crawl with 100% usage on one core, but nothing on the other. I realize that divvying up the processing tasks between multiple processors is a computational challenge, but I think this should be a priority - It has a drastic effect on gameplay.
Reply #45 Top
I'm running a dual-core AMD 64 6400+ processor, and would really like to see better, or any, multiprocessor support. When I'm running a medium size game with several battles at once, my computer slows to a crawl with 100% usage on one core, but nothing on the other. I realize that divvying up the processing tasks between multiple processors is a computational challenge, but I think this should be a priority - It has a drastic effect on gameplay.
End of quote


What graphics card do you have?
Reply #46 Top
an ATI Radeon x600 with 256MB of video ram. It's definitely the oldest part of the machine, but the performance has been fine for my needs.

Also, 2GB OCZ pc3200 ram, two SATA 2.0 drives in a RAID 0 array. I don't remember the specs on the motherboard, but it's pretty beefy as well.
Reply #47 Top
Dishrag, it might be worth mentioning that on a my home machine, with a 4600, I don't run into the "slows down to a crawl" thing, so it might not actually be the processor thats holding you up. Memory, video card, programs running in the background, all of these can effect performance as well.
Reply #48 Top
an ATI Radeon x600 with 256MB of video ram. It's definitely the oldest part of the machine, but the performance has been fine for my needs.Also, 2GB OCZ pc3200 ram, two SATA 2.0 drives in a RAID 0 array. I don't remember the specs on the motherboard, but it's pretty beefy as well.
End of quote


if anything is actually bottlenecking you on raw power there its definitely the video card.. game runs flawlessly on my 2.6 ghz X2 w/ ati 1950xtx

But the x600 should be able to handle it... I actually have an x600 pro here I can test w/ the game and report back, other than that it'd have to be background apps etc. Also, you running XP or vista? if its vista then the 2gb of ram could actually be whats causing it, vista is retarded fat kid at an all you can eat resturant when it comes to ram.
Reply #49 Top
~50% per core is a good indication that it is splitting the same work and not actually utilising both cores individually.
End of quote
Wrong. 50% x 2 cores = 100% (one full core)

50% x2 core utilization is a pretty good indication that the game is putting most of the work on one thread, and thus one TOTAL core. If you saw the game regularly getting 60% or more usage on both cores, then that means something is utilizing additional threads. Even then, that could be your OS, or other stuff on the side. Only if you really see 80%+ x2 could you really say that the game is working to utilize both cores

but if it uses 2 cores, that means it will be too demanding for single cores!
End of quote
Since when? You realize that the game is under NO obligation to devastate every CPU resource it can find. However, it is important that it CAN do it, especially if you want to keep things scaling on future processors. CPUs are no longer going to be single core monsters. They're moving to 2, 4, 8 cores, and beyond. If the game only uses a single thread, it's going to slowly cap out over the next waves of technology.
Reply #50 Top
how long wil it be for the next generation chips i hope not soon just bought a new dual core 3,2 computer
End of quote


The sort answer? Unknown, both the CPU venders are aware of the difficulties multi-core design imposes on software developers. As for where I got the information? It was an old Network World article I happened across last year in the bathroom. ;) Those things make great bathroom material when you work on networks for a living. Anyway, I can't find the original article to quote but if my memory serves me correctly Intel believes (and I do as well) that Itanium is the future.

Now this isn't to say that the current high end server CPUs are the future, as much as to say that a highly efficient and dynamic logic processor will replace current iterations of CISC or RISC class hardware. Basically the Itanium carried to its fullness is a architecture free logic circuit that allows a programmer can redefine its function on the fly. Such a processor wouldn't be x86, or ia64, or AMD64 it could in theory be whatever the OS and application developer wanted.

Now, all of this even given my experience with technology sure appears to approach the world of magic... however, I do know that Intel specifically, and one could assume AMD as well, is working to get back to a single core architecture for efficiency reasons. We as consumers however won't see this on the shelf for at least 10 years.

Seriously, the only other option is an OS that somehow magically creates multiple threads for an application...

All this said I'm squarely in the camp of annoyed that Sins doesn't use multi-threaded design more heavily because the darn game needs to run well on the hardware we have now. But, that annoyance really goes away when I see the game run flawlessly despite its inefficient use of the CPU. So at this point anyone with a dual core chip should simply be happy that they have one core for the game and another for windows to live on.

For those that have quad cores, I'm afraid I have to agree with some sentiment I've seen in this thread. But, I'll put it much more diplomatically. If you aren't doing CAD, Video editing, or 3D Graphic rendering, quad core will be a performance penalty to 90% of your use of the PC and you should save the money and get a dual core. Notice I said 3D Graphic rendering, Photoshop in all of its glory doesn't do a thing faster on quad core vs dual core. Now that quad would allow you to run more than one copy of Photoshop as long as you had the ram for it.