JohnC Gives NVIDIA and ATI the Finger

January 30th, 2003 by jvm

Everybody’s favorite gaming geek programmer, John Carmack of id Software, has updated his .plan with information on Doom 3 and the recent video card offerings from NVIDIA and ATI, called by their codenames NV30 and R300, respectively. Here are the highlights:

  • R300 can run in three modes, the NVIDIA card in five. He runs an NV30 in his workstation so he can test more modes with one piece of hardware.
  • The modes correspond to increasing levels of quality, but some modes are vendor specific.
  • The default mode on R300 now is ARB2, which I think is the highest quality mode. In this mode, the NV30 runs at half the speed of the R300.
  • In the vendor-specific NV30 mode, however, the NV30 wins in speed, but how the quality compares to ARB2, isn’t clear to me.
  • NVIDIA says it can improve ARB2 performance with improved compiler technology
  • The NV30 makes enough noise to annoy the otherwise fan-noise-immune Carmack.
  • NVIDIA’s drivers are still better, but ATI’s are continuing to improve
  • For developers, the cards offer some choices. Slower fragment programs on the NV30, but large instruction counts. Faster on the R300, but program limits that he’s already encountered.
  • For consumers, he says the choice is not clear cut at all, especially with the 2-slot requirement and loud fan on the NV30.

Carmack then goes on to discuss very technical details of programming the latest cards and some information on the Doom3 engine. As far as I can tell, it’s mostly non-game-related.

For context, keep in mind that (a) the NV30 is not out on the market yet, and will cost a lot when it does, (b) the R300 cards that are out already are performance competitive with the NV30, (c) NVIDIA will probably have Linux driver support the day that the cards are available to the public, and (d) there are currently no fully-featured, 3D drivers for the R300 under Linux. (If this situation has changed, let me know.)

4 Responses to “JohnC Gives NVIDIA and ATI the Finger”

  1. Anonymous Says:

    [q]”In the vendor-specific NV30 mode, however, the NV30 wins in speed, but how the quality compares to ARB2, isn’t clear to me.”[/q]

    Actually, you’ll note that he states that the precision mode that ATi offers is somewhere between the ones NVidia offers. He explicitly states that NVidia has the higher precision:

    [q]To make it even more complicated, the exact
    precision that ATI uses is in between the floating point precisions offered by Nvidia, so when Nvidia runs fragment programs, they are at a higher precision than ATI’s, which is some justification for the slower speed. Nvidia assures me that there is a lot of room for improving the fragment program performance with improved driver compiler technology.[/q]

    Of course I knew that ATi was lower precision than NVidia a while ago. They only do 96-bit shader operations while NVidia supports 16, 32, 64, 128 bit precisions (I’m not sure about the 16bit one, or if there’s an 8bit one). So as far as quality goes, NVidia’s is better because of their TRUE full 128-bit floating point capability. ATi doesn’t have this *yet*. I sure hope they do on the R350.

    Personally, as far as drivers go, I doubt we’ll be seeing any decent “open source” drivers for the 9×00 series. ATi has made it abundantly clear to certain individuals (regardless of that one unofficial posting by an ATi person on the DRI list) that they don’t feel the need to disclose “confidential” hardware information anymore since they have their own Linux drivers.

    So no one can play the “open specs” advantage of ATi anymore. And currently NVidia has BSD, Win9X, Win2k, WinXP, MacOSX, and Linux drivers. That’s more than ATi can boast….

    And as a BSD user I feel rather put out in the cold by ATi over that. Until they say otherwise, NVidia has my vote in $$$.

    It sounds like from his post that when he uses the ARB code path that he doesn’t have control over the precision that’s used (which can give a BIG speed boost) whereas when using the NVidia specific optimized path he has full control and can get a big speed boost. In comparison, ATi has no way of controlling the precision and it’s high precision all the time (well, 96-bit for most things anyway).

    The thing I was extremely disheartened to hear was the lack of blending operations in floating point modes, this is shocking to me really.

    Anyway, overall the view of the card I was looking for from a developer standpoint. From my own personal development experience (which is far limited in comparison to his), his statements about NVidia’s drivers being somewhat better I can echo fully. ATi is getting there, but we’ll see what happens…

    And don’t give me that old song and dance of “NVidia crashes my X11 like crazy!” I’m sick of hearing it, the office I work at is FILLED with NVidia cards (Nothing else, ok, there is one or two Radeon 7000 boxes but we don’t speak of them). I have never had a crash in X due to my drivers. I’ll take Carmack’s line on that and say: “There are many factors that can influence stability that are beyond the control of the driver” in so many words. In fact, I’m trying to remember when X last crashed…

    Competition is always good for my pocketbook.

  2. dinivin Says:

    Well, ATI certainly has linux drivers out for the r300 (and supposedly they’re working on FreeBSD drivers) but I don’t know how full featured they are.

  3. Anonymous Says:

    Unfortunately I have not succesfully convinced all in the office to renounce their faith in Windows, but we’re working on it ;) But at least 4 of us run nothing but Linux just about. And all day under heavy loads of a local copy of Oracle and Apache 2.0, Mod Perl 2, etc. With XMMS Mozilla, a few editors and shells all running too on each system :) As far as BSD, that’s something I’m experimenting with at the moment. Trying to see if I can have just as nice a development environment in it as I do under Linux. I should note that my box and one other perons’ is RedHat 8.0, while the other two are Debian Unstable.

    Almost all the boxes here are Dell boxes. The exception being my personal custom PC:

    Athlon XP 2100+
    EPOX 8KHA+
    3COM OfficeConnect SOHO/100
    512MB Mushkin PC2100 CAS2.5 DDR
    GeForce 3 Ti 500 64MB
    SoundBlaster Audigy
    Maxtor 40GB-ATA100
    Maxtor 20GB-ATA66

  4. Anonymous Says:

    This is just like the Ford V. Chevie debate, some people like one, and some the other. Enjoy : )

Leave a Reply

You must be logged in to post a comment.