<Direct Xとドライバ>

 02/07/02


1.ドライバの更新

1.ゲームの要求する以上のバージョンのDirect Xがインストールされている
2.インストールしてあるDirect Xのバージョンに対応した各ハードウェア用のドライバが用意されている


 以上がゲーム動作の為の必要条件となる。そしてここで一番問題となるのが3のドライバという事になる。これはとにかく最新の物を手に入れるのが基本であり、それが新しいハードに用意された物ならば最新のDXにも対応している事が多い。しかし動作原理の項にて書いたように、全てのマシンやハードに最新のDXに対応したドライバが用意されている訳ではないのが現実である。


Q:新しいドライバはどこにあるのか?
 もしも単体でカードを購入しているのならば。そのカードの製作元のサイトからダウンロード可能である。問題はメーカー製の箱売りマシンの場合で、こういった場合はそのメーカーのサイトから機種名で検索したりして捜すのが基本となる。ただしかなりわかりにくいメーカーが多く、初心者だと目的の物を探すのに苦労する可能性も。それと申し訳無いが個々のドライバに関してどうやって新しいドライバをインストールするのかといった所までは質問されてもお答えしかねる。この辺のやり方はメーカーによって独特だったりするので。通常は詳しく解説してあるはずなのでよく読んで実行して欲しい。

Q:ドライバの新規更新はどうやる?
 これは物によって異なるので更新方法の解説をよく読む事。解凍して出来たドライバを普通に、コントロールパネル>システム>デバイスマネージャからドライバの更新にて選択してやるか、実行形式(exe)のプログラムを実行する事で書き換えられる方式が主流。注意点としては、後者の実行ファイル形式の場合は今まで使っていた物をちゃんとUninstallしてからでないとまずいケースがある。

Q:ドライバの更新で気を付ける事は?
 非常に重要なのが、現在使用しているドライバは何なのかを調べて置く事。ハードウェアのドライバを変更した場合にそれが原因でうまくWin自体が起動しなくなることがあり、その場合は今まで使っていた物に戻さないとならないからだ(XPでは戻す機能が付いている)。
 特にディスプレイドライバ。コンパネ>システム>デバイスマネージャ にて表示されるシステム構成からディスプレイアダプタを開き、プロパティで詳細を確認する。ドライバタブでなんというドライバを使用しているのかとそのヴァージョン、さらにはその存在場所を控えておく(もしもドライバがexe形式ならばそれがある所を確認しておく)。なぜならドライバ更新後は必ず再起動になり、そこで新しいドライバに問題があるとディスプレイドライバの場合は最悪画面が表示されなくなる可能性があるからだ。こうなるとSAFEモードで起動してから、元のドライバに戻す必要がある。この時ドライバのある場所を指定してやる必要があるので万一に備えて必ずやっておこう。

Q:メーカーのサイトに更新用のドライバはあった。ただしリリースされた日付が古いのだが?
 まずメーカー製マシンはビデオとサウンドに関しては性能の低い1,2世代前のハードを採用している事が多く単体販売物よりもドライバ対応の限界が来るのが早い。また基本的にメーカー側としては、DXが対応出来ない位まで古くなったら買い換えてくれという姿勢なので、サポートにも積極的では無いのだ。よってドライバが無いのならばその中で最新の物を使う以外無いと言う事になってしまう。

Q:ビデオ(サウンド)カードのメーカーが無くなっている。或いは新しいドライバがサイトに無い。
 この場合リファレンスドライバで対応出来る可能性がある。これはビデオ(サウンド)チップの製造元が製作している物。

 どういう意味かと言うと、ビデオやサウンドを処理する為のチップを作成している所と、実際にPCに装着するカードを製作しているのは別という場合が多いのだ。つまり処理用チップを購入した複数の会社が、同じチップを載せたカードを独自の設計で売り出しているという意味。この時に各社は独自の自社カード用ドライバを製作・提供するのだが、その基準としてチップ製作メーカーから供給されるのがリファレンスドライバになる。
 これは当然の如く最も更新が早いのが普通で(これを元に各社が独自の物を作るから)、もしも自分のカードメーカーが潰れて無いとか、新しいドライバのサポートが無いという場合、このリファレンスを代りに使用するという方法がある。

Q:一体型販売のメーカー製PCにおいて、もうメーカーには新しいドライバが存在しない。しかし使用しているビデオチップの名称は確認出来た。ではこのチップの新しいリファレンスドライバを使って試しても良いのか?
 試して見る価値はあるが、これをやる場合は問題が出た時の為に元のドライバに環境を戻せるだけの知識が無いとならない(XPならばドライバのロールバック機能があるが)。メーカー製マシンではマザーボード上に直接チップを搭載する際に独自に内部設計を変更している場合があるので、自社にてリリースする物でないと適合しない可能性がある。

Q;ドライバがそのバージョンのDXに対応しているとあれば問題無いのか?
 対応というのはあくまでもドライバの製作側が言っている事なので、実際にはプログラム(ドライバ)に問題があるという事は有り得る話である。ある特定のゲームでは不具合が起きるという事であれば仕方ないとも言えるが、多数のゲームで起きるとなると問題あり。その意味で特にビデオカードに関しては、カードの性能はもちろんだがドライバの安定度も非常に重要な要素となる。

