Nvidia GF4 Aniso and FSAA

No, I was actually quoting from some performance tests I did with another member on this board, where my Ti 4200 outperformed the Radeon 8500 with 2x FSAA and full anisotropic

That sounds like your kind of "conclusive" testing.. Take a Ti4200 with no AA and no anisotropic filtering and benchmark against an 8500 with 2xAA and full AF. lol.

For starters, there is *no* way to directly test unless you handicap one of the tests to some degree. To suggest otherwise would be simply ludicrous.

The only *close* comparison would be 2xQ AA + anisotropic (level N+1) vs GF4 4xS + anisotropic filtering (N). This is the only AA mode on the GF4 that actually has something that comes down to performing texture samples, and even at this the comparison is uneven (i.e. 4xS being 2x + 2x, the 2x is not an all encompassing SS per pixel, not to mention includes 2 samples for edges). The AF is obviously for the bilinear ~ trilinear, so the 8500 would require a level higher than the GF4.

I cant say I can find any test that yields the 8500 vs GF4 in an even light, and even with the singular "make shift" handicapped mode such as above, there is no extrapolation to make such a baseless claim as "Ti 4200 outperformed the Radeon 8500"

That screenshot shows exactly what I was talking about....... You were, apparently, talking about a totally different idea than I was.

There is obviously something totally different as far as what the subject is. I cannot see a distinguishable difference between both through exhaustive testing. It's nearly identical.

8500
8500q3.txt


GF4
gf4q3.txt


The only difference between the two is the pickup pad is in it's "glow" frame. lol.

Cheers,
-Shark
 
Sharkfood said:
That sounds like your kind of "conclusive" testing.. Take a Ti4200 with no AA and no anisotropic filtering and benchmark against an 8500 with 2xAA and full AF. lol.

Um, okay...don't know how you got that one...

The only *close* comparison would be 2xQ AA + anisotropic (level N+1) vs GF4 4xS + anisotropic filtering (N).

Um, no...if you want to go down that road, you'd have to at least select 4x AA on the Radeon, due to edge AA considerations. Anyway, what kind of Radeon 8500 do you have? Would you like to compare it against my GeForce4 Ti 4200?

There is obviously something totally different as far as what the subject is. I cannot see a distinguishable difference between both through exhaustive testing. It's nearly identical.

The difference that I'm describing is that the MIP map levels are seprated by two straight lines each on a Radeon 8500, and by semicircles on a GeForce. It's not very hard to see, though it is much more obvious if you use bilinear filtering.
 
Um, no...if you want to go down that road, you'd have to at least select 4x AA on the Radeon, due to edge AA considerations

I guess you didn't read the ".. (i.e. 4xS being 2x + 2x, the 2x is not an all encompassing SS per pixel, not to mention includes 2 samples for edges).." and that is the whole point.

Would you like to compare it against my GeForce4 Ti 4200?

I've got both here and have done very comprehensive comparisons. Like I said already, there are no "equivalent" comparisons that can be made since the two use totally different methods for AA.

You can either short-change the 8500 in texel samples, or short change the GF4 in edge/AA samples. Either way, you build an incomparable comparison, so depending on what your personal fanboy agenda is, you obviously pick the one that "wins" for your favorite IHV. It is only objective to point out that a 4xS vs 2xAA gives a small advantage to the 8500 as it's missing 2 multisamples for edges and a small advantage to the GF4 as it's 2xAA hasn't been documented or proven to be all encompassing 2xSSAA samples. To pick any other comparison has no texel samples on the GF4 and therefore is all GF4 biased for performance reasons.

So your closest comparison is the one in favor of the 8500 in terms of performance, but it's not exact.. only close. When someone sets out to prove an agenda, they will gloss over these facts to create an easy "win"- but we dont do that kind of thing here. Ya might want to stick to nvnews or Rage3D for that sort of thing, depending on your flavor. :)

The difference that I'm describing is that the MIP map levels are seprated by two straight lines each on a Radeon 8500, and by semicircles on a GeForce

I'm not seeing it when LOD Bias is set to closest match between the two.

