Alliance Semiconductor AT3D review

Alliance Semiconductor AT3D

The Logo of Alliance is on many memory chips of the nineties. Their ProMotion line of 2D graphics also did not fail but was not exactly famous either. The company had one unique aspect among the 3D crowd- they could use their own RAM and even the flash memory for BIOS. For this company, graphics controllers were a way to expand their core business which was memory. Alliance got more attention from gamers when their graphics cores were chosen for Voodoo Rush boards supporting 3D-only chipset of 3Dfx. Technical specs say Alliance chips have a special 64-bit bus for fast communication with Rush. Let me guess, they split the 128-bit bus into two. But what made AT3D more attractive than other (2D only) chips embraced by 3Dfx? They build on fast "Alliance Truecolor" multimedia architecture with the widest bus on offer for the price. They certainly feel better than MX, but I am not benchmarking 2D. Alliance promised an all-in-one solution for the new multimedia age. They did target 3d, launching the developer program "A+" one year in advance, to have games ready and later also port them simultaneously to 3Dfx accelerators as well.

The card

Here is a casual AT3D board with RAM capacity maxed out at 4MB. The chip also supported odd sizes of 1.5 and 3 MB. Removing the expansion memory would make the EDO work in single-cycle mode rather than interleaved. The memory controller of such flexibility is not unexpected coming from memory experts. This particular card has awful signal quality, which should not be blamed on the 175 MHz DAC of AT3D. DirectX5 driver 2.072 was used. It sets the memory clock to 60 MHz and it is reasonable to expect the clock of the 350nm chip to be synchronous.

This review was written a long time ago and in 2024 new information came out thanks to the effort of Vogons member 386SX. And since DEAT, another Vogons member, compiled a driver package and thoroughly tested compatibility, the need for an update became obvious. Older drivers are much more compatible than the last ones, the kind used in the original review. In paragraphs styled as this one, I will cover the findings since I do not want to alter the old text all too much.

Reality check

AT3D arrived in the summer of 1997 and Alliance was showing it off as a true second-generation 3d accelerator. Any 3d rendering scenario should be performed in one pass. I am of course testing pure AT3D board. Specifications promised a fine piece of 3D accelerator, press announcement, and datasheet would make you think you cannot go wrong. Big numbers, triangle setup, free per-pixel perspective correction, all the texture formats and blending operations supported, 128-bit video engine, and 128-bit memory bus. And then you fire up the card, play games and everything is broken. Many people often say something in the early 3D chip is broken, dissing the likes of Trident 975, Rage, or even Riva 128. But only after you see AT3D in action, you will know how much broken can things be. It is not only the monochrome dynamic lighting or stipple patterns used for all but one transparency mode. Even specular highlights are done via a stipple mask. All texture formats from palletized up to 8880 are supported. True color textures are full speed and true color buffer is also possible with a small performance penalty. However, at such depth, only palletized textures may be blended "properly". And since AT3D does not use system memory there is with 4 MB little hope for true color rendering at higher resolutions. On the brighter side, the AT3D datasheet mentions a proprietary technique of Z-buffering in as little as 8KB of off-screen memory. Could it mean AT3D is tiling the scene? Frankly, I have no idea. The datasheet also mentions Z-buffer compression, but the card does not behave as if it has more memory than others.

Gouraud shading is done full speed and geometry looks perspectively ok. Texturing, however, is so warped it turns your accelerated games into chaos barfed all over your display. Perspective correction might have been very well implemented without performance penalty, but somehow in the end all important textures are not adjusted. It reminds me of certain quadrilateral texturing chip trying to render triangles. Such artifacts also prevent closer inspection of Alliances Pseudo Bilinear texture filtering. Let me just say it often exposes problems in the style of Trident 3DImage. Normally such image quality would disqualify the card from benchmarks, but just to get some idea of its performance I measured a few games that were recognizable. Modern art lovers should enjoy the impressive gallery. That is the fun of early 3d accelerators.


I think their aniso filter dropped too many samples at 80°, that mountain is a bit noisy.

This is with the last official driver 2072 which Alliance still offers on their web for download. Even if the basics of textured polygons worked properly the AT3D would not get high image quality marks. Alpha blending is usually done with stipple patterns and the quality of bilinear filter escapes me because of all the warping. The last thing I can deduce from such an awful gallery is per polygon mipmapping with unstable mip selection.

Of course there is now a new gallery with screenshots from almost the whole test suite. On the screenshot above are recognizable patterns. The vertical and diagonal lines have no reason to be there at all. And they can be seen in many other applications. Let me pick one more psychedelic shot. Not because I want to pick on AT3D, but because it exhibits some correlation between the lines and the texture warping that is such a destroyer of image quality.


Heavy Gear is quite an old, dare I say graphically simple video game. But this is the look with driver 2039.

