John Carmack .Plan Update


When John Carmack speaks the world pretends to understand by rubbing its chin and nodding sagely. As near as I can tell, his latest .plan update talks about Nvidia's newest FX card compared to ATI's latest when running Doom III. Read on for some fascinating stuff.

The R300 can run Doom in three different modes: ARB (minimum extensions, no specular highlights, no vertex programs), R200 (full featured, almost always single pass interaction rendering), ARB2 (floating point fragment shaders, minor quality improvements, always single pass).The NV30 can run DOOM in five different modes: ARB, NV10 (full featured, five rendering passes, no vertex programs), NV20 (full featured, two or three rendering passes), NV30 ( full featured, single pass), and ARB2.The R200 path has a slight speed advantage over the ARB2 path on the R300, but only by a small margin, so it defaults to using the ARB2 path for the qualityimprovements. The NV30 runs the ARB2 path MUCH slower than the NV30 path. Half the speed at the moment. This is unfortunate, because when you do an exact, apples-to-apples comparison using exactly the same API, the R300 looks twice as fast, but when you use the vendor-specific paths, the NV30 wins.

*Strokes chin* Never have truer words been spoken. Nvidia really needs to get that ARB2 path sorted out, maybe add some more chips or something.

- Certis


*strokes chin*

I'd also recommend adding more chips. Louder fans = harder work, too. They might want to work on optimizing the fan to eek out another decibal or two.

Seriously, though, Certis hit it right on the head. Are there really people out there, and I'm including the graphics card industry, that understand what John Carmack says? He's like on a different polygon than all of us. I'm glad he's never asked me out to lunch. Conversation would stop as soon as I got past, " 'bout that Doom?"

If you look further down he explains that ARB is a different API that is non-vendor specific. This helps in deciphering his comment above.

Yeah, Im not saying I could read his code and go "Yeah, right there!", but I wasn't too terribly confused by this update. Basically hes saying NVidia has optimized thier vendor-specific paths(the path the data takes from input to output) at the expense of the ARB path, which is a standard. The ATI uses the ARB path primarily, and its just as fast or faster than thier vendor-specific path. Also the bit about the accuracy of the floating point arithmetic in the pipeline was interesting, because I think it has to do with the memory bandwidth differences between the two cards.

I might be wrong on alot of that though, God knows Im not a graphics programmer.