RIVA 128
Encyclopedia
Released in late 1997 by Nvidia
, the RIVA 128, or "NV3", was one of the first consumer graphics processing unit
s to integrate 3D acceleration in addition to traditional 2D and video acceleration. Its name is an acronym for Real-time Interactive Video and Animation accelerator.
Following the less successful "NV1" accelerator, RIVA 128 was the first product to gain Nvidia widespread recognition. It was also a major change in technological direction for Nvidia.
. The RIVA 128 was instead designed to accelerate Direct3D to the utmost extent possible. It was built to render within the Direct3D 5 and OpenGL API
specifications. The graphics accelerator consists of 3.5 million transistor
s built on a 350 nm
fabrication process and is clocked at 100 MHz
. RIVA 128 has a single pixel pipeline capable of 1 pixel per clock when sampling one texture. It is specified to output pixels at a rate of 100 million per second and 25-pixel triangles at 1.5 million per second. There is 12 KiB
of on-chip memory used for pixel and vertex caches. The chip was limited to a 16-bit (Highcolor
) pixel format when performing 3D acceleration and a 16-bit Z-buffer
.
The 2D accelerator engine within RIVA 128 is 128 bits wide and also operates at 100 MHz. In this "fast and wide" configuration, as Nvidia referred to it, RIVA 128 performed admirably for GUI acceleration compared to competitors. A 32-bit hardware VESA
-compliant SVGA
/VGA
core was implemented as well. Video acceleration aboard the chip is optimized for MPEG-2
but lacks full acceleration of that standard. Final picture output is routed through an integrated 206 MHz RAMDAC
. RIVA 128 had the advantage of being a combination 2D/3D graphics chip, unlike Voodoo Graphics. This meant that the computer did not require a separate 2D card for output outside of 3D applications. It also allowed 3D rendering within a window. The ability to build a system with just one graphics card, and still have it be feature-complete for the time, made RIVA 128 a lower-cost high-performance solution.
Nvidia equipped RIVA 128 with 4 MiB
of SGRAM
, a new memory technology for the time, clocked at 100 MHz and connected to the graphics processor via a 128-bit memory bus. This provides memory bandwidth of 1.60 gigabyte
s per second. The memory was used in a unified memory architecture
that shared the whole RAM pool with both framebuffer
and texture storage. The main benefit of this, over a split design such as that on Voodoo Graphics and Voodoo²
, was support for 3D resolutions of 800×600 and 960×720, higher than Voodoo's 640x480.
RIVA 128 was one of the early AGP
2X parts, giving it some more marketing headroom by being on the forefront of interface technology. The graphics processor was built around Intel
's AGP specification targeting the Intel 440LX chipset for the Pentium II
. Nvidia designed the RIVA 128 with a maximum memory capacity of 4 MiB because, at the time, this was the cost-optimal approach for a consumer 3D accelerator. This was the case partly because of the chip's capability to store textures in off-screen system RAM in both PCI
or AGP configurations.
In early 1998, Nvidia released a refreshed version called RIVA 128 ZX. This refreshed design of NV3 increased memory support to 8 MiB and increased RAMDAC frequency to 250 MHz. These additions allowed RIVA 128 ZX to support higher resolutions and refresh rate
s. The next major chip from Nvidia would be the RIVA TNT
.
had firmly established itself as the 3D hardware benchmark against which all newcomers were compared. Voodoo was the first 3D game accelerator to offer exceptional performance and quality in emerging PC 3D gaming. RIVA 128 was scorned for its lower quality rendering (compared to Voodoo) and rendering errors.
With initial drivers, RIVA 128 used per-polygon mipmap
ping instead of the much higher quality, but more demanding, per-pixel variety. This caused the different texture detail levels to "pop" into place as the player moved through a game and approached each polygon, instead of allowing a seamless, gradual per-pixel transition. Nvidia eventually released drivers which allowed a per-pixel mode. Another issue with the card's texturing was its use of automated mipmap generation. While this improves visual quality and performance in games without mipmaps, it also caused unforeseen problems because it forced games to render in a way that they were not programmed for.
NV3's bilinear filtering was actually "sharper" than that of 3Dfx Voodoo Graphics. But, while it didn't blur textures as much as Voodoo, it did instead add some light noise to textures, because of a lower-fidelity filtering algorithm. There were also problems with noticeable seams between polygons.
While initial drivers did present these image quality problems, later drivers offered image quality arguably matching that of Voodoo Graphics. In addition, because RIVA 128 can render at resolutions higher than 640x480, the card can offer quality superior to that of Voodoo Graphics, as shown in the above Quake II
screenshot. The final drivers released for RIVA 128 support per-pixel mipmapping, full-scene anti-aliasing
(super-sampling), and a number of options to fine-tune features in order to optimize quality and performance.
. Legally, only 3Dfx cards could use 3Dfx's Glide API.
Like the competing ATI Rage Pro
, RIVA 128 was never able to accelerate the popular Unreal Engine
in Direct3D mode due to missing hardware features. It was, however, possible to use the engine's OpenGL renderer, but unfortunately OpenGL support was quite slow and buggy in the original Unreal Engine. Performance in Quake III Arena
, a game using an engine more advanced than Unreal Engine 1, was better due to the engine having been designed for OpenGL.
Nvidia's final RIVA 128 drivers for Windows 9x
include a full OpenGL driver. However, for this driver to function, Windows must be set with a desktop color depth
of 16-bit.
A driver for RIVA 128 is also included in Windows 2000 and XP, but lacks 3D support. A beta driver with OpenGL support was once leaked by Nvidia but was canceled later, and there is no Windows 2000 driver for RIVA 128 on Nvidia's driver site today. Neither the beta driver nor the ones come with Windows 2000/XP could support Direct3D.
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...
, the RIVA 128, or "NV3", was one of the first consumer graphics processing unit
Graphics processing unit
A graphics processing unit or GPU is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display...
s to integrate 3D acceleration in addition to traditional 2D and video acceleration. Its name is an acronym for Real-time Interactive Video and Animation accelerator.
Following the less successful "NV1" accelerator, RIVA 128 was the first product to gain Nvidia widespread recognition. It was also a major change in technological direction for Nvidia.
Architecture
Nvidia's "NV1" chip had been designed for a fundamentally different type of rendering technology, called quadratic texture mapping, a technique not supported by Direct3DDirect3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...
. The RIVA 128 was instead designed to accelerate Direct3D to the utmost extent possible. It was built to render within the Direct3D 5 and OpenGL API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
specifications. The graphics accelerator consists of 3.5 million transistor
Transistor
A transistor is a semiconductor device used to amplify and switch electronic signals and power. It is composed of a semiconductor material with at least three terminals for connection to an external circuit. A voltage or current applied to one pair of the transistor's terminals changes the current...
s built on a 350 nm
Nanometre
A nanometre is a unit of length in the metric system, equal to one billionth of a metre. The name combines the SI prefix nano- with the parent unit name metre .The nanometre is often used to express dimensions on the atomic scale: the diameter...
fabrication process and is clocked at 100 MHz
Hertz
The hertz is the SI unit of frequency defined as the number of cycles per second of a periodic phenomenon. One of its most common uses is the description of the sine wave, particularly those used in radio and audio applications....
. RIVA 128 has a single pixel pipeline capable of 1 pixel per clock when sampling one texture. It is specified to output pixels at a rate of 100 million per second and 25-pixel triangles at 1.5 million per second. There is 12 KiB
Kibibyte
The kibibyte is a multiple of the unit byte for quantities of digital information. The binary prefix kibi means 1024; therefore, 1 kibibyte is . The unit symbol for the kibibyte is KiB. The unit was established by the International Electrotechnical Commission in 1999 and has been accepted for use...
of on-chip memory used for pixel and vertex caches. The chip was limited to a 16-bit (Highcolor
Highcolour
High color graphics is a method of storing image information in a computer's memory such that each pixel is represented by two bytes...
) pixel format when performing 3D acceleration and a 16-bit Z-buffer
Z-buffering
In computer graphics, z-buffering is the management of image depth coordinates in three-dimensional graphics, usually done in hardware, sometimes in software. It is one solution to the visibility problem, which is the problem of deciding which elements of a rendered scene are visible, and which...
.
The 2D accelerator engine within RIVA 128 is 128 bits wide and also operates at 100 MHz. In this "fast and wide" configuration, as Nvidia referred to it, RIVA 128 performed admirably for GUI acceleration compared to competitors. A 32-bit hardware VESA
VESA BIOS Extensions
VESA BIOS Extensions is a VESA standard, currently at version 3, that defines the interface that can be used by software to access compliant video boards at high resolutions and bit depths...
-compliant SVGA
Super Video Graphics Array
Super Video Graphics Array or Ultra Video Graphics Array, almost always abbreviated to Super VGA, Ultra VGA or just SVGA or UVGA is a broad term that covers a wide range of computer display standards....
/VGA
Video Graphics Array
Video Graphics Array refers specifically to the display hardware first introduced with the IBM PS/2 line of computers in 1987, but through its widespread adoption has also come to mean either an analog computer display standard, the 15-pin D-subminiature VGA connector or the 640×480 resolution...
core was implemented as well. Video acceleration aboard the chip is optimized for MPEG-2
MPEG-2
MPEG-2 is a standard for "the generic coding of moving pictures and associated audio information". It describes a combination of lossy video compression and lossy audio data compression methods which permit storage and transmission of movies using currently available storage media and transmission...
but lacks full acceleration of that standard. Final picture output is routed through an integrated 206 MHz RAMDAC
RAMDAC
Random Access Memory Digital-to-Analog Converter is a combination of three fast DACs with a small SRAM used in computer graphics display adapters to store the color palette and to generate the analog signals to drive a color monitor...
. RIVA 128 had the advantage of being a combination 2D/3D graphics chip, unlike Voodoo Graphics. This meant that the computer did not require a separate 2D card for output outside of 3D applications. It also allowed 3D rendering within a window. The ability to build a system with just one graphics card, and still have it be feature-complete for the time, made RIVA 128 a lower-cost high-performance solution.
Nvidia equipped RIVA 128 with 4 MiB
Mebibyte
The mebibyte is a multiple of the unit byte for digital information. The binary prefix mebi means 220, therefore 1 mebibyte is . The unit symbol for the mebibyte is MiB. The unit was established by the International Electrotechnical Commission in 2000 and has been accepted for use by all major...
of SGRAM
Dynamic random access memory
Dynamic random-access memory is a type of random-access memory that stores each bit of data in a separate capacitor within an integrated circuit. The capacitor can be either charged or discharged; these two states are taken to represent the two values of a bit, conventionally called 0 and 1...
, a new memory technology for the time, clocked at 100 MHz and connected to the graphics processor via a 128-bit memory bus. This provides memory bandwidth of 1.60 gigabyte
Gigabyte
The gigabyte is a multiple of the unit byte for digital information storage. The prefix giga means 109 in the International System of Units , therefore 1 gigabyte is...
s per second. The memory was used in a unified memory architecture
Shared memory
In computing, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Depending on context, programs may run on a single processor or on multiple separate processors...
that shared the whole RAM pool with both framebuffer
Framebuffer
A framebuffer is a video output device that drives a video display from a memory buffer containing a complete frame of data.The information in the memory buffer typically consists of color values for every pixel on the screen...
and texture storage. The main benefit of this, over a split design such as that on Voodoo Graphics and Voodoo²
Voodoo2
The Voodoo2 was a set of three graphics processing units on a single chipset, made by 3dfx. It was released in February 1998 as a replacement for the original Voodoo Graphics chipset. The card ran at a chipset clock rate of 90 MHz and used 100 MHz EDO DRAM, and was available for the PCI interface...
, was support for 3D resolutions of 800×600 and 960×720, higher than Voodoo's 640x480.
RIVA 128 was one of the early AGP
Accelerated Graphics Port
The Accelerated Graphics Port is a high-speed point-to-point channel for attaching a video card to a computer's motherboard, primarily to assist in the acceleration of 3D computer graphics. Since 2004 AGP has been progressively phased out in favor of PCI Express...
2X parts, giving it some more marketing headroom by being on the forefront of interface technology. The graphics processor was built around Intel
Intel Corporation
Intel Corporation is an American multinational semiconductor chip maker corporation headquartered in Santa Clara, California, United States and the world's largest semiconductor chip maker, based on revenue. It is the inventor of the x86 series of microprocessors, the processors found in most...
's AGP specification targeting the Intel 440LX chipset for the Pentium II
Pentium II
The Pentium II brand refers to Intel's sixth-generation microarchitecture and x86-compatible microprocessors introduced on May 7, 1997. Containing 7.5 million transistors, the Pentium II featured an improved version of the first P6-generation core of the Pentium Pro, which contained 5.5 million...
. Nvidia designed the RIVA 128 with a maximum memory capacity of 4 MiB because, at the time, this was the cost-optimal approach for a consumer 3D accelerator. This was the case partly because of the chip's capability to store textures in off-screen system RAM in both PCI
Peripheral Component Interconnect
Conventional PCI is a computer bus for attaching hardware devices in a computer...
or AGP configurations.
In early 1998, Nvidia released a refreshed version called RIVA 128 ZX. This refreshed design of NV3 increased memory support to 8 MiB and increased RAMDAC frequency to 250 MHz. These additions allowed RIVA 128 ZX to support higher resolutions and refresh rate
Refresh rate
The refresh rate is the number of times in a second that a display hardware draws the data...
s. The next major chip from Nvidia would be the RIVA TNT
RIVA TNT
The RIVA TNT, codenamed NV4, is a 2D, video, and 3D graphics accelerator chip for PCs that was manufactured by Nvidia. It was released in mid 1998 and cemented Nvidia's reputation as a worthy rival within the developing consumer 3D graphics adapter industry. The first RIVA TNT based card released...
.
Image Quality
At the time of RIVA 128's release, 3Dfx Voodoo Graphics3dfx
3dfx Interactive was a company that specialized in the manufacturing of 3D graphics processing units and, later, graphics cards. It was a pioneer in the field for several years in the late 1990s until 2000 when it underwent one of the most high-profile demises in the history of the PC industry...
had firmly established itself as the 3D hardware benchmark against which all newcomers were compared. Voodoo was the first 3D game accelerator to offer exceptional performance and quality in emerging PC 3D gaming. RIVA 128 was scorned for its lower quality rendering (compared to Voodoo) and rendering errors.
With initial drivers, RIVA 128 used per-polygon mipmap
Mipmap
In 3D computer graphics texture filtering, MIP maps are pre-calculated, optimized collections of images that accompany a main texture, intended to increase rendering speed and reduce aliasing artifacts. They are widely used in 3D computer games, flight simulators and other 3D imaging systems. The...
ping instead of the much higher quality, but more demanding, per-pixel variety. This caused the different texture detail levels to "pop" into place as the player moved through a game and approached each polygon, instead of allowing a seamless, gradual per-pixel transition. Nvidia eventually released drivers which allowed a per-pixel mode. Another issue with the card's texturing was its use of automated mipmap generation. While this improves visual quality and performance in games without mipmaps, it also caused unforeseen problems because it forced games to render in a way that they were not programmed for.
NV3's bilinear filtering was actually "sharper" than that of 3Dfx Voodoo Graphics. But, while it didn't blur textures as much as Voodoo, it did instead add some light noise to textures, because of a lower-fidelity filtering algorithm. There were also problems with noticeable seams between polygons.
While initial drivers did present these image quality problems, later drivers offered image quality arguably matching that of Voodoo Graphics. In addition, because RIVA 128 can render at resolutions higher than 640x480, the card can offer quality superior to that of Voodoo Graphics, as shown in the above Quake II
Quake II
Quake II, released on December 9, 1997, is a first-person shooter computer game developed by Id Software and distributed by Activision. It is not a sequel to Quake; it merely uses the name of the former game due to Id's difficulties in coming up with alternative names.The soundtrack for Quake II...
screenshot. The final drivers released for RIVA 128 support per-pixel mipmapping, full-scene anti-aliasing
Anti-aliasing
In digital signal processing, spatial anti-aliasing is the technique of minimizing the distortion artifacts known as aliasing when representing a high-resolution image at a lower resolution...
(super-sampling), and a number of options to fine-tune features in order to optimize quality and performance.
Drivers and APIs
Drivers were, for a significant portion of the card's life, rather rough. Not only were the aforementioned Direct3D issues apparent, but the card lacked good OpenGL support. With RIVA 128, Nvidia began their quest for top-quality OpenGL support, eventually resulting in the board being a capable OpenGL performer. One major disadvantage for Nvidia was that many games during RIVA 128's lifetime used 3Dfx's proprietary Glide APIGlide API
Glide is a 3D graphics API developed by 3dfx Interactive for their Voodoo Graphics 3D accelerator cards. Although it originally started as a proprietary API, it was later open sourced by 3dfx. It was dedicated to gaming performance, supporting geometry and texture mapping primarily, in data...
. Legally, only 3Dfx cards could use 3Dfx's Glide API.
Like the competing ATI Rage Pro
ATI Rage
The ATI Rage is a series of graphics chipsets offering GUI 2D acceleration, video acceleration, and 3D acceleration. It is the successor to the Mach series of 2D accelerators.-3D RAGE :...
, RIVA 128 was never able to accelerate the popular Unreal Engine
Unreal Engine
The Unreal Engine is a game engine developed by Epic Games, first illustrated in the 1998 first-person shooter game Unreal. Although primarily developed for first-person shooters, it has been successfully used in a variety of other genres, including stealth, MMORPGs and RPGs...
in Direct3D mode due to missing hardware features. It was, however, possible to use the engine's OpenGL renderer, but unfortunately OpenGL support was quite slow and buggy in the original Unreal Engine. Performance in Quake III Arena
Quake III Arena
Quake III Arena , is a multiplayer first-person shooter video game released on December 2, 1999. The game was developed by id Software and featured music composed by Sonic Mayhem and Front Line Assembly...
, a game using an engine more advanced than Unreal Engine 1, was better due to the engine having been designed for OpenGL.
Nvidia's final RIVA 128 drivers for Windows 9x
Windows 9x
Windows 9x is a generic term referring to a series of Microsoft Windows computer operating systems produced since 1995, which were based on the original and later modified Windows 95 kernel...
include a full OpenGL driver. However, for this driver to function, Windows must be set with a desktop color depth
Color depth
In computer graphics, color depth or bit depth is the number of bits used to represent the color of a single pixel in a bitmapped image or video frame buffer. This concept is also known as bits per pixel , particularly when specified along with the number of bits used...
of 16-bit.
A driver for RIVA 128 is also included in Windows 2000 and XP, but lacks 3D support. A beta driver with OpenGL support was once leaked by Nvidia but was canceled later, and there is no Windows 2000 driver for RIVA 128 on Nvidia's driver site today. Neither the beta driver nor the ones come with Windows 2000/XP could support Direct3D.
Performance
At the time, RIVA 128 was one of the first combination 2D/3D cards that could rival Voodoo Graphics. RIVA 128's 2D capability was seen as impressive for its time and was competitive with even high-end 2D-only graphics cards in both quality and performance.Competing chipsets
- MatroxMatroxMatrox is a producer of video card components and equipment for personal computers. Based in Dorval, Quebec, Canada it was founded by Lorne Trottier and Branko Matić....
m3D, Mystique 220Matrox MystiqueThe Mystique and Mystique 220 are 2D, 3D, and video accelerator cards for personal computers designed by Matrox, using the VGA connector. The original Mystique was released in 1996, with the slightly upgraded Mystique 220 coming in 1997.-History:... - 3Dfx Voodoo Graphics3dfx3dfx Interactive was a company that specialized in the manufacturing of 3D graphics processing units and, later, graphics cards. It was a pioneer in the field for several years in the late 1990s until 2000 when it underwent one of the most high-profile demises in the history of the PC industry...
, Voodoo² - ATI Rage seriesATI RageThe ATI Rage is a series of graphics chipsets offering GUI 2D acceleration, video acceleration, and 3D acceleration. It is the successor to the Mach series of 2D accelerators.-3D RAGE :...
(Pro was the most recent at the time) - S3 ViRGES3 ViRGEThe S3 Virtual Reality Graphics Engine graphics chipset was one of the first 2D/3D accelerators designed for the mass market.-Introduction:...
, Savage 3DS3 SavageSavage was a product-line of PC graphics chipsets designed by S3.-Savage 3D:At the 1998 E3 Expo S3 introduced the first Savage product, Savage3D. Compared to its ViRGE-derived predecessor , Savage3D was a technological leap forward... - Rendition Vérité V1000 & V2x00Rendition (company)Rendition was a maker of 3D graphics chipsets in the mid- to late-90's. They were known for products such as the Vérité 1000 and Vérité 2x00 and for being one of the first 3D chipset makers to directly work with Quake developer John Carmack to make a hardware-accelerated version of the game ....
- PowerVR Series 1PowerVRPowerVR is a division of Imagination Technologies that develops hardware and software for 2D and 3D rendering, and for video encoding, decoding, associated image processing and Direct X, OpenGL ES, OpenVG, and OpenCL acceleration....