The first observation is that the vertical lines come at 160 pixel distance dividing the screen into four stripes. The middle one isn't noticeable, but the other two are clearly where the ground texture sampling is offset in a most distracting fashion. Looking more at the bottom, the angle of diagonal lines corresponds with the texture perspective. All these lines carve the frame into triangular areas within which textures are rendered in perspectives that often do not meet neighbors.

Experience

The older drivers are a lot more compatible, but there are a few big catches. There is often a performance regression when going back and the quality may get worse. Choice of resolution may be reduced and switching between them may be unstable. The pseudo-bilinear filter can be missing completely.

Homeworld no filter
Homeworld bilinear
Homeworld has a toggle for texture filtering, but there is no difference using driver 2039.

That one most notable feature is missing in early drivers. And one more surprising conclusion from the images: the texturing artifacts are therefore not caused by PBF. It is the last drivers that apply some sort of texture smoothing, despite being generally the fastest.

Of course, there are still games that do not work whatsoever, like Populos and Unreal which cannot be even started. Then I excluded several games because I could not see enough of them to confirm the AT3D is rendering what it should: Falcon 4.0, Lands of Lore 2, Mechwarrior, Monster Truck Madness 2, and Resident Evil. Some games needed even older drivers (2036) to run somewhat properly: Jedi Knight: DF2, Grim Fandango, and Homeworld. And F22, NHL'99 and Take No Prisoners needed driver 2059. All the drivers combined make the compatibility of AT3D... not the worst. Keep in mind that this only means the games were testable. All the image quality complaints above are still applicable, and some of the results passed only with both eyes squinted.

Results

Performance is not the worst, but it is not impressive either. Usually, AT3D fails to deliver on the promise of 30 frames per second at 640x480x16. Only low resolutions could have playable framerate, which is rather disappointing for a chip with the 128-bit memory bus.



This board can manage 74 MHz overclock, giving it a healthy 20% boost in 3d performance. I was too disgusted to measure games again, though.

With older drivers in the mix, the results expanded greatly. Finally, it is time to pick a competition for comparison. Trident is the choice because their 3D Image suffers from its own kind of texture warping. The slow variant of 9750 would not have a chance. The 3D Image 9850 on the other hand looks like a contender.

The AT3D came out on top, especially in minimal framerates. 3D Image was fast enough only at resolutions quite below 640x480. Alliance had a card with better framerates but was still far from comfortable with the resolution which soon became a baseline. It is questionable what good is the 128-bit memory interface for a card without a true bilinear filter and blending that could put it to use. The bottleneck ought to be inside the graphics chip. Second generation accelerator doing everything in one pass this is not.

Conclusion

Well, that was fast. AT3D cannot be used for texture mapping and I don't know any Direct3D game made for shaded polygons only.

This judgment of old was probably too harsh. The AT3D has the most broken implementation of texturing I know. But there are still scenes where it is tolerable. Let's take a look at the pseudo-bilinear-filter.

Viper Racing AT3D driver 2039
Viper Racing AT3D driver 2072
Since the older drivers fail in texture magnification, the comparison is pretty straightforward.

If we forget quality standards, put the missing effects and objects aside, and take the left image as a reference, the textures on the image from the last driver are indeed smoother. This could technically be a texture filter that does, in the amazing world of AT3D, what bilinear filtering did in ours. Without a performance penalty. It seems like some texels spread to pixel areas outside of their normal position. There, by forming the familiar stipple patterns, the colors of different texels are interleaved. When looking not very closely, the effect of proper texture magnification is achieved. If you thought that Mystique went too far with stipple transparencies, the AT3D will show you how far these techniques can go if you are brave enough. Overall screen resolution is imperative whenever stippling is used because it makes the distracting patterns less obvious. Too bad the card does not have the power to run even 640x480 at reasonable framerates. Who knows whether we are looking at cheap hack jobs or intense driver heroics? Should you happen to know more, I beg you to chime in and shed some light on what Alliance was doing. There might be a great story still hidden behind this device of riddles.

However, Alliance had more plans with this architecture. Still in that summer AT3D+ with support for larger frame buffers and full AGP 1x support should be sampled and sometime later AT4D with side-band addressing and 133 MHz AGP support. I take the abandonment of those chips as another proof of how broken the design was. If it could work properly with speeds not lower than measured here, then it could find happy buyers. The initial price was $20 per chip. Alliance also developed its own embedded DRAM that should have been used together with AT3D and newer graphics. 2MB of on-die memory should have power ED2D (AT3D on PCI) and ED4D (AT3D on AGP). At the beginning of 1998, ED3D was demonstrated but never materialized. Alliance did not give up on 3d acceleration after this disaster and announced another 128-bit architecture: Paladin. Its promise of single-cycle bump-mapping was not fulfilled. In the summer of 1998, the company ended all support for graphics technologies and continued business only with memory and embedded electronics. They are still alive today, albeit they moved away from semiconductors.