By Eric Preisz, Ben Garney
Published March 2010 List Price:$39.99, Your Amazon.com Price: $26.48
Amazon.com Sales Rank:1,626,615 Availability: Usually ships in 24 hours
Summary: Video Game Optimization describes a process for increasing the performance of a video game for better gameplay and visual experience. Very few game developers understand the process of optimizing an entire video game, yet learning the process is surprisingly simple and applicable to a broad audience. The book tackles the process of optimization by first describing how to determine where a game is limited and then providing detailed solutions and examples to solving this limitation. All the examples covered in the book can be applied to a variety of game types and coverage of how to optimize system memory, CPU processing, graphics, and shaders is included.
GDNet Staff Review:
With the possible exception of debugging, optimization is probably one of the most mysterious "dark arts"in development. And, unlike debugging, you are not always 100% certain it needs to be done or it has an effect. If you are popping up the debugger, it is always for a reason ''' you have a bug that is not going to fix itself, and you had better find it. With optimization, it is not only a matter of finding bottlenecks, but it is also a matter of determining if the problem even can be solved. Sometimes things are just slow and you are going to have to deal with it.
Video Game Optimization is a book-length tutorial on not only how to optimize, but also how to identify when you need optimization. In addition to optimizing and identifying optimizations, there is the third issue of knowing if an optimization will even have an effect, but that is often an issue that even lots of experience cannot address.
The difference between the techniques discussed in Video Game Optimization compared to a standard algorithms/data structures handbook is that Video Game Optimization follows the most current techniques and software at the time of its publishing. And that is important because while a college handbook might have a good discussion of loop unrolling or garbage collection, it probably will not do it in the context of vTune, SSE prefetching, or any other platform-specific tools and techniques. The book is written by a couple of GarageGames veterans, so they definitely know from whence they speak when it comes to optimizations.
The book takes a turn about 90%of the way through, spending a couple of quick chapters on VM's (specifically.NET and Flash) and GPGPU (farming out computational tasks to the GPU). While the book's chapters on parallelization will give you a leg up on GPGPU development, the chapter on how to improve performance in VM-based languages really could have had a book of its own. After all, if you are a C# programmer, information on CPU-specific prefetching is of less use to you than information on how not to cause the garbage collector to invoke itself in the middle of a particularly intense part of your game.
If you are doing a particularly compute-intensive game in C, owning a copy of Video Game Optimization really isn't a matter of "if" but"when". This is doubly true if your game uses 3D graphics. The book shows off the latest tools for doing the job of identifying the choke-points in your game's various pipelines and (hopefully) solving them.