Naturally, we were interested in the possibility of uncovering such a scandalous thing. We've dug into such juicy stories in the past, and the results have sometimes been rather enlightening. So we fired up our test rigs, busted out our sleuthing skills, and set out to see what exactly was happening with ATI's drivers in DOOM 3. Read on to see what we found.
The problem with ATI's drivers in DOOM 3 has to do with texture filtering, and it is more visible on some textures than others. Textures with high-contrast patterns on them, like the metal grates in the game's Mars base, tend to show the problem most vividly. There is a clearly visible transition between mip map levels, as if trilinear filtering were not happening as it should. Here's an example.
This is in DOOM 3's High Quality mode, where 8X anisotropic filtering and trilinear filtering are both supposed to be active. However, as you can see, there's a mip map transition line running across the middle of the grate on the floor in our example screenshot. This problem is visible throughout the game whenever a similar texture is used on the floor. The screenshot shows the problem, but it's more obvious in motion. Once you've noticed it, it's rather distracting, like the transition lines were with bilinear-only filtering on Voodoo cards back in the Quake 2 days. Having those things track on the floor out in front of me as I moved was annoying.
We used the Catalyst 4.9 beta drivers that ATI released specifically for DOOM 3 to take this screenshot, but the exact same problem is visible with ATI's latest official drivers, Catalyst 4.8. (By the way, all the images from DOOM 3 in this article have been brightened up a bit by using a gamma 1.4 on them in Paint Shop Pro. DOOM 3's own gamma and brightness settings don't affect screenshot output, and the game's output is a little too dark by default for our purposes.)
One way around this problem is to use DOOM 3's console commands to flip out of trilinear filtering and then back into it. The command to turn off trilinear and just run bilinear filtering in DOOM 3 is similar to what you'd use in old Quake engine games, but slightly different:
image_filter GL_LINEAR_MIPMAP_NEARESTThat will put the renderer into bilinear filtering (and shouldn't affect anisotropic filtering). Then you can flip back into trilinear mode with this command:
image_filter GL_LINEAR_MIPMAP_LINEAROnce you've done that, the transition line on the floor magically vanishes:
There's no need to issue a "vid_restart" command to reset the rendering engine. In fact, if you do that, the transition line comes back again.
For those of you having trouble seeing the difference, here's the output from a mathematical "diff" operation between the two images:
So, is that the end of the story? What happens if you benchmark the ATI card before and after toggling filtering modes on the command line? Is the Radeon X800 Pro doing less work at the game's default settings? We ran some timedemos, using our own trusty "trdemo2" demo, and found this:
Uh oh. The ATI card produces the correct image after being told to do trilinear filtering in the game's console, but that's accompanied by a big performance drop. Could it be that ATI's drivers are compromising image quality for performance? Is the console command somehow defeating this optimization? Or could it be that the console commands are overriding the adaptive trilinear filtering algorithm that ATI snuck into newer Radeon GPUs?
|Zotac and Thermaltake join forces for a liquid-cooled GTX 1080||2|
|Zotac Magnus EN1080 may be the fastest mini-PC yet||8|
|Seagate 5TB BarraCuda and 2TB FireCuda drives are big and speedy||18|
|Nvidia licenses Rambus' DPA tech for side-channel data leak prevention||17|
|iOS 10.1 update includes portrait mode beta for iPhone 7 Plus||6|
|Lenovo ThinkCentre and ThinkPad machines pack AMD PRO APUs||24|
|Biostar belatedly announces GTX 1060 graphics cards||15|
|HyperX Alloy keyboard gets lean and mean for FPS gaming||11|
|AMD drops prices on the Radeon RX 460 and RX 470||54|
|Signing your posts is daftly redundant. Meadows||+27|