Q:ドライバは新しい物がベストなのか?
 これは必ずしもそうでは無い。ドライバはプログラムなので、当然他のプログラム同様にバグもあるしパフォーマンスも変わってくる。よってむしろ前のドライバの方が速いとか安定して動作すると言ったケースは有り得る。


2.ドライバの互換性

 PCの世界には相性という不可解?な言葉が存在している。これは原理的には動作するはずなのになぜか動かないといった場合に使われるのだが、ドライバの世界でもこれは例外ではない。本来の意味からするとDXで記述されたソフトは、全てのDX対応ドライバの用意されたハードウェアで問題なく動作するはずである。しかし微妙なニュアンスの違いによるズレとかがどうしても生じてくる。これがゲームの場合は動作を妨げるという現象として現れてくるわけだ。ほとんどの場合ビデオカードのドライバにて現れる現象と言える。

*処理チップ自体の互換性
 ビデオチップというものはそれぞれ独自の3D処理機構を備えており、当然それはチップ毎に大きく異なっている。したがってDXからの同じ3D処理命令を実行するにしても、そのやり方はかなりチップにより違ったものになってくる。その上プログラムからの命令は、「ある命令が使用されるシチュエーションは無限に存在」「複数の命令をどのように組み合わせて使用するかは無限の可能性が存在」「プログラマーによりどのように使ってくるかは無限の可能性が存在」という形になっているから、そもそもありとあらゆる全ての場合について完全なる動作保証をするということは不可能に近いのである。そのために以下のような問題が特定のカード(チップ)によっては起きる事がある。

*ある種の特殊効果が実現されない
*プログラマーの意図したように表示が行われない(これは色々とある)
*画面表示に乱れ(ポリゴンが一部欠ける、画面上にゴミが残る、色表示異常等々)

 この程度であればまだいいのだが、更に重度の問題となってくるとこれはすなわちシステムクラッシュ=動作不可という事態にもなってくる。人間同士での意思疎通の場合はそれぞれに常識というものがあるので、それほど大きな取り違えというのは起こらないのが普通だが、プログラムというのはそれがどんなものであろうと忠実に実行を行うようになっている。したがって自己修正機能というのが無いために、気を効かしてクラッシュを回避するなどということは行わない。例えばどうもこのチップはこの機能がうまく再現されないようだから、「じゃあこの方法でやってみよう」とか「これは使わないでおこう」とかとは自動ではやってくれないということである。

 本来であれば例えばDX8.1に対応したドライバがあるならば、それがどんなビデオカードであろうと同じ様に表示されるはずなのだが、そうはうまく行かないという事になる。もしも市場に出ている半分のチップで正常には動作しないとなればこれはソフト会社側の問題といえるが、あるひとつの会社のチップでだけ動作しないという場合は、これはチップ会社側の問題となってくる。ソフト会社にしてみれば自分のところはDXの規格に沿ってプログラムを行っており、実際に他の会社のチップでは動作するのだから非はチップ製造側のドライバにあるいう言い分である。
 現実にはゲームのパッケージに動作確認済みの対応チップが記述されているのがほとんどであり、そこに対応チップとして載っていなければ動作の保証はしませんよという形が多い。つまりゲームの要求するDXのバージョン対応カードでドライバもある場合でも、ゲームが正常に動かないというケースは有り得るという事である。

*各社オリジナルドライバの互換性
 PCの世界では同じ3Dチップを搭載したビデオカードが複数の会社から発売されている。例えばXYZという3Dチップがあった場合、AからEまでの5社からこれを搭載したビデオカードが販売されているといった風である。ここで問題となるのがそれぞれのDX対応ドライバである。基本的にそれぞれの3Dチップには開発元のリファレンスドライバというものが存在する。これを元にそれぞれのカード発売会社が自社のビデオカード用にチューンアップを施して市場に出す訳だが、ここでチューンアップというのが問題になってくるのだ。
 その3Dチップがどれだけ働けるかはドライバの能力如何にかかってくる。ドライバはプログラムであるから開発元の能力によって大きく差が出てくるので、同じチップであってもカードの発売会社毎のチューンアップ度合いによって速度テストの結果に差が出てきたりする。更に別の面では上で述べたようなDXでの表示不具合が出始めたりしてくる。ゲームメーカーからは対応チップだとされているのに、ある会社からの搭載カードでは動作しないなどということが起こりうるのだ。
 例でいうとAからD社までは動くのに、E社から発売のものだけ同じ3Dチップ搭載カードなのに動かないといった事もある。このような場合取りあえずはそのチップのリファレンスドライバに交換してみるといった対策が考えられるが、その場合そのビデオカードメーカーより提供されている画面調整用ユーティリティー等は動作しなくなってしまう。また詳しくは書かないがビデオカードには3Dチップの他に、VRAM用の特別なメモリやRAMDACと言われる変換チップが載っており、これらに合わせてチューニングしたドライバが添付されて売られているわけで、これをリファレンスのドライバと交換してしまうと別のトラブルが起こってくる可能性もある。
 このような場合はそのビデオカードの発売元より不具合を解消したドライバが提供されるのを待つしかない。しかしそれが数世代前のチップだった場合はそれも望み薄である。


  目次