元麻布春男の視点DirectX 8.1でATIの技術を採用した理由 |
マイクロソフトが主催する「Meltdown(メルトダウン)」は、お膝元のシアトル(あるいはその近郊)を皮切りに、ヨーロッパと東京にツアーが行われる毎年夏の恒例イベントだ。もともとは、最新のDirectX SDKのリリースに合わせて、その機能を解説するゲーム開発者向けのセミナーと、DirectXを用いたハードウェア(主にグラフィックス・カード)とソフトウェア間の互換性を検証する場であった。しかし、近年は最新版DirectXのリリースが遅れ気味で、来場者には後からCD-ROMを送付するというのが習わしとなっている。今年の東京での開催は、7月31日から3日間だった(ただし3日目は事前予約の開発者のみ)。
DirectX 8.1はWindows XPと同時リリース
今回のMeltdown開催時点において、最も近い将来のリリースが予定されているDirectXのバージョンは8.1である。昨年リリースされたDirectX 8.0のマイナーチェンジ版ということになる。DirectX 8.1は、マイクロソフトならびにPC不況に苦しむ業界が期待しているWindows XPに標準搭載される。それだけに、事を慎重に運ぶ必要があることを考えれば、マイナーチェンジにとどまるのも無理がないところだろう。Windows 98、Windows Me、Windows 2000向けのDirectX 8.1は、Windows XPのリリースに少し遅れて提供される予定だ。残念ながらWindows 95のサポートは打ち切られている。
いずれにしても、これまでOSのリリースと非同期(?)に行われることが多かったDirectXのリリースが、Windows XPでは同期したリリースになるわけで、望ましいことには違いない。Meltdownのプレゼンテーションの中には、「Direct3DはOSの第一級市民」という表現があり、Direct3Dについて、Windows 98とWindows XPの間に性能差がないことが述べられている。だがこれは逆にいえば、これまでのDirectXはOSの第二級市民だったことを意味しており、昨年聞いた「DirectX 8.0のネイティブ・プラットフォームはWindows 2000」という言葉は何だったのだろう、と思わずにはいられない。
DirectX 8.1ではATIが技術的主導権を握る
ところでDirectX 8.1は、DirectX 8.0からのマイナーチェンジとはいえ、注目すべき変更がまったく加えられないわけではない。特にDirect3D 8.0の目玉機能であったプログラマブル・シェーダのうち、ピクセル・シェーダ(Pixcel Shader)には、比較的大きな改良が施される。ピクセル・シェーダは、ピクセル処理(レンダリング処理)を行うルーチン(マイクロコード)をソフトウェア・プログラマが記述し、GPU(Graphics Processing Unit:グラフィックス・チップのこと)にダウンロードして実行する仕組みのことである。ソフトウェア・プログラマ自らが記述することにより、アプリケーションに対して最適な視覚エフェクトを実現できるなど、高い自由度を持つのが特徴だ。
DirectX 8.1には、DirectX 8.0のピクセル・シェーダ(PS 1.0)のマイナーチェンジ版であるPS 1.1、コマンドやオペレーションを追加したPS 1.2、さらに命令を追加したPS 1.3に加え、PS 1.4が搭載される。PS 1.0〜1.3では、同時に処理可能なテクスチャ数が4であったのに対し、PS 1.4では同時に最大6つのテクスチャを処理可能になるとともに、命令セットがより汎用プロセッサ的なものに改められている。この命令セットは、次のDirectX 9.0に搭載されるPS 2.0にも引き継がれる予定(命令数や同時処理可能なテクスチャ数は拡張される)であり、次のDirectX 9.0の先駆け的な内容となっている。
今回のMeltdownで注目されたのは、このPS 1.4に関するセッションを担当したのがATI Technologiesだったことだ。通常、こうしたセミナーで、セッションを担当するというのは、その技術(この場合ではPS 1.4)をマイクロソフトに提案したのがその会社である、ということを意味する。実際、ATI Technologiesは、Meltdownに前後して、「SMARTSHADER(スマートシェーダ)」と呼ぶ独自技術(ただし、内容的にはPS 1.4とほぼ同等)に関するプレスリリースを出している(ATI Technologiesの「SMARTSHADERに関するニュースリリース」)。PS 1.4がDirectX 9.0につながる技術であることを考えると、DirectX 9.0に主要なアイデアをインプットしているのはATI Technologiesであるとも考えられる。
SMARTSHADERのグラフィックス・パイプライン |
SMARTSHADERでは、6種類の異なるテクスチャを1本のレンダリング・パスで処理することを可能にしている。 |
ピクセル・シェーダのサンプル |
左側の髪にピクセル・シェーダによって、ハイライトをつけたものが右側。このような処理が簡単に行える。 |
NVIDIA一辺倒に対する警戒か?
一方、現行のDirectX 8.0/8.0aで、主要なアイデアをインプットしたのは、NVIDIAだと考えられている。DirectXのみならず、Xboxも含めて、マイクロソフトのプラットフォームの3Dグラフィックス技術は、NVIDIAなしに考えられない、といっても過言ではないハズだ。それが、次のバージョンでは、NVIDIAの最大のライバルであるATI Technologiesに接近するというのは、どういうことなのだろう。あまりにもNVIDIA一辺倒になることに対して、警戒の心理が働いたのだろうか。マイクロソフトといえども、1つの領域について、1社が事実上の独占状態となり、支配力を持つことは望ましくないハズだ。複数の会社が競いながら、技術革新を進めていく、というのが望ましい姿であることは間違いない。NVIDIAのライバルに与することで、バランスを取ろうとしたのかもしれない。
実は、こうしたバランスを取る動きは、ほかの部分でも見られる。これまでNVIDIA製グラフィックス・チップを搭載したものが圧倒的な割合を誇っていた台湾製グラフィックス・カードだが、このところST MicroのKYRO IIやATI TechnologiesのRADEON VEあるいはRADEON LEを採用したものが増えている。あまりにも強くなりすぎたNVIDIAに対して、ちょっとした逆風が吹いていることは事実かもしれない。
関連記事 | |
「売り」のないMatroxの新グラフィックス・チップ「Matrox G550」 | |
Windows XPの正体 |
関連リンク | |
SMARTSHADERの技術紹介ページ | |
SMARTSHADERのホワイトペーパー |
「元麻布春男の視点」 |
- Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう - 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は? - IoT実用化への号砲は鳴った (2017/4/27)
スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか? - スパコンの新しい潮流は人工知能にあり? (2017/3/29)
スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
|
|