Sponsored By

Feature: 'Threading 3D Game Engine Basics'

One of today's main technical features, written by senior engineers at Intel, deals with the emergence of dual-core processors and the expectation that multi-core process...

Simon Carless, Blogger

November 17, 2005

1 Min Read
Game Developer logo in a gray background | Game Developer

One of today's main technical features, written by senior engineers at Intel, deals with the emergence of dual-core processors and the expectation that multi-core processors will eventually become the norm, this article, presenting some of the pitfalls to threading games, along with possible solutions. As the introduction to the piece explains: "The inherent complexity of game engines makes them more difficult to thread than other applications. Various subsystems [e.g., artificial intelligence (AI), physics, character animation, collision detection, rendering, audio, etc.] manage aspects of the game engine. As a player moves through the virtual world of the game, a video forms. However, there is no predefined sequence of events. The actions of the player are effectively random from the game's perspective. The game is a real-time, event-driven process. This creates a problem for threading – the frame sequence is inherently sequential. In other words, each frame depends on the preceding frame. Therefore, multiple frames cannot be computed independently and in parallel to boost frame rates and improve performance. Techniques to predict more than a frame in advance would introduce latency and negatively impact the player experience. Since it is impossible to exploit inter-frame parallelism, one must look within a frame for potential threading targets. Simultaneously computing the AI, character animation, collision detection, etc. would be ideal. However, most of today's engines were designed without considering parallel computation. As a result, dependencies exist among the subsystems that limit the effectiveness of threading." You can now read the full Gamasutra feature on the subject, including more information on possible pitfalls and ways to overcome them (no registration required, please feel free to link to the article from external websites).

Read more about:

2005

About the Author

Simon Carless

Blogger

Simon Carless is the founder of the GameDiscoverCo agency and creator of the popular GameDiscoverCo game discoverability newsletter. He consults with a number of PC/console publishers and developers, and was previously most known for his role helping to shape the Independent Games Festival and Game Developers Conference for many years.

He is also an investor and advisor to UK indie game publisher No More Robots (Descenders, Hypnospace Outlaw), a previous publisher and editor-in-chief at both Gamasutra and Game Developer magazine, and sits on the board of the Video Game History Foundation.

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like