この記事は、インテル® ソフトウェア・ネットワークに掲載されている「Game Engine Tasking – Animation」(http://software.intel.com/en-us/articles/vcsource-samples-game-engine-tasking-animation/) の日本語参考訳です。
機能/説明
6 コア、12 ハードウェア・スレッドのゲーム用デスクトップが市場に登場してからかなり経ち、今ではラップトップでさえも 4 コア CPU が一般的になりつつあります。特定のプラットフォームに依存せずその機能を最大限活用できるように、ここではコア数に依存しないゲーム・エンジン・コードの記述方法を紹介します。 タスク処理 (http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/) を実装することで、コア数の増加に伴いプログラムはスケーリングし、ハードウェアの機能を最大限活用してゲームを楽しめます。
サンプルプログラムを例に、シングルスレッドのアニメーション・システムを、タスク処理を使用するアニメーション・システムに変換してみましょう。このアプリーケーションはタスク処理に小さな API を使用しており、その内部では インテル® スレッディング・ビルディング・ブロック (インテル® TBB) を使用していますが、これは任意のスレッド化モデルに置換することができます。
動作環境
ハードウェア:
- CPU: デュアルコア以上 (インテル® Core™ i5 以上を推奨)
- GFX: Microsoft* DirectX* 9c 対応グラフィックス・カード
- OS: Microsoft* Windows Vista* (x64 Edition) または Microsoft* Windows* 7 (x64 Edition)
- RAM: 2GB 以上
ソフトウェア:
サポートされているツールキット:
- Microsoft* DirectX* SDK (June 2010 以降)
- Microsoft* Windows* SDK May 2010
サポートされているコンパイラー:
- Microsoft* Visual Studio* 2008 SP1、Microsoft* Visual Studio* 2010、または インテル® C++ コンパイラー 11
必要なライブラリー:
- インテル® スレッディング・ビルディング・ブロック
- Microsoft* C ランタイム・ライブラリー (CRT) 2008/2010
プロジェクトのダウンロード
http://software.intel.com/file/34553
このプロジェクトの詳しい説明は、関連記事「タスク処理によるゲーム・エンジン・システムのスケーリング」にあります。