WinHEC 2005が終わり、帰国後のゴールデンウィーク期間中、自宅に届いていた新しいMac OS Xの機能をあれこれと試していた。Mac OS Xのアーキテクチャは、とりわけグラフィックスの部分でLonghornと共通する部分が多い。開発ツールで遊んでいると、特にそうした思いが強くなってくる。 コンポジットグラフィック(ベクタ、ビットマップ、3D、テキストなどを混在して扱うグラフィック)を表現するためのデータ構造やメソッドなどに、もちろん数多くの違いはあるが、根本的な考え方は非常によく似ている。 と、そうしているうちに、Macユーザー向け雑誌の関係者から「Mac OS X 10.4にはGPUで2D描画を行なう機能が隠し機能として実装されている」との情報をもらった。Mac OS Xのウィンドウ表示システムは、3Dグラフィックの機能を用いて高速表示しているが、クライアント領域(簡単に言えばウィンドウの中身)の描画はCPUで行なっている。 もし本当にGPUでクライアント領域を描く機能があるなら、Longhornとのグラフィック面での類似性はさらに高まる。類似性が高まるのは、技術トレンドの必然かもしれない。ただGPUでの処理が一般的なアプリケーションでも増えてくるとすれば、モバイルPCにおけるGPUの役割も、これまでと変化してくるのかもしれない。 ●GPUがあらゆる要素を作り出すLonghornの画面 Microsoftは以前のカンファレンスで、LonghornのネイティブAPIを用いた描画がDirectX 9以上に対応するGPUで行なわれると発言していた。当時はPixel Shader 2.0が必須となっていたが、かなり時間が経過しているため、最終的には異なる仕様になるかもしれない。いずれにしろ画面表示に関わるワークロードがCPUからGPUへと移し替えられる事は間違いない。 従来のGDIを用いて描画するソフトウェアも、初期の段階ではCPUでテクスチャイメージを作成してLonghornのウィンドウマネージャに引き渡す方式がとられるが、将来的にはGPU上のシェーダーでエミュレートすることを視野に入れている。フルにLonghornの機能に対応したGPUでは、グラフィック描画のほとんどの負荷はGPU上のピクセル処理専用ユニットが担当することになる。 2D描画などたいした処理じゃないという声もあるだろうが、Longhornではピクセル密度のスケーラビリティが上がり、200ppi以上の内部処理解像度でも正しく処理できるようになるため、これまで以上に高解像度の液晶パネルを採用する製品が増えるだろう。 Avalonの豊富なメソッドで簡単なプログラムで流麗なグラフィックを実現できるようになれば、それをユーザーインターフェイスに用いたアプリケーションが増えてくる事も考えられる。そうした“ユーザー向けプレゼンテーション”の部分が進化してくれば、グラフィック処理は必然的に重くなる方向に動く。 さらにはLonghornでは動画のレンダリングもGPUで行なえるようになる。すでに動画をピクセル単位でミキシングやフィルタをかけながら表示するVMRという仕組みがWindows XPでも提供されているが、これらもGPUのシェーディングエンジンが担当するようになり、さらにはCODECのワークロードもGPU側に移す方向でトレンドは動いている。 以前、NVIDIA CEO兼社長のジェンスン・フアン氏は「今後はCPUではなくGPUの進化がPCアプリケーションの進化を促す」と話していた事がある。CPUを高速化するよりも、GPUを強化する方が、ずっとユーザー体験を向上させる要素になるとの趣旨だった。実際にGPUがCPUよりも重要なチップになるかどうかはともかく、GPUが受け持つ役割が増加する方向そのものはトレンドとして正しかったとは言えるだろう。 ノートPC、それもとりわけ3Dゲームのパフォーマンスが重視されないモバイルノートPCにとって、ディスクリートのGPUは諸刃の剣だ。必要な人にとっては重要な性能だが、3Dグラフィックスを必要としていないユーザーにとっては、熱く消費電力の大きな余分な石が載っているだけに過ぎない、バッテリ持続時間を短くする邪魔者と思う人もいるだろう。 しかし、GPUが日常的に使うアプリケーションのグラフィック処理におけるCPUのワークロードを確実に減らしてくれるならば、進化の方向によっては邪魔な存在ではなくなり、3D性能を欲するユーザー、欲しないユーザーの両者にとって有益なものとなるかもしれない。 ●よりシンプルな方が有利 本当にGPUが電力を消費するだけの邪魔者ではなくなるのか? CPUのワークロードを減らすという部分に関しては、Mac OS X 10.4での実装がある程度、参考になるだろう。Mac OS X 10.4の開発パッケージには新機能であるCore Imageの機能をテストする簡単なツールが付属している。
このツールはビットマップに対してさまざまなCore Imageが提供する機能を実行させるもので、いくつもの画像処理を重ね合わせた上で、プロパティを自由に変更できる。結果はその場ですぐに反映されるが、スライダーでプロパティを激しく変化させてもCPUのワークロードはほとんど増えない。GPUが処理を代行しているからだ。 その結果、リアルタイムで処理結果が更新されているにもかかわらず、マウス操作に対するレスポンスも変化はなく、バックグラウンドで別の処理が動いていてもパフォーマンスに影響を及ぼさない。CPUが画像処理から解放されているからだ。 Core Imageは一般的なウィンドウ内描画とは別のファンクションだが、あらゆるグラフィック処理がGPU任せになるとすれば、同じようにCPUのワークロードは減る。もちろん、同じ処理をCPUで行なってもいい(実際、GPUで処理しきれない部分はCPUが補うことになる)が、GPUとCPUではプロセッサとしての構造が全く異なる。 汎用処理を高速にこなす事を目的としたCPUは、グラフィック処理に特化しているGPUよりもハードウェア、ソフトウェアの両面で複雑になるのは自明だ。つまりグラフィック処理に限って言えば、特定用途向けに設計されたGPUの方がシンプルとなり、電力効率は良くなる。 ●GPUへの負荷分散で消費電力は下がる? ただし現在のモバイルPC向けGPUは、Pentium Mなどのモバイルプロセッサほどに省電力を強く意識した設計にはなっていない。あくまでもデスクトップ向けに性能を追求したGPUをモバイルPCにも搭載できるようにアレンジしたものに過ぎない。このため、現状のGPUにグラフィック処理のワークロードを分散したとしても、電力効率はむしろ下がるだろう。 実際、何人かのPowerBookユーザーに聞いてみると、冒頭で述べたクライアント領域のGPUによる描画機能(Quartz 2D Extremeという。Pixel Shader 2.0以上のGPUでのみ動作)をオンにすると、確かにレスポンスや描画速度が体感できる程度に向上するが、その一方でバッテリの減りは早いという。 近年、GPUに対するニーズは、3Dパフォーマンス向上よりも動画デコード、動画に対するリアルタイムフィルタリング、2Dグラフィック処理の軽減の方がより高まってきているという。そのためか、GPUのシェーダの処理自由度を高めたり、あるいは動画処理に向いたパイプラインを別途用意するなどの変化が起きようとしている。 別の切り口でPC全体のシステムを見れば、汎用プロセッサコアとは別のグラフィック専用コアを備えるマルチプロセッサ化が進んでいる、と見ることもできる。 Longhornが登場したからといって、すぐに大きな変化が訪れるわけではないが、GPUベンダーがモバイルPCにおけるCPUの存在価値の一部を奪う、といった視点で、より電力効率の高いGPUを作ろうとするなら、将来的には高性能GPU(あるいはそれはチップセット内蔵かもしれないが)もモバイルPCにとって有益な存在になるかもしれない。 □関連記事 (2005年5月11日) [Text by 本田雅一]
【PC Watchホームページ】
|
|