Belated due to DSL service outage:
Xmas said:
...
I'd like to put this all together, since it sums up three main aspects: performance, quality, and transistor count. 4x"b" vs 16x"ad" was just an example that fits for a "typical" game scene (well, typical for the games I play, but this whole discussion is subjective, because it includes quality), it doesn't always hold true.
Thank you for making progress in addressing my points.
* First, a "Doom" style scene. 90° angles only, only vertical and horizontal surfaces:
- Identical performance, identical quality for identical degrees of "ad" vs "b", because full AF is applied to all surfaces
Is performance identical at 90 degree angles? Why is the approach still offering significant performance impact reduction in "Doom" style scenes, when the scene is almost entirely made up of surfaces at those angles?
Depending on your answer to my question, it saves performance impact too, right?
* Second, a flight sim scene. Mostly rather flat ground, but often tilted
- comparing identical degrees of "ad" vs "b": "ad" is faster when turning, but with very obvious quality drawbacks.
Only faster when turning?
As far as image quality, when the ground detail is comprised of a flat texture suitable for AF, I think the observation is valid, if subjective.
Worst case performance is almost identical, however
To summarize what I'm still wondering:
1) Where are you getting indication of wide performance variance when turning for "ad" AF? You're not just assuming that, right?
2) Performance savings would be more hidden by CPU limitations, so I'm not sure an "almost identical" performance impact means muach, at least without having the results you have in mind to evaluate.
3) In any case, on a card like the 16 pipe NV40, it seems clear that regardless (and because of) the above, "b" AF's performance impact should not be a negative, and the behavior of the scene should show it to its strongest advantage, and in my consideration likely to be clearly superior for the scenario outlined above.
- comparing identical performance is hardly possible, because "ad" performance changes too much with the angle
How much is this change that is "too much"?
Ok.
* Third, a "rolling hills" game with many different angles
- comparing identical degrees of "ad" vs "b": "ad" is faster, but with obvious quality drawbacks
You keep saying things like "obvious" to represent the drawbacks as unassailable, but at the same time dismiss the drawbacks of having lesser degree at other angles (again, assuming "b" AF isn't implemented with the same maximum degree, as perhaps a transistor cost might dictate).
They are both "obvious" where they occur, but they can both go unnoticed by the viewer.
No need for subjectively weighting the discussion by substituting a subjective evaluation as an excuse to ignore one or the other, especially if a "b" AF implementation has the same maximum degree and makes the issue moot by delivering the same maximum image quality (the problem is just that this is necessary in order to make the issue of "b" AF image quality disadvantages actually moot outside of subjectivity).
- comparing identical performance ("b" at lower level): "b" still reaches an overall better, more balanced image quality when doing the same work, because the distribution is more sensible.
Why do you keep intermixing a subjective evaluation like this? This is nothing more than repeating that 4x "b" has better image quality than 16x "ad" and hiding behind a lack of specified numbers to propose it as somehow objective to say "lower" is always better than "higher" regardless of actuality.
And even this by itself might allow a higher maximum degree with a given transistor budget, which you exclude from consideration for image quality by consistently and repeatedly ignoring any and all possibility of considering how this advantage manifests at all.
Even still, for this game type, angle dependent AF (the ones we are discussing, AFAIK) doesn't just show benefit at 0 and 90 degrees.
...
Overall, that still leaves the flight simulator case (for 16 pipe, and I'd speculate down to 8 pipe designs) where performance savings seem, to my expectation, likely to be completely unimportant for even high resolutions, when the ground details is delivered by a color texture.
Most games today are a blend between 1 and 3, leaning towards 3. The only consistent advantage for "ad" is that it saves transistors.
That last statement is only because you use subjective criteria to ignore that the advantages for "b" are not consistent either, just like the ones for "ad" that you just dismissed from consideration!
This is what is useless, not your opinion of it offering superior image quality. It precludes any realistic consideration or discussion that might result in a different conclusion, and only by subjective factors that seem geared towards justifying labels like "crappy" or "stupid".
IMO performance is not an advantage of "ad", because "b" can reach better or at least identical quality for the same performance cost.
Because you stipulate something that doesn't make sense as far as I've seen (for example, that the performance advantage for "ad" is minimized in "Doom" style scenes where its more highly filtered angles occur most, and cover more screen area than the occurence of lesser filtered angled surfaces).
This isn't always 4x"b" vs 16x"ad". The numbers may vary depending on the predominant angles in a game. However, I firmly believe that with the same amount of work, "b" can always do at least as good as "ad" regarding quality, and visibly better most of the time.
This is where the problem occurs...you've gone so far into subjectivity that you state as fact that a lesser degree of aniso is always the same as a higher, or simply ignoring its occurence. You've dropped the number 4x (here at least), and sidestep around requiring "b" AF to get up to the same maximum degree (where, of course, I'd agree with you) by simply omitting the possibility.
This ends up ignoring the possibility that the "consistent" transistor savings might be why "ad" can go up to 16x in the first place (remains to be seen).
This leaves transistor count to be discussed.
On the one hand, people can only notice the difference between 16x and 4x when comparing to different screenshots, and on the other the difference between 16x and 2x on some angles on different surfaces would jump out at them? OK...
...So the ideal tradeoff for you would be to limit to optimally implementing only up to 4x AF with high performance? What strikes me here is that it sounds like, since surfaces at 2x AF versus 4x AF would be a less obtrusive change, that 4x"ad"AF would be better than 16x, because reducing the glaring difference between 16xAF and 2xAF outweight the benefit of 4x to 16x?
You aren't trying to spin my words, are you?
No, it is the logic you present as I see it, as discussed above.
People do notice the difference between 4x and 16x AF. However, you notice the difference between two adjacent surfaces on one image much, much easier than the difference between something you see and some other image you have in your mind.
So, the difference in changing degree at varying angles is more significant than the change from increasing degree at some angles, is what you're saying, right?
16x"ad" is better than 4x"ad".
According to the logic of your statements, minimizing the change in degree at varying angles is more significant than the loss from dropping maximum degree used.
This is the only reading of the logic you present that fits categorically dismissing implementing "ad" AF as completely without any conceivable image quality benefit merit even compared to "b" AF of lesser maximum degree, or any other merit, as you continue to do. Any other logic leaves them both with (performance independent) image quality advantages and disadvantages, to consider in conjunction with performance and transistor savings factors, and you not disagreeing with my criticisms of lack of objectivity when you proclaim "always" when you do, and make the 16x and 4x comparisons you do.
Again:
Xmas said:
However, I firmly believe that with the same amount of work, "b" can always do at least as good as "ad" regarding quality, and visibly better most of the time.
And as necessary to be logical and consistent with objectivity, and not ignoring the possibility of higher AF degree when it manifests, visibly worse, and at angles that are certainly objectively quite common in specific game types. Again, unless the "b" has the same maximum degree.
What I don't understand is how you determine that 4x versus another surface at 2x is so significant that the 4x "ad" is not categorically better than 16x "ad", yet 4x "b" is. There just doesn't seem to be room there for a position as unassailable as you attempt to portray.
Unless you are looking at colored mip levels in a tunnel. Which is why I'm still curious about game scene evaluations you have in mind.
However, it is not necessarily better than 4x"b".
It is worse at certain angles, and better at angles that occur frequently, even in the game types you agree are most common.
"Not necessarily" doesn't mean "never". I'm arguing with your commentary based on the latter, I've never disputed the former once, have I?
Or, generally, Mx"ad" is not necessarily better than Nx"b", M>N. The numbers just don't tell the whole story.
True, that's why I'm trying to discuss it in a broader context than used to dismiss it as "crappy" and "stupid" when looking at just the numbers that occur at the "ad" worst case angles. I'm not proposing that the best case angles are the only factor, I only keep mentioning them because that is the part you refuse to acknowledge as having any possible merit.
If they cut down AF to put in other features, then I think they got their priorities wrong.
Even if those features were floating point texture filtering and/or work to speed it up?
Now, on to transistor count. There are lots of other features than the ones you mention. What about brilinear filtering, for example?
I don't understand what you are asking in the context of the statement, though I am still wondering about your thoughts on the question of performance and transistor savings with regard to floating point texture handling.
If you want my view of brilinear, in short it is a positive feature that becomes negative when mislabelled and used to misinform consumers. The only parallel to "ad" and "b" AF I see is if "b" was used in test apps and for colored mip levels and "ad" of the same degree was used everywhere else, i.e. deception. That's only while brilinear is still used in the same way, which it seems it won't be at the current time (for the NV4x series, at least).
They managed to get 8x"b" AF into NV20 with its 57M transistors.
Which was 4 pipes with much less processing functionality...
Even into NV30 which was already huge.
True, but how much of that transistor count growth was due to register files for floating point processing and the associated functionality, as well as vertex processing changes? The NV30 is somewhat of an enigma in this context in how little it delivered and for what transistor cost.
Now they produce a 220M+ chip and don't have the space for the decreasing relative cost of non angle-dependent AF?
Errr...but they quadrupled the pipeline/quad count. BTW, not that this gives useful info outside of your proposition that the NV20's transistor count tells us something by itself: 4*57 = 228.
I don't quite see how your reasoning holds together without some further clarification.
I don't see your reasoning so far.
For myself, I think "ad" might be the way they managed up to 16x degree AF with practical performance impact and transistor budget, which remains to be clarified.
I also think support for AF on floating point textures might have been a consideration (you keep not responding to my query about considering the issue), either in transistor savings (if "b" AF is either absent or restricted in degre) or performance (if "b" AF is present, though I don't think this is likely to be significant for traditional texture usage for the 16 pipeline part).