I bought this book expecting it to tell me how to effectively incorporate Multi-threading into a game engine, which is likely what anyone would think. I was very much mistaken by deciding to purchase this book. The title leads you to think it would have been a great resource for this fashion, but alas its not.
The book starts off by telling you what its not, which mostly includes, "Not a good resource for advanced engine techniques, or building an efficient engine". Not exactly the strongest start, but proceeding on it has a very bright outlook when it discusses the first few chapters on multi threading. Unfortunately, it mearly tells you that there are a few options for multi threading (Windows Threads, Boost::Threads, OpenMP, POSIX), and gives a few lines of code (perhaps 3-5 lines of code specific to each Threading API). No explanation of even what the different arguments really pertain to for any of the function calls. It mentions mutex's only briefly, and says its out of the scope of this book. [Which I found to be rather odd, as mutex's are an EXTREMELY important aspect of Multi threading]. It then proceeds to spend the next 430 pages (out of 564 text pages) discussing how to implement DirectX and a few misc features of an engine. The kicker is, there is basically no explanation of why certain functions or classes are being used. Many many many pages, probably almost 1/2 are nothing but source code cut and pastes. Considering the cost of the book, at best highlights could have been included instead of pumping the page count up by using over-sized font sizes on cut and pasted code blocks. Additionally there are numbers of spots in the book where large sections of text are taken up by a single picture or two. The most glaring example is the section on Matrices, when an entire page was dedicated to two, 4x4 matrix pictures.
the only section which references "Multi-threading agme engine design" is the last chapter. In which the only API used is OpenMP. And surprise again, its large sections of code pasted with a single line or two of OpenMP #pragmas.
What this book is good for:
Now I have to be fair and provide some positives from this book. If you're looking for a 1000ft view of game engine creation, this is probably a good book. It touches on all the fairly interesting sections, short of networking and sound. It gives some examples of how to implement .X mesh loading, and entity management. It provides a very quick primer on the multi-threading API's available.
Unfortunately, my take on the book, was that it is a fairly poorly written book lacking Actual information. The font is rather large for a "text book" style Programming Text, uses over sized pictures, code blocks, and numerous 'bullet points' to expand the page count. So as such, I can't suggest anything more than two stars.
Reader Beware.