Threads & Gaming

Tim gave us some extremely interesting information. Yes, the extra computing power of multi-cores is welcome in the gaming industry. Better game physics, animation and intensive and accurate sound effects are made possible with more than one core.

[3] Galactic Civilizations is another example of how game developers can make good use of multithreading. This galactic domination game, which has a lot of emphasis on diplomacy, research and empire management, needs an AI with the most complex decisions. By multithreading this engine, it is possible that the game engine is thinking while the player is playing instead of working turn-based. In the next years, we may expect much better AI. But the price (game) developers have to pay is high: a multithreaded game engine triples or at least doubles the development effort, as Tim told us.

The tools, which Intel advertises in almost any multi-core presentation, are next to useless for the problems that the developers face, as Tim explained. Auto parallelisation is a nice trick to increase the spec FP score, but it is next to useless for a real world application. The good news for Intel, AMD and others is that the CPU will play a much more important role again. Physics, Artificial Intelligence and animation can be improved significantly by being parallelised and using the extra capabilities in dual core CPUs. But there are limits to Thread Level Parallelism. While increased ILP (Instruction Level Parallelism, IPC) might require exponentional increasing efforts of the manufacturer, using more and more threads, or increased TLP (Thread Level Parallelism), requires exponentional efforts from the developers. Tim clearly emphasizes that only parts of the application can be economically parallelized. Increasing parallelisation, using more threads, is simply not feasible. There is a pretty hard economic limit to TLP.

Tim Sweeney resumes:
"You can expect games to take advantage of multi-core pretty thoroughly in late 2006 as games and engines also targeting next-generation consoles start making their way onto the PC.

Writing multithreaded software is very hard; it's about as unnatural to support multithreading in C++ as it was to write object-oriented software in assembly language. The whole industry is starting to do it now, but it's pretty clear that a new programming model is needed if we're going to scale to ever more parallel architectures. I have been doing a lot of R&D along these lines, but it's going slowly."

Unreal 3 Conclusion
POST A COMMENT

49 Comments

View All Comments

  • at80eighty - Monday, March 14, 2005 - link

    lame jokes aside... i agree... thats is some serious graphics... im gonna bust a nut or two to have a machine running a game like that at full steam : ( Reply
  • at80eighty - Monday, March 14, 2005 - link

    ksherman

    DEFINE 'sexy' ?

    : )
    Reply
  • knitecrow - Monday, March 14, 2005 - link

    dual-cored GPUs are stupid

    given the parallel nature of graphics, it makes more sense to just add another pipeline at very little design cost.
    Reply
  • xsilver - Monday, March 14, 2005 - link

    isnt dual cores also coming to GPU's --- would it be any easier to code for this? eg. one GPU can be assaigned textures and the other GPU the lighting?

    multi cpu will be definitley hard to code for
    Reply
  • tygrus - Monday, March 14, 2005 - link

    The 124% is misleading but can be explained as valid.
    Intel said 124% more frames per second for a single task from a group of three; not 124% faster for all three tasks. Having the two video encoding running on a separate CPU most of the time could allow the game to have 3x the CPU time while the two video encoding threads get slightly more time. These advantages still have to be reduced because of CPU speed reduction, Mem, disk IO and other bottlenecks. If the required CPU cycles for video encoding, games sound, IO control is almost the same then almost 100% of the extra CPU cycles can be devoted to speeding up the game. I'm sure Intel have the OS and software benchmark to prove it.
    Reply
  • knitecrow - Monday, March 14, 2005 - link

    In summary, dual core products for the consumer market is hype.

    One thing I know, is that developers want to minimize development costs. Given the immense complexity involved, I expect dual cores taking a VERY VERY long time to catch on... even then it'll be a half assed job.


    Reply
  • wien - Monday, March 14, 2005 - link

    Ah yes.. Great times for us programmers. I can't want to start debugging those highly multithreaded applications.

    Thanks a lot Intel and AMD!
    Reply
  • ksherman - Monday, March 14, 2005 - link

    That Unreal Engine is sexy, no? Reply
  • Jynx980 - Monday, March 14, 2005 - link

    This will surely drive up the cost of games, not to mention that you would need a new cpu(s) to take full advantage. Its going to be a tough market to push. Reply

Log in

Don't have an account? Sign up now