Page 1 of 1

Dual Core, Hyperthreading etc...

Posted: Sat Oct 28, 2006 4:28 pm
by trainlover123
One Question; will these be supported?

With AMD & Intel now producing Dual Core processors with 64 bit plus hyperthreading, it is inevitable that new programs are now using the technology, but, will Kuju take the same path and add support, or will it just end up in the same way as some older games; not utilising this widely-available technology. KRS is one of the reasons I am upgrading, but will there be a difference if I go Dual Core instead of getting a Uni-Core processor? It's quite a big price leap... :o

Paul...

Posted: Sat Oct 28, 2006 5:34 pm
by ForburyLion
Some of the latest releases actually don't support dual core, Battlefield 2142 for example. As I understand it the game only uses one core.

Posted: Sun Oct 29, 2006 2:56 pm
by timbooth
If you just play games then you are better going for the fastest single-core processor you can afford, since there are probably hardly any games that use multiple threads. Even games that do/will use multiple threads may not run all that much faster.

But if your pc is mainly used for running intensive applications, or you have background tasks that interfere with applications, then a dual core is the answer.

Pentium D's are best avoided, they are poor compared with Athlon X2's and require more power. Core 2 Duo's are very impressive though, and put X2's in the shade - and more energy efficient, so you save money long-term. Thats what I'll probably go for, and I've been using AMD for years.

Posted: Sun Oct 29, 2006 3:20 pm
by arabiandisco
I would expect that KRS is too far along the development journey to make use of truely cutting edge technology. For one thing, it has to work out of the box pretty well on an "average" modern computer. No point that I can see to go dual-core at present if you're using it for the interweb and games.

Posted: Sun Oct 29, 2006 7:47 pm
by nwallace
I presume from what your all saying is that there is a lot more to using both cored in a dual core processor than clever use of Multiple Threads?

Posted: Sun Oct 29, 2006 11:56 pm
by timbooth
A dual core process doesn't require anything special, or create compatibility problems with single-core systems. It just requires applications to use threads, which games have tended not to - as they don't really need to. Games tend not to have background tasks, but they could be written to parallel process - ie. a game engine could share the work over the two cores, by using two threads instead of one.

Its possible KRS is already using threads, or using components that do, so dual core systems will benefit without Kuju actually writing any code with dual cores in mind.

Posted: Mon Oct 30, 2006 3:51 pm
by PaulH2
An additional benefit is that other tasks (i.e. background stuff the Operating System is running) should run on one core and your main application (in this case KRS) on the other. This isn't gaurenteed, but Windows XP (and Vista) are pretty good at balancing the load this way.

This doesn't buy you a performance improvement in the game directly, but it does mean those other tasks aren't competing for CPU time with the game, so it can reduce stutters and may gain a few % improvement in frame rates.

Paul

Posted: Mon Oct 30, 2006 5:44 pm
by GenmaSaotome
A dual core process doesn't require anything special, or create compatibility problems with single-core systems. It just requires applications to use threads, which games have tended not to - as they don't really need to. Games tend not to have background tasks, but they could be written to parallel process - ie. a game engine could share the work over the two cores, by using two threads instead of one.
I've long held the opinion that rail sims were well suited to threading with everything about the GUI on one thread and and the calculation of train movement over the route (at least AI trains) on another. It seems to me that approach would be an essential starting place for evolution into multi-player over the internet.

Or am I mistaken on this? (that's a genuine question, not the start of a debate).

Posted: Mon Oct 30, 2006 7:47 pm
by nwallace
I had allways assumed that games would benift from the use of multi-threading because there are so many things going on at once such as GUI and Gameplay.

Posted: Mon Oct 30, 2006 9:25 pm
by timbooth
Multithreading makes no difference on a single-core system as things still happen one at a time, all the CPU does is switch through all the active threads in sequence - so it looks like its doing two or more things at once. Dual CPU systems have been around for years, but thats not really a home user technology - whereas dual core is, and cheap in comparison. Serious gamers will opt for dual core systems, and so game developers will have a big enough dual-core user base to develop for - and eventually single core systems will die-out as it doesn't really make sense to produce them anymore.

Posted: Tue Oct 31, 2006 8:51 am
by AristaM
I think the use of the PhysX engine will effectivly cause Rail Simulator to use at least two threads, because IIRC the PhysX engine has to run in its own thread (because it's supposed to run on seperate hardware). If you don't have a PhysX extension card, this thread should happily run on the second core of the main CPU. But I hope that Rail Simulator will be more parallelized than that, because sooner or later, we will all be using quad-core processors, and this development will probably continue (think 8 core, 16 core...). I can think of at least 4 threads which should be reasonably independent of each other: Graphics engine, physics engine, AI handling (ie. path finding etc.), and resource loading and handling.

By the way, I firmly believe that games would be ideal candidates for massive multi-threading, because in most games many things tend to happen in parallel. So one could use one thread for every character and every object that is able to move or interact with its surrounding somehow. For Rail Simulator, this would mean a seperate thread for each train, every signal, and any object which is able to do something more than just stand around in the scenery (maybe every scripted object, if that will be widely supported).

Posted: Tue Oct 31, 2006 12:42 pm
by timbooth
Ive just dug around and PhysX is multithreaded, so yes, with KRS there would be more than one thread running even if KRS was single-threaded - which is means its worth getting a dual core cpu, to free up KRS from all the physx processing. That alone should make a big difference, but would be nice if KRS was multithreaded at some level or other. Not sure there's a need to go overkill with threads in games, they all have to be managed so that may be counterproductive - but the core game engine could easily be multithreaded, and I think the cutting-edge game engines are already doing that.

Posted: Tue Oct 31, 2006 4:20 pm
by Riche
ForburyLion wrote:Battlefield 2142 for example. As I understand it the game only uses one core.
Battlefield 2142 uses the Battlefield 2 engine, so dual core usage is unlikely anyway.

Posted: Tue Oct 31, 2006 6:09 pm
by PaulH2
One comment on multithreading is that an application being multithreaded alone isn't enough for it to use multiple cores / CPUs as the default behaviour is for all threads belonging to a single application to run on the same processor. Making it run on separate processors is very easy to achieve, but does require the code to be written accordingly, which hopefully Kuju will have done, but it doesn't necessarily follow that just because it is multithreaded (which it almost certainly will be, simulation games do indeed lend themselves to that architecture) that it will use multiple cores if available.

Paul