DriversThe Quadro and FireGL drivers differ from the GeForce and Radeon even when they are based on identical files. One part of the driver’s code is aimed only at professional graphic cards and thus they outlaw general public graphic cards. Most of the 3D-creation software overloads the graphic cards with geometrical calculations; texture filtering and shaders are relegated to the background. The situation is the other way around for video games. Naturally, this is the case for most situations - at times the situation is different. Basically, however, it allows ATI and NVIDIA to optimize their drivers for this type of situation.
Another characteristic of professional graphic cards is how they cope with three-dimensional displays. This process is often very different from video games. The processor plays a much more important part, and most of the time the result isn’t completely processed through pipelines. That means that the second image only starts to be built when the first one is quite finished. So, with complex scenes, the processor and graphic cards often restrict performances, no matter how powerful the other factors. Reducing the processor load is very important even when the GPU is pushed to its limits. If one part of the CPU load is assigned through application, the other part comes from the API and the driver. ATI and NVIDIA are able to optimize this part of the process via their drivers. So that increases the driver´s importance even further, and can thus tip the balance in favor of one or the other according to its efficiency.
Each of them also have optimizations designed for several applications, as well as a specific profile which correctly parameters the driver.
OpenGL is by far the most common 3D API in the professional world. NVIDIA has developed a very good and acknowledged OpenGL driver, unlike ATI who has been attempting to catch up for many years. Fortunately for ATI, the driver quality has improved but NVIDIA remains the unchallenged reference in this area. It is important to know that, in the beginning, ATI’s professional OpenGL driver was developed separately in Germany and that it was fused with the general public driver (also under construction) several months ago. As a result of this fusion, the offices have relocated to California; where the excellent and acclaimed Direct3D driver is developed. However, this transfer, even if Ben Bar-Haim, VP of ATI Software, denied it, created many wide sweeping changes in the development team, since only a few developers from the original team have now joined the new one. It is obvious that the new team, even though it has been getting help from several developers of the original FireGL, was not totally efficient from the beginning when faced with this unknown FireGL code. During a visit to ATI’s Californian development center, Joe Chien, in charge of the driver development, told us has that it fully intends to increase the OpenGL driver´s quality to that of the Direct3D´s level, and that several improvement have already been made, and also added that it will be available during the next few months. So this test will provide an opportunity to see the improvements in ATI’s driver compared to NVIDIA.
We have also checked out the current support of high level shader programming language in OpenGL, the GLSL. A 3DLabs utility checks the correct functioning of all points, as well as the impossibility of using GLSL functions in unexpected ways, for instance by using a function with an incorrect parameter. If ATI obtains 98%, NVIDIA only reaches 48%, as most of the tests have been unsuccessful. We have asked NVIDIA to comment and their answer was that the 3DLabs utility is too strict. Nonetheless, it follows the specifications set out by the ARB OpenGL and it is most likely NVIDIA’s driver, which is too flexible and allows operations that do not correspond to specifications. What are the consequences? Chiefly, that there is no guarantee that GLSL shaders developed with NVIDIA’s drivers will work with other GLSL compatible drivers (this, however, makes the point for standardized languages…).
Anyway, technological demonstrations using GLSL shaders work perfectly for ATI and NVIDIA. It is also important to know, that most of the 3DLabs demonstrations are using shaders that are too complex for ATI´s current GPU and are therefore rendered in software.
It is also important to remind you that NVIDIA is using its own high level programming language (it is however possible to compile the shaders to the OpenGL ASM standard model), Cg. This language is very well introduced in the professional world and provides a great strategic advantage for NVIDIA because it is used in several applications.
Professional graphic cards advantages
Except for performance optimizations, these drivers also include additional functions.
The most important concerns points and lines anti-aliasing hardware acceleration. It differs slightly from anti aliasing used in games and that isn’t activated with the GeForce and Radeon. The graphic cards´ performances are reduced when it is activated.
The quad-buffered stereo mode provides a possibility, as is the case with a few general public graphic cards, to emphasize depth in a picture. Of course, it is essential to have stereo goggles or an advanced monitor. The object is to display images with a slightly different point of view alternatively, in order to stimulate each eye´s vision. Goggles for example, mask images for the left eye when they are intended for the right one and the other way around. As the name indicates, this mode uses 4 buffers instead of the usual 2 buffers (back buffer and front buffer), it also uses more memory, and needs more power to keep the same number of images “seen” per second compared to the standard display. The image must be calculated twice as fast.
Another major difference the software management displays are more advanced: first on the memory level as well as by the reducing of a certain amount of unnecessary calculations. For example, it is possible to display a menu (via the overlay planes) on a 3D display without touching the content of this 3D display and without needing to recalculate the image when the menu disappears. Other similar functions exist, but all of this is only useful in very specific cases, as, on the whole, the recalculating of that part of the image temporarily hidden by the menu, does not create problems.