4,580 Posts served
11,094 Conversations started
- Academic

- Android

- Art, Music, & Animation

- Embedded Computing

- Events

- Game Development

- Graphics & Media

- Intel SW Partner Program

- Intel® AppUp Developer Program

- Manageability & Security

- Mobility

- Open Source

- Parallel Programming

- Performance and Optimization

- Power Efficiency

- Server

- Site News & Announcements

- Software Tools

- Ultrabook

- Association for Computing Machinery TechNews (ACM)
- Go Parallel! (Dr. Dobbs)
- HPCwire (Tabor Communications, Inc.)
- insideHPC (John West)
- Joe Duffy's Weblog (Microsoft)
- Microsoft Parallel Programming Development Center (Microsoft Germany)
- MultiCoreInfo.com
- scalability.org (Scalable Informatics)
- Software Dev Blog (Intel Germany)
- Soft Talk Blog (Intel United Kingdom)
- The Moth (Microsoft)
GCDC'08: get the best out of your gaming titles
By Michael J Huelskoetter (90 posts) on August 12, 2008 at 4:19 am
When you think of game development there's one major issue that concerns many developers: single-threaded code which doesn't scale on a multi-core platform.
In order to get the best performance out of a single-threaded 3D application it has to be multi-threaded and there are lots of examples how this could be achieved:
Supreme Commander by Gas Powered Games is a perfect example that shows how to turn single-threaded code into a multi-threaded application. First all threads were decoupled - where it was possible - in order to compute rendering and simulation processes in parallel. In order to achieve this Sim Thread Interface was used. Second a new memory manager was implemented into Supreme Commander. This helped to allocate free memory faster and more efficiently. The good thing about those necessary changes: you can do this even in the middle of a running project. But at best multi-threaded applications are developed from scratch.
Another huge challenge in game development are cross-platform applications. Instead of writing the same code several times for different platforms like PC, Xbox and Wii it’s better to do this once – and then integrate the specific needs of each platform. This way of common primitives, used by all the targeted platforms, are taken care of. The magic word behind this is Stream Processing. To put it simple: many streams will be chunked and can be computed by each kernel. And who is helping to achieve this? Right, Emergent, who is providing cross-platform middleware solutions. With their development engine Gamebryo the company helped many gaming titles like Empire Earth II and Civilization IV to be developed successfully for multi-platforms.
But there is another challenge many game developers are confronted with: how can I add more features scaling with the number of available cores. Especially when the threading optimization has been done already and frame rates are maxed out for 2-core-systems. You can for example add more realistic weather effects by using each core. This is achieved by asynchronous updates and synchronous rendering. One of the good examples where this could be implemented successfully is Hellgate: London by Flagship Studios, where more visual features are available depending on the numbers of processor cores.
Categories: Events, Game Development, Graphics & Media, Manageability & Security, Parallel Programming
Tags: gcdc
For more complete information about compiler optimizations, see our Optimization Notice.
Comments (1)
Trackbacks (3)
- Intel Software Network Blogs » GCDC’08: turn your game into a real mobile app
August 14, 2008 4:07 AM PDT - Intel Software Network Blogs » GCDC’08: interview with Chris Taylor about Demigod & more
August 20, 2008 5:59 AM PDT - Intel Software Network Blogs » GCDC’08: good-bye and see ya at GCDC 2009!
August 21, 2008 2:21 AM PDT


Gordon