64MBのビデオメモリは必要? 2002.1.4

一般に多ければ多いほどいいとされるビデオメモリ。2002年には64MBのビデオメモリを搭載した製品もでてきます。果たしてノートパソコンに64MBのビデオメモリは必要なのでしょうか。考察してみることにします。おかしなところがあれば突っ込みよろしく (>_<)/

ビデオメモリに格納されるデータは、
 フレームバッファ
 Zバッファ
 テクスチャバッファ
の3つ。他にもT&Lエンジンなどが、演算するのに一部使うとも聞きましたが、主に使われているのは上の3つです。これらのデータがビデオメモリに収まりきらない場合はどうなるか? 最初から動作しないゲームもありますが、多くのゲームは収まりきらない分をメインメモリに置くことで代用しようとします。しかしこの場合、AGPバス経由でデータのやり取りをするために、システムに負荷がかかり性能低下が起こってしまいます。これを避けるため、ビデオメモリは肥大化の一途をたどっています。

ビデオメモリ(ローカルメモリ)

フレームバッファ Zバッファ テクスチャバッファ

では、それぞれどのくらいのメモリを消費するのでしょうか。

フレームバッファ

http://www.watch.impress.co.jp/pc/docs/article/980303/key20.htm#FrameBuffer
画面を表示するためのイメージを保存するバッファです。よく使われる解像度1024 x 768(16bitカラー)の場合、1024 x 768個のピクセル(点)一つについて、16bitの色情報を持つので、データ圧縮などをせず1画面を描画するには

 1024 x 768 x 16bit(2byte) = 約1.57MB

のメモリが必要です。実際のゲームでは1画面のデータだけでは、書き換え中に画面が乱れてしまうので、次の画面データ(ダブルバッファ)、さらにもう一枚の画面データ(トリプルバッファ)を用意することがあります。(3DMarkではこれらを指定可能です)

 1024 x 768 x 16bit(2byte) x 3枚分 = 約4.71MB

15インチ液晶で使われる1600 x 1200の解像度で、32bitカラー表示、トリプルバッファという条件では

 1600 x 1200 x 32bit(4byte) x 3枚分 = 約23MB

というとんでもないメモリが必要になってきます。

Zバッファ

http://www.watch.impress.co.jp/pc/docs/article/980303/key20.htm#ZBuffer
2D画面と違い、3Dでは奥行きという概念があるため、手前に物があり、その後ろに隠れるオブジェクトは画面に表示しないようにしなければなりません。Zバッファはこの物体の奥行き管理するバッファで、当初は16bitの情報量でしたが、最近では32bit Zバッファが使われることもあるそうです。

 1024 x 768 x 16(2byte) = 約1.57MB
 1600 x 1200 x 32(4byte) = 約7.68MB

テクスチャバッファ

http://www.watch.impress.co.jp/pc/docs/article/990311/key68.htm#Texture_Mapping
ワイヤーフレームというのを知ってるでしょうか。一度は見たことがあると思いますが、3D画面が線(ワイヤー)だけで表示されている味気ない画面です。ゲームではそのワイヤーフレームにテクスチャーと呼ばれる絵を貼り付け、リアリティのある画面に仕上げています。この絵を格納するのがテクスチャーバッファです。

これについては、実際のゲームでどのくらい使われるのかわからないのですが(^^;、3DMark2000ではGAME1で3MB弱、GAME2で3MB強のテクスチャが使われるようです。

まとめ

まとめです。1024 x 768(16bitカラー、16bit Z) のような条件でゲームをやる場合、

1.57MB +

1.57MB +

3MB + α

=

6.14MB + α

フレーム

Z

テクスチャ

 

 

となり、8MBで十分足りる計算になります。解像度が800 x 600に下げればさらに少ないメモリで事足ります。

64MBもの大容量が必要となるのは、最近の大画面の液晶を持つノートパソコンで、高解像度、フルカラー、Z-Bufferも32bitといったリッチな条件でゲームをやる場合に必要となります。例えば1600 x 1200という解像度(ゲームが対応しているかどうかは別として)では

23MB +

7.68MB +

3MB + α

=

33.68MB + α

フレーム

Z

テクスチャ

 

 

上ではテクスチャが3MBと低めですが、最新のゲームではより多くのテクスチャを必要とすると思うので、そういった場合、32MBでは確実に足らなくなってきます。ゲームは外部ディスプレイを使うという場合も必要です。

ただビデオメモリが少なくて、バッファ情報が格納できなくとも、メインメモリを使う(AGP転送)ことでゲームは動作することがあります。もちろんビデオメモリを使う場合に較べて、描画速度は低下します。ゲームによってはメインメモリによる速度低下を嫌い、十分なビデオメモリが無いと最初から動作しないものもあります。

実際のゲームでは

実際のゲームでの、32MBと64MBとの違いが海外サイトのAnandtechに掲載されてます。
 → http://www.anandtech.com/showdoc.html?i=1216&p=18
ここでは、1024 x 768では目立った差は出ていませんが、1280 x 1024(32bitカラー)の条件から、32MBと64MBで大きな差が見られるようになっています。

http://www.anandtech.com/showdoc.html?i=1216&p=11
上のテストでは、640 x 480の時点から差が現れてますが、ここで使われているQuaverは高ストレスをビデオカードにかけるデモ(今は亡きVoodooextreme作)なので、特に顕著な差がでてきています。

以上でビデオメモリに関する考察は終わりです。なにぶん素人の書いた文章なので、間違っている点や説明不足な点があると思います。もし何か気づかれたら、ぜひ教えてください。勉強&修正したいと思います。

参考サイト
http://tom.g-micro.co.jp/graphic/00q3/000704/index.html

http://web1.incl.ne.jp/ekoba46/pc/hard/vga/top.htm

蹴茶トップページへ