RIVA 128、または「NV3 」は、 1997年にNvidiaによって開発されたコンシューマー向けグラフィックス処理ユニットです。従来の2Dおよびビデオアクセラレーションに加えて3Dアクセラレーションを統合した最初のNvidia製品でした。その名前は、R eal-time Intactive V ideo and A nimation accelerateの頭文字をとったものです。[ 2 ]
RIVA 128は、NVIDIAのあまり成功しなかった「NV1」アクセラレータの後継製品であり、NVIDIAが広く認知されるようになった最初の製品となった。また、NVIDIAの技術的方向性における大きな転換点でもあった。


1996年までに、Nvidiaは財政的に苦境に陥っていた。同社は当初、最初の製品であるNV1で、クアドラティックテクスチャマッピングと呼ばれる全く異なるタイプのレンダリング技術を追求していた。[ 3 ] その後、同社は1年間かけて、劣った技術を使ってセガのドリームキャストビデオゲーム機用のグラフィックチップを開発しようと試みた。[ 4 ]セガは最終的にNvidiaのプロジェクトを中止し、ベンダーを変更せざるを得なかったが、500万ドルの投資でNvidiaを存続させることを説得された。[ 4 ]
その後、Nvidiaは100人の従業員の半数を解雇し、残りのリソースをRIVA 128の開発に集中させた。 [ 3 ] 1997年8月にRIVA 128が発売された頃には、Nvidiaの給与支払額は1か月分しか残っていなかった。[ 3 ] この極めて絶望的な状況から、今日でも「非公式の会社のモットー」となっている「当社は倒産まであと30日」という言葉が生まれた。[ 3 ]



RIVA 128 はDirect3D 5 および OpenGL API仕様に準拠したレンダリングを行うように設計されました。Nvidia の NV1 チップとは異なり、Direct3D を可能な限り高速化するように設計されました。NV1 チップは、Direct3D ではサポートされていない、クアドラティック テクスチャ マッピングと呼ばれるまったく異なるタイプのレンダリング技術用に設計されていました。[ 3 ] [ 4 ] [ 5 ]
グラフィックスアクセラレータは、SGS-Thomsonの5LM 350 nm製造プロセスで構築された350万個のトランジスタで構成され、100 MHzでクロックされます。[ 2 ] [ 6 ] [ 7 ] RIVA 128は、1つのテクスチャをサンプリングするときにクロックごとに1ピクセルを処理できる単一のピクセルパイプラインを備えています。1秒あたり1億ピクセル、1秒あたり150万ピクセルのレートで25ピクセルの三角形を出力するように指定されています。[ 2 ]ピクセルおよび頂点キャッシュに使用される12 KiBのオンチップメモリがあります。 [ 2 ]チップは、3Dアクセラレーションを実行するときに16ビット(ハイカラー)ピクセルフォーマットと16ビットZバッファに制限されていました。
RIVA 128 内の 2D アクセラレータ エンジンは 128 ビット幅で、100 MHz で動作します。Nvidia が「高速かつ広帯域」と呼んだこの構成では、RIVA 128 は競合製品と比較して GUI アクセラレーションで優れたパフォーマンスを発揮しました。[ 8 ] 32 ビット ハードウェアVESA準拠のSVGA / VGAコアも実装されました。チップ上のビデオ アクセラレーションはMPEG-2に最適化されていますが、この標準の完全なアクセラレーションは提供されていません。最終的な画像出力は、統合された 206 MHz RAMDACを介してルーティングされます。[ 2 ] RIVA 128 は、Voodoo Graphics とは異なり、2D/3D グラフィックス チップの組み合わせであるという利点がありました。これは、コンピュータが 3D アプリケーション以外での出力に別の 2D カードを必要としないことを意味します。また、ウィンドウ内で 3D レンダリングも可能でした。グラフィックカード1枚だけでシステムを構築でき、しかも当時の基準で十分な機能を備えているという点が、RIVA 128を低コストで高性能なソリューションたらしめた。
NvidiaはRIVA 128に、当時としては新しいメモリ技術である4 MiBのSGRAMを搭載し、100 MHzで動作し、128ビットのメモリバス を介してグラフィックスプロセッサに接続しました。[ 2 ]これにより、1秒あたり1.60ギガバイトのメモリ帯域幅が実現しました。メモリは、フレームバッファとテクスチャストレージの両方でRAMプール全体を共有する統合メモリアーキテクチャで使用されました。Voodoo GraphicsやVoodoo²のような分割設計と比較した場合の主な利点は、Voodooの640×480よりも高い800×600および960×720の3D解像度をサポートしたことです。[ 9 ]
1998 年初頭、Nvidia はRIVA 128 ZXと呼ばれる改良版をリリースしました。この NV3 の改良設計では、メモリ サポートが 8 MiB に増加し、RAMDAC 周波数が 250 MHz に増加しました。これらの追加により、RIVA 128 ZX はより高い解像度とリフレッシュ レートをサポートできるようになりました。[ 10 ] ZX バージョンはSGS-ThomsonとTSMCによって製造され、Samsung Electronics製の 8 MB SGRAMメモリ チップ (クロック周波数 125 MHz)を使用しています。[ 6 ] [ 11 ]
RIVA 128 はAGP 1Xバス インターフェースを備えていましたが、その ZX バージョンは初期の AGP 2X パーツの 1 つであり、インターフェース技術の最先端を行くことでマーケティング上の余地がいくらかありました。グラフィックス プロセッサは、Pentium II用の Intel 440LXチップセットをターゲットとしたIntelの AGP 仕様に基づいて構築されました。Nvidia は、当時、これが消費者向け 3D アクセラレータにとってコスト的に最適なアプローチであったため、RIVA 128 を最大メモリ容量 4 MiB で設計しました。[ 12 ]これは、チップがPCIまたは AGP 構成の両方でオフスクリーン システム RAM にテクスチャを保存できる機能があったためです。[ 12 ]
Nvidiaの次の主要チップはRIVA TNTになるだろう。[ 13 ] [ 14 ]

