3Dlabs Permedia 2 review

Permedia 2

3Dlabs can be proud to be among the first gaming texture mapping 3d accelerator to the PC. However, Gaming Glint was not very useful and did not gain the company any valuable mindshare. The next chip Permedia 1000 started only with OpenGL and other drivers for professional applications. Still, their owners were among the lucky few of the time who could enjoy accelerated GlQuake. "Pervasive 3D" strategy enough for 3Dlabs to keep reaching for mainstream. When second-generation Permedia arrived in the market in the fall of 1997 with support for both Direct3D and OpenGL, gamers were watching. It was quite an advanced chip with significantly higher per clock performance than the first Permedia. It kept high quality, high resolution output qualities of professional boards, and seemed future proof for the time. It newly integrated beefy DMA engine, AGP interface, full triangle setup, true color 3d calculations and much improved video engine with MPEG2 acceleration.

The card


Nothing much to get excited about, Permedia 2 boards look simple, cost-efficient.

Creative Labs surprisingly avoided first Permedia, but they came back to 3Dlabs for the second. By that time the CGL API was history, so there is no 3D Blaster compatibility with exception of Battle Arena Toshinden 2.5. The card in the review is Graphics Blaster Exxtreme Value Edition, with 4MB of SGRAM and AGP bus it well represents the game-centric choice of Permedia 2 board. 8 MB cards were also common and would do a bit better though. Either my card is unlucky or Creative pushed this one to the max. Permedia 2 is specified to run at 83 MHz and all cards I've seen used synchronized SGRAM memory. However, Entech softwares are reporting chip clock of 2/3 of memory, if this is correct then it would be even lower than the first revision of the first Permedia chip. From CT6620's 82 MHz you cannot gain more than two megahertz without running into artifacts. That's why there aren't overclocking results. It wasn't until Permedia 2V die shrink that clocking got some headroom (~15%). Under the heatsink, you would find the Texas Instruments logo as well and the chip is also known under their codename as TVP4020. The alliance continued, Permedia 2 integrates TI's 230 MHz DAC with 256x32 bit texture lookup table supporting four and eight-bit paletted textures. The last generic Permedia 2 driver version 2105 from April 1999 is used.

Even professional FireGL card doesn't look dangerous. Clocks are a bit relaxed at 80 MHz.

Architecture

As you can see on cards, not all AGP pins are used, because only 66 MHz interface speed was implemented. Pipeline queue, sideband addressing, and direct texturing from system memory are supported. Triangle setup engine claims 100 MFLOPS just like Delta, but unless it has a separate clock domain it had to be redesigned for halved per clock performance. Graphics pipeline itself is a mere evolution of first Permedia, again using 3d units as a superset of 2d functions. 3Dlabs set onto removing bottlenecks of the Hyperpipeline. 32-bit registry file of Permedia 2 is preceded by FIFO prolonged to 256 entries. Host accessible is also output FIFO 32 bits wide (tag-less). Smooth vertex shading in 16-bit color depth requires manually enabled "free" dithering. To my surprise, Gouraud shading remained two-cycle operation like with first Permedia, yet geometry performance remains respectable. Subpixel precision can be selectively adjusted per polygon or even disabled to speed up rendering. Texture address unit also properly handles perspective correction. Nevertheless, there is an option for a less accurate division to avoid speed impact. In any case, the correction is faster and more precise than with the first Permedia. Addresses are then passed to the texture read unit for fetching needed texels. Texturing unit is backed by cache sufficiently speeding up bilinear and even trilinear filtering, but mipmapping can still be more costly. Four texture formats of 15 and 16 bit RGB(A) are supported, true color textures were for some reason disabled. Additional LUT formats are available for 2d rendering as well. Fog unit applies linear interpolation per vertex with a value calculated by host function and can reject completely fogged fragments. Blending unit supports various logical functions. Unfortunately, additive texture blending needed in many advanced games is still unavailable. Newly implemented optimization can skip frame buffer reads of pixels covered by texel with alpha value of one. In the end, dithering can adjust colors into a final format and I did not always like what this stage does. The memory controller looks the same, but buffers in local memory now do not have to be allocated contiguously. Permedia 2 not only offers various masks like scissor, chroma, and color component tests, but the whole pipeline can be skipped and the host can use direct access to local buffer for custom programs.


Texture colors in X often show excessive banding and dithering would only add annoying pattern to the mess.

