Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

What are the best resources on multi-threaded game or game engine design and development? As this is obviously where computers are headed, I intend to study this topic and I'd like to know what resources and examples are out there.

share|improve this question
add comment

6 Answers 6

A brief overview of Multi-threaded engine approaches. Gamasutra to the rescue.

share|improve this answer
add comment

The Don't Dread Threads series by Intel, is quite good. It has 3 parts, the basics are covered in the first 1.5 of them.

Summary of what was covered in first 1.5:

Avoid Functional Decomposition

enter image description here

First of all, they discourage using Functional Decomposition. Functional decomposition is just "put the AI on one thread, put the audio on another thread, put the graphics on the 3rd thread"

So that kind of looks like this

enter image description here

So that's bad™. Instead you want to use Data Decomposition.

Use Data Decomposition

Data decomposition means you cut up every thing in your game into small achievable tasks. You spawn x threads, say 4, and then for each of those 4 threads they continually grab a task from the task pile and work on it until they're done.

enter image description here

It's kind of like a bunch of people eating a pizza. Everyone takes a slice until the pizza's done.

enter image description here

Of course, now I'm hungry.

share|improve this answer
add comment

Here's a blog post that provides a practical example in task management. It assumes some knowledge about parallel engine design on your part but you might still find it useful as 'advanced reading'.

share|improve this answer
add comment

I think you should look into a task- or job-basedd approach.

Game Engine Gems has 2 or 3 articles on the subject.

There have been a couple of presentations on the subject at different conference etc.

For example "Parallel Futures of a Game Engine" by Johan Andersson

Also take a look at the GDC Vault there are a number of presentations and full videos on the subject in the free section. http://www.gdcvault.com/

ps. Couldn't post any more direct links due to being a new user. ds.

share|improve this answer
add comment

The book Game Engine Architecture does also have some informations on how to design a game engine with multi threading support.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.