RIVA 128 の発売当時、3Dfx Voodoo Graphics は、すべての新製品が比較される 3D ハードウェアのベンチマークとして確固たる地位を築いていました。Voodoo は、卓越したパフォーマンスと品質を提供する最初の 3D ゲーム アクセラレータでした。RIVA 128 は、(Voodoo と比較して) レンダリング品質が低く、レンダリング エラーが多いことから酷評されました。[ 5 ]
初期ドライバーでは、RIVA 128 は、はるかに高品質だが要求の厳しいピクセル単位のミップマップではなく、ポリゴン単位のミップマップを使用していました。 [ 5 ]これにより、プレイヤーがゲームを進めて各ポリゴンに近づくと、シームレスで段階的なピクセル単位の遷移を可能にするのではなく、異なるテクスチャの詳細レベルが「飛び出す」ように配置されました。Nvidia は最終的にピクセル単位のモードを可能にするドライバーをリリースしました。カードのテクスチャリングに関するもう 1 つの問題は、自動ミップマップ生成の使用でした。これは、ミップマップのないゲームでの視覚品質とパフォーマンスを向上させますが、ゲームがプログラムされていない方法でレンダリングすることを強制するため、予期しない問題も引き起こしました。
NV3のバイリニアフィルタリングは、実際には3Dfx Voodoo Graphicsよりも「シャープ」でした。しかし、Voodooほどテクスチャをぼかすことはありませんでしたが、低忠実度のフィルタリングアルゴリズムのため、テクスチャにわずかなノイズが加わりました。また、ポリゴン間の継ぎ目が目立つという問題もありました。
初期のドライバでは画質に問題がありましたが、後のドライバではVoodoo Graphicsに匹敵する画質を実現しました。さらに、RIVA 128は640×480を超える解像度でレンダリングできるため、Quake IIのスクリーンショットに示すように、Voodoo Graphicsよりも優れた画質を提供できます。RIVA 128向けにリリースされた最終ドライバは、ピクセル単位のミップマッピング、フルシーンアンチエイリアシング(スーパーサンプリング)、および画質とパフォーマンスを最適化するための各種機能の微調整オプションをサポートしています。
カードの寿命の大部分において、ドライバーはかなり粗雑だった。前述の Direct3D の問題が明らかだっただけでなく、カードには優れた OpenGL サポートが欠けていた。[ 8 ] RIVA 128 で、Nvidia は最高品質の OpenGL サポートの探求を開始し、最終的にボードは優れた OpenGL パフォーマンスを発揮するようになった。Nvidia にとって大きな不利な点の 1 つは、RIVA 128 の寿命中に多くのゲームが 3Dfx 独自のGlide APIを使用していたことである。法律上、3Dfx の Glide API を使用できるのは 3Dfx カードだけだった。
競合するATI Rage Proと同様に、RIVA 128はハードウェア機能の不足により、人気のUnreal EngineをDirect3Dモードで高速化することはできませんでした。ただし、エンジンのOpenGLレンダラーを使用することは可能でしたが、残念ながらオリジナルのUnreal EngineではOpenGLのサポートが非常に遅く、バグも多かったのです。Unreal Engine 1よりも高度なエンジンを使用しているゲームであるQuake III Arenaでは、エンジンがOpenGL向けに設計されていたため、パフォーマンスが向上しました。
NvidiaのWindows 9x向けRIVA 128最終版ドライバーには、完全なOpenGLドライバーが含まれています。ただし、このドライバーを機能させるには、Windowsのデスクトップの色深度を16ビットに設定する必要があります。
RIVA 128 用のドライバーは Windows 2000 および XP にも含まれていますが、3D サポートがありません。かつて Nvidia から OpenGL サポート付きのベータ版ドライバーがリークされましたが、後に開発中止となり、現在 Nvidia のドライバーサイトには RIVA 128 用の Windows 2000 ドライバーは存在しません。ベータ版ドライバーも Windows 2000/XP に付属するドライバーも Direct3D をサポートしていませんでした。
当時、RIVA 128はVoodoo Graphicsに匹敵する最初の2D/3D複合カードの1つでした。RIVA 128の2D機能は当時としては印象的で、品質とパフォーマンスの両面でハイエンドの2D専用グラフィックカードにも匹敵するものでした。[ 8 ] [ 9 ]
{{cite magazine}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク){{cite news}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)