第155回:バッテリーライフとグラフィックハードウェアの相反関係 |
●ビデオチップは省電力ノートPCの問題の1つ
さて、今週のテーマはバッテリライフとグラフィックハードウェアの相反関係についてだ。省電力なノートPCに詳しい方なら、現在の小型ノートPCにとってビデオチップが電力をたくさん食べるデバイスのひとつになっていることはご存じだと思う。
たとえば今年のIDF/Springでインテルは、ノートPCの消費電力においてプロセッサは7%のシェアしかないとしており、それと同等の電力をビデオチップが消費している(14.1インチクラスの2スピンドルノートPCにおいて)と話していた。近い将来、1日中電源を入れたまま持ち歩けるノートPCを作るためには、プロセッサの消費電力を下げると共に、液晶ディスプレイやビデオチップ、ハードディスク、電源回路のロスといった要素をどのように低消費電力にしていくかが課題となる。現行のノートPCでも、松下電器のLet'sNOTE R1シリーズや富士通のLOOX Sなどはバッテリ容量あたりの駆動時間が比較的長いが、これはプロセッサの省電力性能以外での努力が長時間駆動に寄与しているからだ。
中でもビデオチップは、省電力化の流れの中で今後その注目度を増していくだろう。ビデオチップもプロセッサと同様に動的な電力制御を行なえるものが増えてきた。問題なのは、その省電力機能を統合的に管理するための標準的な道筋(制御方法)が存在しないことだ。各種デバイスの制御方法は,各社が独自に実装していることが多い。また,あまり多くのデバイス管理をエンドユーザーが意識して行なわなければならないのでは使いにくい。このあたりの問題は、現在ACPIの枠組みの中で標準化が進んでいる最中である。
ご存じのようにハイエンドのビデオチップはプロセッサ並のトランジスタ数が集積されており、DirectX 9の世代に移行してプログラマブルシェーダー中心の構成になると、プロセッサのトランジスタ数を上回る巨大なシリコンになっていくだろう。プロセッサの省電力化の次は、ビデオチップ側にも省電力かつ機能も劣らないものが求められていく。
「いや、モバイル用のノートPCとして捉えるなら、ビデオチップはチープでもいいじゃないか」という意見もあるだろう。現時点ではこの意見に賛成する部分もあるが、将来的にはそうも言っていられなくなりそうなのだ。今年第3四半期にリリース予定のDirectX 9は、後藤弘茂氏の記事にもあるように3Dグラフィックス機能のアーキテクチャで大きな変化が見られる。加えてDirectX 9はゲームなどのエンターテイメントグラフィックだけでなく、一般的な2Dグラフィックでも利用されるようになるからだ。
●Longhornの描画はすべてDirectX 9経由に
現行のWindows XPはハイレベルのグラフィックAPIとして「GDI+」を実装している。GDI+は過去から継承している2DグラフィックAPIの「GDI」とDirectXのグラフィックスパートを統合し、様々な機能を強化した上位APIとして動作している。
実際のハードウェアへのアクセスはドライバインターフェイスを通じて、GDIとDirectXがそれぞれにハードウェアに対して描画処理を行なわせる。つまりGDIとDirectXの両方がハードウェアにアクセスしている。
しかし、次期Windows「Longhorn」になるとGDIのファンクションを含め、すべてのグラフィック操作はDirectX 9を通じて行なわれるようになる。アプリケーションがGDIを呼び出すと、GDIはディスプレイドライバを通じて描画を行なうのではなく、DirectX 9を呼び出すのだ。
そしてDirectX 9側ではDirect3Dの「Pixel Shader 2.0」を通じてイメージの生成を行なう。過去のGDIでプログラミングされたアプリケーションを含む、Windows上のアプリケーションの描画はすべてこのプロセスを経るため、グラフィック描画はこれまでのような2DのシングルフレームバッファではなくPixel Shader 2.0がDirect3Dのポリゴンサーフェイスに描くスタイルになるのだ。ウィンドウのひとつひとつが、Direct3D内のポリゴンサーフェイスとして複数バファリングされるようになる。
そのほか動画表示にしても、現在はDirectDrawのビデオオーバーレイサーフェイスに動画データを送ることで実現しているが、DirectX 9ではビデオオーバーレイサーフェイスそのものが存在しない。その代わり、Pixel Shader 2.0に動画表示用のプログラムを作成し、それに動画のレンダリングを依頼する形になる。つまりビデオ表示もポリゴンサーフェイスに行なわれ、Direct3D内の平面要素のひとつになってしまう(オーバーレイサーフェイスの数に依存せず、複数の動画サーフェイスを内部にバッファ可能になるというメリットもある)。従来のビデオオーバーレイサーフェイスを利用していたアプリケーションに対しては、Pixel Shader 2.0が互換性のある振る舞いをするので、従来型のアプリケーションも透過的にこの機能を利用する。
つまり、DirectX 9とその後に登場予定のLonghornという段階を踏んで、すべてのグラフィック要素はDirect3D内のオブジェクトになってしまうのである。見た目には大きな変化ではないが、内部的には大きな違いだ。従来の機種との互換性から、Pixel Shader 2.0が担当すべきレンダリング処理はソフトウェアや従来のハードウェア機能の組み合わせでもエミュレートすると考えられるが、Longhorn以降でゲームなどのエンターテイメント系アプリケーションとは無縁なPCでも、高機能なDirectX 9アクセラレータが求められるようになる可能性がある。
●必要ならばしかたがないが、本当に必要なものになるのか?
このようなグラフィックアーキテクチャの変更は、エンドユーザーにどんなメリットをもたらすのだろうか? Microsoftはキャッシングされた複数の描画サーフェイスをGPU内で自在に配置することで、シングルバッファ時には得られなかったパフォーマンスや画面効果を実現できるとしている。また、デスクトップ画面はそれ自体がすべてではなく、1つのサーフェイスとして描かれるようになること。そしてDirect3Dを通すことで画面リフレッシュに同期したチラツキのない描画を行なえる点などを挙げている。
また現在はあまり力が入っていない2Dグラフィックエンジンに依存せず、GPUの大部分を占めている高性能な3Dグラフィックエンジンの恩恵を、非3Dアプリケーションユーザーが享受できるというメリットもある。
さて、あまりDirectX 9やLonghornの話に振られてしまうと、それだけでかなり長い話になってしまうので、これ以上の事に興味があるならば別途情報を探してほしい。
マイクロソフトは最終的に、かつて話題になったCrome Effect(WebベースでDirectXを駆使した高度なグラフィックを実現する技術)をXMLベースにアレンジ、かつ拡張したエンジンを用い、新しいユーザーインターフェイスの開発フレームワークを.NETフレームワークの中で提供しようと考えているようだ。
先月シアトルで開催されたWinHEC 2002で、Longhornのグラフィックス機能担当者は「Longhornのユーザーインターフェイスとして3Dを活かした新しい要素を組み込みたいとは考えている」と言いつつ、実際にどのように組み込むか、本当に組み込まれるかについては言及を避けた。おそらくパフォーマンスの面や、本当にユーザーインターフェイスを改善できるのか? といった基本的な部分での調整が残っているのだろう。なにしろ、Longhornのリリースは2004年の後半なのだ。
LonghornとDirectX 9で、従来のアプリケーションを含めてウィンドウ内の表示や動画サーフェイスなどあらゆる要素が3D化するため、やり方次第でこれまで想像も出来なかったユーザーインターフェイスを構築できる可能性はある。Vertex Shaderのプログラムを織り交ぜ、特殊な変形効果を加えながらウィンドウが移動したり、どこかに片づけておいたり、Pixel Shaderで様々なエフェクトをかけるのも自在だ。
ただ、テクノロジとしては興味深いものの、本当にそれがユーザーインターフェイスを向上させることになるのか? については、未だ疑問が残る部分もある。単に面白く画面が動くだけではなく、使いやすさ、わかりやすさにつなげていかないと、一時的な興味を惹くだけのものになりかねない。「パフォーマンスと電力の無駄遣い」と批判の対象になる可能性は高いだろう。
もしそれが本当に必要なものならば、一時的なパフォーマンスや電力へのインパクトを覚悟してでも進化の道を辿るべきだ。しかし、たいしてユーザーの体験が変わらず、市場も広げず、作業効率も上がらないのに、無駄にアーキテクチャだけが複雑になるのは避けたいところである。デスクトップPCやサイズの大きなパフォーマンス志向のノートPCでは、それでも良いかもしれないが、モバイル用途に特化したノートPCではパフォーマンス・機能・消費電力・筐体デザインなど、様々な要素のバランスが一番に重視されなければならない。
とはいえ、長い目で見ればノートPCのビデオチップも3D機能、それもプログラマブルシェーダー重視のDirectX 9世代のチップがノートPCでも重要視される時代になるのは間違いなさそうだ。まだまだ数年先の事かも知れないが、ノートPCの最も重要な評価ポイントのひとつとして「GPU性能」という項目が追加されるようになるのは時間の問題だろう。
(2002年5月28日)
[Text by 本田雅一]