Chuck Desylva氏(Games and Graphics Optimization Engineer, Intel)は,グラフィックス市場全体では圧倒的なシェアを保つIntel内蔵グラフィックスへ,ゲームを最適化してくれるように要請した
![画像ギャラリー No.001のサムネイル画像 / [GDC 2010]Larrabee計画の延期が影を落とす,Intelの“グラフィックス最適化”セッション](/games/107/G010710/20100317030/TN/001.jpg) |
Intelは,Game Developers Conference 2010で,
「Tuning Your Game for Next Generation Intel Graphics」(次世代のIntel製グラフィックス機能に向けてゲームをチューンする)という題のセッションを開催した。市場投入が延期になったGPU,
「Larrabee」(ララビー,開発コードネーム)について,とまではいかないものの,次世代CPUアーキテクチャ
「Sandy Bridge」(サンディブリッジ,同)に関する話が聞けるかと期待が集まった。
しかし蓋を開けてみれば,その内容は
「デュアルコアCore i7・i5・i3プロセッサに搭載された『Intel HD Graphics』と,同グラフィックス機能に向けた最適化の話題のみ」という,お寒い内容。ただでさえ閑散としたセッション会場を,早々に立ち去る参加者も目立ち,聴講者は筆者を含めて数える程度だった。
では,そんなセッションでは何が語られたのか。今回はあえて,あまり人気のなかったセッションの内容をレポ−トしてみたい。
デベロッパのサポートに積極的な姿勢を見せるIntel
さて,IntelでチップセットやCPUに統合されたグラフィックス機能の開発に携わるChuck Desylva氏は,クライアントPC市場(=一般PCユーザー向け市場)において,IntelのチップセットやCPU統合型グラフィックス機能こそが圧倒的なシェアを獲得している存在であり,今後もこのトレンドは加速する傾向にあるとした。要するに,「ユーザーのメリットを考えるなら,ゲームデベロッパは,Intelのグラフィックスこそ一番に最適化すべき」というわけである。
![画像ギャラリー No.002のサムネイル画像 / [GDC 2010]Larrabee計画の延期が影を落とす,Intelの“グラフィックス最適化”セッション](/games/107/G010710/20100317030/TN/002.jpg) PCグラフィックスのマーケットトレンド。Intelの内蔵グラフィックスが圧倒的なシェアを誇っているのが分かる |
![画像ギャラリー No.003のサムネイル画像 / [GDC 2010]Larrabee計画の延期が影を落とす,Intelの“グラフィックス最適化”セッション](/games/107/G010710/20100317030/TN/003.jpg) Core i5などに採用された2010 HD Graphicsの概要。省電力性能とパフォーマンスを向上させている |
その根拠となっているのが,
「Clarkdale」(クラークデール)もしくは
「Arrandale」(アランデール)の開発コードネームで知られてきた,デュアルコアCore i7・i5・i3プロセッサで統合されるIntel HD Graphicsの性能向上だ。「Intel G45 Expres」チップセットに統合されるグラフィックス機能「Intel GMA X4500 HD」比で,セットアップエンジン部では,頂点処理性能が2倍以上になり,階層型Z(Hierarchical-Z)にも対応。汎用シェーダユニットとして機能する「Execution Unit」(実行ユニット,EU)は,4基3列の12基構成となり(※従来は3基3列),コアクロックの向上もあって,処理性能は1.5倍になったという。
さらに,レンダーキャッシュとテクスチャキャッシュの搭載により,スループット能力も向上していると,Desylva氏は付け加える。
![画像ギャラリー No.014のサムネイル画像 / [GDC 2010]Larrabee計画の延期が影を落とす,Intelの“グラフィックス最適化”セッション](/games/107/G010710/20100317030/TN/014.jpg) 2010 HD Graphicsにおけるパフォーマンスの向上。おおむね1.5〜2倍のパフォーマンスアップを実現している |
ただし,
「アーキテクチャ的にはDirectX 9世代を引きずっている」とし,最新ゲームタイトルでは,ハードウェア設計が原因で,パフォーマンスが向上しない可能性も,氏は認める。「そこで,Intelが提供する『Graphics Performance Analyzers』(以下,GPA)を利用して,ゲームプログラムをIntel HD Graphicsに最適化してほしい」(Desylva氏)とする。
Intelは,GPAで,ゲームやグラフィックス市場へのサポートに積極的な姿勢を見せ始めており,最新版のGPA 3.0では,フレーム単位,タイムライン単位でCPUとGPUの動きをモニタリングできるようになったとのこと。また,DirectX 11への対応も計画されているという。
先の
レポートでお伝えした「NVIDIA Parallel Nsight」のようなデバッグ機能はないものの,CPUとGPUの処理状況をシームレスにリアルタイムモニタリングできるというのは,開発者にとって朗報だろう。
(左)「Star Trek Online」における最適化事例。不明なスレッド(Unknown Thread)が21.6%も占めており,パフォーマンス低下の原因になっていると考えられた。(右)そこで,動作をGPAでモニタリング。CPUの停滞時間が13.1%もあることが分かった
![画像ギャラリー No.004のサムネイル画像 / [GDC 2010]Larrabee計画の延期が影を落とす,Intelの“グラフィックス最適化”セッション](/games/107/G010710/20100317030/TN/004.jpg) |
![画像ギャラリー No.005のサムネイル画像 / [GDC 2010]Larrabee計画の延期が影を落とす,Intelの“グラフィックス最適化”セッション](/games/107/G010710/20100317030/TN/005.jpg) |
Uber Shaderを使ったデフォルト状態では14fps程度しか出なかったが,Uber Shader処理をOFFにしたところ34fpsを実現。スムースにゲームが楽しめるようになった
![画像ギャラリー No.006のサムネイル画像 / [GDC 2010]Larrabee計画の延期が影を落とす,Intelの“グラフィックス最適化”セッション](/games/107/G010710/20100317030/TN/006.jpg) |
その一例として同氏が挙げたのが,
「Star Trek Online」における最適化事例だ。
以前,Star Trek Onlineでは,ピクセルシェーダの占有時間が長くなり,Intel製のグラフィックス機能でパフォーマンスが低下する問題があった。同タイトルが「Uber Shader」手法を用い,一つのマテリアルに対して一つのシェーダを割り当てていたため,「ピクセルシェーダの処理を待つ間,CPUが停滞することがある」というIntel HD Graphicsとバッティングし,問題が発生していたのだという。
そこで,GPAによる解析を基に,Uber Shaderの利用を止めることで,倍のフレームレートを実現できるようになったとのことだ。
「Ghostbusters: The Video Game」における最適化事例。壁の裏の,ぎっしり本がつまった棚のZ処理の計算などで,パフォーマンスが大幅に低下していた
![画像ギャラリー No.007のサムネイル画像 / [GDC 2010]Larrabee計画の延期が影を落とす,Intelの“グラフィックス最適化”セッション](/games/107/G010710/20100317030/TN/007.jpg) |
![画像ギャラリー No.008のサムネイル画像 / [GDC 2010]Larrabee計画の延期が影を落とす,Intelの“グラフィックス最適化”セッション](/games/107/G010710/20100317030/TN/008.jpg) |
もう一つ,
「Ghostbusters: The Video Game」のパフォーマンス低下事例も話題になった。同タイトルでは,暗闇を進むシーンで,著しくフレームレートが低下する場面があったという。それをGPAで解析したところ,壁の裏側に,本がぎっしり詰まった本棚があり,その隠面処理などの工程に問題があると分かった。そこで,同タイトルにおいてもGPAでフレーム単位でどのような処理をしているかを解析し,パフォーマンスの最適化を図ったそうだ。
Intelが唱えるIntel HDグラフィックスに対する最適化ガイドライン
![画像ギャラリー No.009のサムネイル画像 / [GDC 2010]Larrabee計画の延期が影を落とす,Intelの“グラフィックス最適化”セッション](/games/107/G010710/20100317030/TN/009.jpg) |
Desylva氏は,Intel HD Graphicsに向けた最適化のガイドラインとして,「CPUを含む演算ユニットを常に効率よく稼働させ,決してパイプラインを停滞させないように」と説明。また,レンダリングする必要のない状況下で,過剰な演算処理をさせないようにしてほしいと要望を出した。
実際のところ,最新の3Dゲームタイトルでは,高性能なグラフィックスカードを用いて開発が進められることが多い。そして,そんな環境では,こういった配慮をせずとも,そこそこのパフォーマンスが得られてしまう。
だが,PC市場で最もシェアの高いIntel製のグラフィックス機能では,そういった力任せが通用しない。だからこそ,ゲーム市場において,Intel製グラフィックス機能が成功するか否かは,こういった最適化にかかっているのだが,冒頭で述べたとおり,本セッションへの参加者は,筆者を含めてごくわずかだったわけである。
(左)GPAは,GPUとCPUの動作をリアルタイムでモニタリングできるほか,各フレームごとの負荷や処理内容も監視できる。(右)CPU処理が滞らないようプログラミングすることが,フレームレートを落とさないコツだと説明
![画像ギャラリー No.010のサムネイル画像 / [GDC 2010]Larrabee計画の延期が影を落とす,Intelの“グラフィックス最適化”セッション](/games/107/G010710/20100317030/TN/010.jpg) |
![画像ギャラリー No.011のサムネイル画像 / [GDC 2010]Larrabee計画の延期が影を落とす,Intelの“グラフィックス最適化”セッション](/games/107/G010710/20100317030/TN/011.jpg) |
(左)レンダリングする必要がないオブジェクトに,演算処理能力を極力使わないように,という説明。(右)マルチレンダーターゲット(MRT)を最小限にする,あるいは大きなテクスチャは極力使わない,などの工夫を呼びかけている
![画像ギャラリー No.012のサムネイル画像 / [GDC 2010]Larrabee計画の延期が影を落とす,Intelの“グラフィックス最適化”セッション](/games/107/G010710/20100317030/TN/012.jpg) |
![画像ギャラリー No.013のサムネイル画像 / [GDC 2010]Larrabee計画の延期が影を落とす,Intelの“グラフィックス最適化”セッション](/games/107/G010710/20100317030/TN/013.jpg) |
Larrabee計画の遅れが影を落とすセッション
……ところで,気になる“次世代のIntel製グラフィックス機能”についてだが,セッションでは
「現行のIntel HD Graphicsをベースに,CPUと一つの半導体にまとめられる」ということしか明らかにされなかった。
ただ,本セッションをセッションタイトルどおりに受け取るのであれば,Sandy Bridge世代も,ゲームデベロッパは,AMDやNVIDIAのGPUを搭載するグラフィックスカードを差した環境では不要の最適化を心がけなければならないことになる。ここにも,Larrabee計画の延期が大きく影を落としていると感じるのは,筆者だけではないだろう。