高橋氏に続くセッションに登壇した、日本マイクロソフト デベロッパーエバンジェリズム統括本部 テクニカル エバンジェリストの鵜木健栄氏は「最高のゲーミング プラットフォームWindows 10! そのテクノロジーと開発手法」と題して、Windows 10に実装されているゲーム関連の新たな技術について、その特長と利用方法、それによって開発者とゲームユーザーが得られるメリットを紹介した。
技術的な面では、新たなグラフィックエンジン/APIである「DirectX 12」が、Windows 10の大きなトピックの一つだろう。
鵜木氏は、このセッションの中で、ゲーム開発者が知っておくべき「DirectX 12」のポイントとして特に「マルチスレッド処理の改善によるパフォーマンスの向上」「OSベースでのマルチグラフィックアダプター対応」を取り上げた。
DirectX 12では、近年普及が進んでいるマルチコアCPUへの最適化を進めている。コマンドリスト生成のタイミングを非同期にし、合わせて各CPUコアに対して可能な限り均等に負荷を与えることで、グラフィック表示に由来するCPU負荷を軽減しているという。同じスペックのマシンで動作させた場合であっても、DirectX 12に対応した描画を行うことで、パフォーマンスのさらなる向上が見込めるとする。
また、DirectX 12では、マシン内に混在する複数のグラフィックボードを全てOSから認識し、開発者が利用することが可能になっている。モバイルやエントリクラスのPCでは、チップセット内にGPUが内蔵されているものが多いが、よりパフォーマンスの高いグラフィック処理を行いたい場合は、別途グラフィックボードを搭載して、そちらのみを使うようにするというのが従来のやり方だった。DirectX 12では、内蔵GPUと別付けのグラフィックアダプターの両方を認識し、同時にグラフィック処理に利用できる。この機能を利用した開発を行うことで、ユーザー側にあるリソースをより無駄なく利用し、グラフィックパフォーマンスを向上できるという。
その他、DirectX 12には、DrawCall時のステートチェンジによるオーバーヘッドを低減する「Pipeline State Object(PSO)」や、従来のDrawIndirectやDispatchIndirectに代わってMultiDrawコールを行う「Execute Indirect」、静的な描画命令を小さな単位でまとめて呼び出すことで実行コストの低減を図る「Bundle」などの新たなAPI、機能が追加されているという。
鵜木氏は、これらDirectX 12の新機能を十分に活用した開発を行うことで、よりグラフィックパフォーマンスに優れたゲームの開発が可能になるとし、より詳細な情報を知りたい開発者向けのリソースを紹介した。
鵜木氏は、DirectX 12の機能と併せて、マイクロソフトの統合開発環境である「Visual Studio」が持つ、特にゲーム開発関連に役立つ機能のいくつかを紹介した。
Visual Studioには、Windowsゲーム開発向けのテンプレートが用意されている他、診断ツールである「Visual Studio Diagnostics Tools」は、ゲームのデバッグやチューニングにおいて非常に有効だという。
Visual Studio Diagnostics Toolsでは、実際にプログラムを動作させながら、CPU、メモリ、グラフィック関連の状況を取得してビジュアライズできる。プログラム上で発生している全てのイベントを取得できる、実行時のオブジェクトテーブルや、そのタイミングでどんな描画が行われているかの状況を見ながら、問題の発生箇所や、パフォーマンス上のボトルネックを視覚的に把握できる点がポイントとなる。
「Visual Studioは、ゲーム開発の際に特に重要になる、ビジュアル関連のデバッガーが充実している。簡単なテクスチャエディターやモデルエディターなども付属しているため、簡単な修正であれば専用のツールに戻すことなく、Visual Studio上で行うことも可能だ。これらの機能をゲーム開発者も活用して、開発の生産性を高めていってほしい」(鵜木氏)
Copyright © ITmedia, Inc. All Rights Reserved.