Specification says fillrate is halved when Z-buffering is used, but I checked it and doubt Z-buffer is the culprit here. In fact, depth buffering can improve performance as one would expect from pipeline rejecting pixels failing hidden surface tests. There is no way depth buffering would eat half of the memory bandwidth so what is the reason why Permedia stays behind the expected performance of highly parallel architecture? While it should have allowed single cycle 3d pixel performance I could not get significantly above results of two cycle-like speed no matter how many features were disabled, Gouraud shading included. This riddle remains to be solved. But I am pretty sure the origin of halved depth buffered fillrate comes from theoretical fillrate figures of 3Dlabs, where successful depth test means additional write to the frame buffer, causing drop of theoretical maximum fillrate to 1/3 or 1/2 for first or second Permedia respectively. However these figures do not take into account any following expensive operation depth test can save, like texture mapping.

Experience

One would expect from 3Dlabs chip good OpenGL performance and only basic Direct3D, but Permedia 2 is counterintuitive in this aspect. Quake games are choppy, the OpenGL ICD is most probably tuned for professional applications. Results from GLQuake bigass demo are especially bad as Permedia is playing it with lots of small freezes. Still, it is one of the few chips, which can run Quake 3, even if transparency issues and of course no lightmaps. There are major problems with lightmaps in newer engines, they just do not work, be it Shogo, Unreal, or Quake 3. Permedia 2 does not support blending of colored vertexes, so developers had to choose between monochrome lighting (i.e. Quake 2) or nothing. Half-Life is much better with OpenGL renderer and Su-27 shows some basic muscle. Direct3D gaming is mostly a pleasant experience, but still far from perfect. Falcon 4 freezes after the intro, Grim is invisible, Warbirds need an older driver to draw textures, but there is no help for Thief where lightmaps cannot be blended. Turok has its profile for Permedia 2 but seems broken with the newer driver. Older driver is fine when draw overlap is disabled. There is a checkbox for Final Fantasy VII support, but when enabled my version is still full of artifacts. Otherwise 3d image quality of Permedia 2 can be quite nice. Excluding missing blending modes, if the rendering is not correct I blame it on imperfect drivers.


There are several things wrong, but still a good show for a 1997 chip.
See Permedia 2 gallery

Results

Permedia 2 often struggles to deliver comfortable gaming at 640x480x16. Older games suit it well and the impact from optional true color rendering is rather small. Performance could be better but hey, if you got the card from a boss to draw some CAD you won't complain. For comparison, Matrox G100 looks like a good candidate to me.

G100 is leading framerates by 9%, however, I would claim Permedia 2 to be a more powerful chip thanks to calculation of real alpha blending and quality bilinear texture filter. But it should also be remembered that Permedia 2 was for its time quite CPU hungry, perhaps a price for a more flexible pipeline that needed more control from the host.

Into downward spiral

Permedia 2 sold relatively well and got 3Dlabs into the gaming space with little effort. Boards did not have the price/performance ratio of pure gaming solutions but became the most widespread 3Dlabs card anyway. Reviews were keen on Permedia 2 for being (almost) the first professional product that can play games as well, even if not so fast.

Later the die was shrunk, creating Permedia 2V, without any clock bump, only DAC speed was raised to 250 MHz. Looking at the Malta print on the chip one can guess the manufacturer is ST Micro. Indeed, the 3Dlabs-TI alliance came to a sad end.

But 3Dlabs was already touting third Permedia as gamers performance chip, yet 1998 became hell for the company. Evens & Sutherland boomed in the professional market while in consumer space the Permedia 2, more expensive to manufacture than planned, quickly became obsolete. 3Dlabs found another foundry partner in SGS Thompson, and later even sued TI for release of confidential information. After a long delay, Permedia 3 arrived in summer 1999 into scorched earth with uncompetitive performance. Its powerful texture blender capable of single-pass specular bump mapping was not much of use for games of that time. By now "Pervasive 3D" definitely happened but there is little space left. 3Dlabs reoriented new Permedia to a "workstation" product with gaming abilities and remained silent about consumer market ambitions ever since. In 2002 Creative bought 3Dlabs, earning its board manufacturing and marketing capabilities. 3Dlabs continued their success story purely in the professional market with chips like P10, pushing the edge of GPU programmability. Following P20 with a fully 32-bit floating-point precision per component confirmed devotion to the professional segment. Meanwhile, the ever-growing gaming market business propelled Ati and NVIDIA to a performance 3Dlabs could not keep up with. And the advantages like extremely high sub-pixel accuracy and higher precision float formats were fading away. When their market share shrunk beyond recovery time has come for controlled bankruptcy in 2009. Most of the 3d engineers reportedly ended at Intel. The rest of the company reformed under ZiiLABS, still as a subsidy of Creative, and reoriented their business solely to silicon for mobile devices.