I also explained how the 8500 was previously performing trilinear (the same way S3 and 3dfx were due to segmented memory models in years past). It caused quite a ruckus when Microsoft used the artificially colorized mipmaps as part of their WHQL trilinear certification when most all card (except NVIDIA's) failed this part of the cert. It was later deemed to sample within a mipmap as "legal" versus visiting the next mipmap and such colorization was thrown out of WHQL. So this throws out using colorized as a method of clamping filtering.

Cheers,
-Shark
 
Sharkfood said:
I guess you didn't read the ".. (i.e. 4xS being 2x + 2x, the 2x is not an all encompassing SS per pixel, not to mention includes 2 samples for edges).." and that is the whole point.

I read it. I just don't agree.

The GeForce4 depends on anisotropic filtering to improve texture quality, not FSAA. Its anisotropic filtering technique is far more comprehensive than ATI's, and displays far less aliasing.

So, it would probably be best to go ahead and consider that a Radeon 8500 with 2x FSAA and 8-degree anisotropic is roughly equivalent to a GeForce4 with 2x FSAA and 8-degree anisotropic.

Why? Because the Radeon 8500 should run a slightly lower degree of anisotropic filtering because its FSAA increases texture clarity. Additionally, it needs to run a slighly higher degree of anisotropic filtering because its anisotropic isn't as encompassing. So, they should roughly even out, giving similar image quality (I would probably still choose the Ti4200 in this scenario due to the fact that I do play the occasional flight sim).

One thing to keep in mind:

In filtering textures, 4x SSAA should be roughly equivalent to multiplying the max degree of anisotropic by 2 (Since it doubles the number of texture samples in all directions). 2x SSAA lies somewhere in between. Yes, I do know that I am assuming an OGSS pattern, but a pseudo-random sampling pattern will be as good as OGSS in texture filtering only in a best-case scenario. In other words, this sort of comparison, at best, is in favor of the Radeon 8500.

I also explained how the 8500 was previously performing trilinear (the same way S3 and 3dfx were due to segmented memory models in years past).

I know you were talking about that. I really don't care, as it's been fixed. The difference I'm talking about is still there, and very obvious in your screenshots.
 
The GeForce4 depends on anisotropic filtering to improve texture quality, not FSAA.

As does the 8500, but with FSAA that can also achieve this end as well.

Its anisotropic filtering technique is far more comprehensive than ATI's, and displays far less aliasing.

Another opinion formulated based entirely on a preference for IHV versus real, hands-on testing. Disqualified.

Everyone knows about the 45 degree angle issue with the 8500's adaptive AF, but this doesn't apply to the formula as a whole as this would give a smooth curve of "equivalent" to "non-equivalent" depending on the angle of a texture. But as you have zero experience in either case, your statement is still an uneducated guess at best.

So, it would probably be best to go ahead and consider that a Radeon 8500 with 2x FSAA and 8-degree anisotropic is roughly equivalent to a GeForce4 with 2x FSAA and 8-degree anisotropic

I don't need to go any further than this. Your IHV preference has blinded you enough to try and make a case that 2xSS + 8x anisotropic filtering + bilinear is "equivalent" to 2xRGMS + 8x anisotropic filtering + trilinear, which to anyone with any shred of objectivity can clearly see is far from equivalent... it's not even a "roughly" matter here, but instead a massive handicap for the RGMS/trilinear case... I'd prefer to keep comparisons outside the realm of the surreal.. you prefer to make the comparisons beyond all recongition of perversion.

So I guess we can just agree to disagree. If your comparisons to build your hypothesis require that a contender perform geometrically less bandwidth and rendering needs in order to declare some sort of IHV "winner" for performance- then so be it. It's just the grain of salt needed to be ingested for such a comparison will need to be larger than most solar systems.
 
Chalnoth said:
Althornin said:
Where are you getting this?
I dont think its beginning to look like that at all. Please show me some of the evidence you've collected. Oh wait, you dont have any.

It's called screenshots, though I will admit it is not certain that the issue is based on the texture axes not being parallel to the screen axes.

Anyway, look at the screens that Sharkfood posted on page two of this thread. Most of the texture aliasing occurs at the center of the image, and tapers off towards the sides. It turns out that for this texture, the texture axes are rotated 45 degrees from the screen axes in the center, and are parallel at the sides of the shot.

Additional evidence can be found in some Serious Sam screens that were floating around, that show an opposite effect. The texture was aligned parallel with the screen axes in the center of the shot, and skewed at around 45 degrees towards the sides. Guess what? The texture aliasing was only really visible at the sides of the shot.

For these textures, then, it should become obvious that the texture aliasing is only present when the texture axes are rotated with respect to the screen axes. This would seem to be indicative of the anisotropic filtering only filtering along one texture axis.

I went ahead and adjusted the LOD bias on my GeForce4, and it tended to show aliasing much more evenly across the directions (although there was much less to the right of the image...more to the left, in the level I designed to test aniso/aliasing). I believe this is a result of the texture chosen. Here's a shot:

http://169.237.254.233/aliasing.jpg

Update:
The above shot was taken with no anisotropic filtering. Since we are comparing anisotropic, I decided to take another shot with 8-degree aniso. To exame worst-case texture aliasing here, I further moved the LOD bias to -16.

http://169.237.254.233/anisoaliasing.jpg

Make two maps in UT, very much like the one you just made.

Not really necessary. Just take my map, open it up in tournament mode, then move so that you're facing one of the axes of the texture (preferably in the direction that showed the most aliasing in my screenshot above). There should be enough difference here that the shots don't need to be in the exact same position. If there's not, I'll edit the map (Or you could, if you really want to...all you have to do is move the playerstart actor).

Ok, first off, you are comparing two shots at different angles, fine. But they are different shots!! from different games, with different textures, and CANNOT BE COMPARED the way you are comparing them!!

Also, you totally missed my point about the UT maps. With your current map, the textures look different at a 90 degree angle than they do at a 45 degree angle. ergo, comparison (meaningful) is hard, or even impossible. You need a texture that tiles properly and looks the same whetther viewed from 45 degrees or 90 degrees. Only then will you be able to definitavely see what effect U/V "axes" have on texture quality. Otherwise, your comparison is not apples-to-apples.

But to make assumptions as you do based off of screenshots from different games!!! Ludicrous. No comparative basis at all.
 
The only difference between the two is the pickup pad is in it's "glow" frame. lol.

I can see what he was talking about with the mipmap lines being circular on the GeForce, and coming together at a right angle on the Radeon. If you can't see that, I think it's time you went back to the eye doctor :) As to whether or not it matters, that's probably subjective. I can see how this would cause more texture aliasing in the center of your view (or conversely, more mipmap blurring at the sides, depending on how your LOD is set), since the distance to the next mipmap level is greater at the center of your FOV than it is at the side. It sounded to me like that was the point he was trying to make, and I don't see how you can laugh in his face for it and still consider yourselves to be "unbiased" in any capacity.

