In this sponsored feature, Brad Werth, a senior software engineer in Intel's Entertainment Technical Marketing Engineering group, shares techniques and code samples for optimizing game architectures with small amounts of coding effort using Intel Threading Blocks (TBB).
Written as part of Intel's Visual Computing microsite on Gamasutra, Werth argues that video games are some of the most performance-demanding applications around, noting that while scientists or animators can usually wait for a computation to finish, game players cannot. Thus, game developers have the challenging task of squeezing as much performance as possible out of today's hardware:
"This quest for performance has typically focused on graphics tricks and optimizing low-level instructions. The increasing popularity of multi-core CPUs in the consumer market has created an opportunity to make large performance gains by optimizing for multi-threaded execution. Intel has created a library called the Intel Threading Building Blocks (Intel TBB) to help achieve this goal.
This article demonstrates multiple paths to success for game architectures that optimize with Intel TBB. The techniques described are oriented primarily toward optimizing game architectures that already have some threading, showing how Intel TBB can enhance the performance of these architectures with relatively small amounts of coding effort.
Even for a serial architecture, these techniques demonstrate straightforward ways of introducing performance threading."
The senior software engineer divides his article and code samples into three different sections, ordered by increasing coding commitment:
"The first section shows techniques in which Intel TBB provides optimization opportunities with minor coding effort and no algorithmic changes.
The second section details how Intel TBB's efficient implementation of loop parallelism can provide performance enhancements throughout a game architecture.
The final section demonstrates techniques for using Intel TBB as the basis for the threading in a game architecture and shows how to implement common threading paradigms using Intel TBB.
Applying these techniques will ensure that a game architecture is maximizing performance on the computers in the market now and will automatically take advantage of future advances in hardware."
You can read the full sponsored feature, which goes into detail on techniques one can use with Intel TBB to optimize their game architecture, complete with code samples (no registration required, please feel free to link to this feature from other websites).