You could argue about how much this affects the scene, and perhaps even claim that it's generally unnoticable and doesn't affect gameplay. However, 99% of what you guys argue about is generally unnoticable and doesn't affect gameplay, so you're kind of SOL there :)
 
Althornin said:
Also, you totally missed my point about the UT maps. With your current map, the textures look different at a 90 degree angle than they do at a 45 degree angle. ergo, comparison (meaningful) is hard, or even impossible. You need a texture that tiles properly and looks the same whetther viewed from 45 degrees or 90 degrees. Only then will you be able to definitavely see what effect U/V "axes" have on texture quality. Otherwise, your comparison is not apples-to-apples.

Why don't you do it? I'm tired. And it's not that hard if you have UT. Just open up paint and draw the bitmap (square, of course, and power of 2). Then import it into UnrealEd, save it to a new texture package, and off you go.

But to make assumptions as you do based off of screenshots from different games!!! Ludicrous. No comparative basis at all.

I did say that it wasn't certain, didn't I? It's just beginning to shape up that way. If you want to prove me wrong, produce the level. I'm done for right now...
 
I can see what he was talking about with the mipmap lines being circular on the GeForce, and coming together at a right angle on the Radeon. If you can't see that, I think it's time you went back to the eye doctor

I think it's about time you went to the language doctor to learn what "dithering" means. :)

It's the same damn thing, just dithered on the NVxx. Nothing more, nothing less. Observe the angle intersects in the same *exact* point on both approximations. It's not some angular ellipse like some would like the stretch the dithering theory into.. It's just there is more dithering which gives the illusion of some form of curved mipmap boundry. It is surely not the case.

I picked that spot because the window shadows act as nice markers for the STRAIGHT line spots of mipmap boundries in that area.

Notice where the blue, then green, then red intersect? And notice their placement is precisely the same? Notice the only difference you see is the corner of the intersection is dithered? This is the only difference... and yes, ATI did this for a couple driver revs too, and since it offers adverse effects in other games, they *finally* took it out. It looks like hell in games when mipmap dithering is used in conjunction with mipmapping and anyone that plays Tribes2 will testify with it's grid-like textures. (nice sharp that approximates blur/dither near mipmap boundries).
 
Try looking at it in bilinear.

No MIP-map dithering is used in GeForce-series cards (as it was used in the TNT series).
 
Sharkfood said:
It's the same damn thing, just dithered on the NVxx. Nothing more, nothing less. Observe the angle intersects in the same *exact* point on both approximations. It's not some angular ellipse like some would like the stretch the dithering theory into.. It's just there is more dithering which gives the illusion of some form of curved mipmap boundry. It is surely not the case.
The proper D calculation does give a curved boundary (see http://www.opengl.org/developers/do...ec1.1/node83.html#SECTION00681000000000000000), however, many mainstream cards use an approximation for the curve (this is also discussed at the provided link). An easier way to tell is to set the filter mode to GL_LINEAR_MIPMAP_NEAREST, that way you won't get any mipmap blending. If you go look at the old Savage 3D or M7 chips, they used the accurate curve, but in later chips changed it to an approximation. I don't have access to a GeForce board to check their results for myself.
Notice where the blue, then green, then red intersect? And notice their placement is precisely the same?
This should be the same with either the true D calculation or an approximation.
 
Here's a bilinear filtering shot with r_colorMipLevels on:

http://169.237.254.233/mipmap.jpg

You can easily see that the curved MIP map boundaries are not a result of any sort of dithering.

But, I don't know if this is a "correct" calculation or an approximation. Got a way that I can check it, OpenGL guy?
 
Yeah, its pretty clear that the boundaries are curved.

Sigh, yes in Bilinear it is indeed curved. It's not the case with trilinear. Notice the shadow marks on the window shadows and how the mipmaps "suddenly" will fall outside these 90 degree areas.. sigh.

GF4 Bilinear
bilinear.txt


GF4 Trilinear
gf4q3.txt


Thanks for the illustration Chalnoth as it illustrates my point *exactly*..

As with bilinear/radial mipmaps, you can clearly see how the boundries will *cross* the almost perfect 90 degree window shadows that are cast on the ground. With a perpendicular mipmap (straight + 90 intersection), they stay well within and do not deviate from those shadow maps as points of reference.

Thanks!
-Shark
 
What in the world are you attempting to say, Sharkfood? You're going to have to be more clear.

Oh come on, read it again and again until it becomes more clear. :)

In simplistic terms, bilinear and trilinear aren't handled exactly the same as far as mipmapping goes. It's like OpenGL guy said- the radial and D approximation should be the same, but they arent.

If you overlay the mipmap boundries from the bilinear on top of the trilinear, the *angle* of the alleged curve doesnt match.. it's a tad different.. wider on the out extremes on the bilinear.

My description was for you to use the static, straight shadows from the windows as reference to see how the blue mipmap "cuts" into the green a bit more sharply. The same trend follows for each mipmap.

Hope that makes more sense. :)
 
Okay, now I get what you mean about the difference, but that just means that the Radeon's going to be a bit more blurry at the sides (which could, of course, account for the reduction in aliasing that I noticed on the sides of the shots in the level), but what are you meaning by this?
 
Bi- and trilinear is handled the same way, and those two last images shows it quite well, even if it would have been better without the shadows hiding the color transitions. Only difference would possibly be a shift in lod bias, but that's expected since the different filters have different behaviour.

Look at the floor:
The uncolored/red border (mip0/1) in the bilinear image, is where a red tint starts to apear in the trilinear image.

The red/green border (mip1/2) in the bilinear image, is where the trilinear image has the brightest red color, and the green mip starts to be used.

The green/blue border(mip2/3) in the bilinear image, is where the trilinear image has the brightest green color, the blue mip starts to be used, and the red mip stops to be used.

... and so on.

It's perfectly natural that you can see some red tint beyond that shadow, because with trilinear filtering you double the area that each mipmap will be used. But the shape of the 'constant mip curves' are clearly the same.

Btw, GF does not use range as mip selection. It might look like that in most situations, but it realy isn't. If you can find a surface that you can look at almost straight on, and with the anisotropy axis at 45º against the screen coordinates. Then you'll se a quite different mip edge.
 
Well when I was looking through all those screenshots I counted 15 asymptotes at these co-ords: x = (-1,-32,.....,-150). Has anyone noticed that asymptote at (-1,0) looked like it intercepted a line at (0,50)?

Sorry just thought counting asymptotes would be educational and may help people think that bilinear filtering isn't so bad if you have over 128 samples. AFAIK Ati has a max degree of 16x aniso with bilinear. How would 512x aniso look? Would all those moire patterns dissappear?
 
Having a very high degree of anisotropic filtering will not eliminate the need for MIP mapping or trilinear filtering. After all, anisotropic only affects the angle of textures. Textures further away will still be better-off with lower-detail MIP maps (and trilinear will still produce an improvement).

And, again, the number of taps for anisotropic is not important in the least. It is conceivable to get very high-quality anisotropic with a relatively low number of taps (eg. 32 taps or so). The important things about anisotropic are:

1. Maximum degree of aniso
2. Angle preference
3. Performance
 
Back
Top