Reverend said:
...
DX9 games may be reasonably "plentiful" right now and not a single one of them may have demonstrated why more than 24-bits FP is required... but that's due to the above paragraph. Not due to lack of knowledge by programmers of what's needed for PC 3D graphics to progress.
In any case, this is a simple-looking question with the possibility of complicated answers. ISVs aren't stupid enough to make a game that requires nothing but full SM3.0 precision (32-bits), regardless of whether NVIDIA may have tried to be extremely persuasive.
I really think that nV probably has invested a lot more towards convincing general consumer markets of the benefits of its present "full SM3.0 precision" than with game developers as a group. Too, each developer is in a decidedly different state with regard to its own in-house production tools which have been engineered to support SM3.0 in meaningful and practically beneficial ways. So far, the best developer application of it seems strictly superficial in terms of providing something unique and worthwhile.
What made fp24 so good at the R300 introduction (and so compelling for API adoption) was not "fp 24" in and of itself but rather the quality and practical benefits exemplified by the R300
implementation of fp24, which was not only better in terms of quality than nV's various nV3x color-precision implementations up to and including fp16, but also the fact that in nV3x "fp32" while "supported" was practically unworkable for developers because it was far too slow (meaning much slower than R3x0's fp24 support) and thus of no real benefit to the consumers who bought it expecting that nV3x's fp32 support would in fact have been worth buying in terms of the practical benefits they'd receive from it. I personally don't think a discussion of "fp32" is really worthwhile when it concerns anything outside of the specific implementations of fp32 currently offered by the IHVs--confusing the abstract with the concrete doesn't seem all that helpful to me for these reasons.
2) I think you (and perhaps many others) misread my comments in that thread -- that's not exactly the kind of discussion (i.e. FP24 good enough for games) I was trying to promote. I was trying to figure out why ATI did not or could not go with 32-bits with the R300, given that the NV30 has it (although we know what this meant in terms of performance for the NV30) and given that the R300 really was swell with FP24, when what we know of the progress of the DX9 specifications development and that of the existing IEEE-754. I am not a hardware engineer, so perhaps folks didn't realize this... at the time of the thread, I have no idea how expensive it is silicon-wise for an extra 8-bits !
Not a good idea idea at all to confuse cpu "bitness" with fp graphics pipeline "bitness" because there is such a big and fundamental difference (ie, the difference between a P4 and an A64 is
not the difference between fp24 and fp32 in a graphics chip pipeline, and the difference in "bitness" is merely the tip of the iceburg)...
As to why R300 went fp24 when nV went fp32 with nV3x, I should think that would be obvious. Having access to the same general theoretical and practical knowledge as to manufacturing processes--indeed, using the same FABs even--what was in my view most strikingly different between nV3x and R3x0 was the difference in the
professional judgment the two companies employed. nV3x wound up so far behind R3x0, imo, because of the general gpu design
decision differences between the two companies, which boils down to strictly a matter of judgment.
ATi believed that, first of all, .13 micron manufacturing capability at the time wasn't suitable for fp32-precision gpu pipelines, and that .15 would be better for yields while also allowing them to go to fp24 and 8 pixel-per-clock maximums at the same time. nV, otoh, staked everything on the increased gpu clocks that it believed .13 would provide, and fp16 was expected to counter the handicap of the nV30/5/8 maximum of 4 pixels per clock--the company had been overly dependent on 3rd-party FAB manufacturing-process improvements for several years prior to nV3x and nV3x simply proves it. Hindsight is indeed 20-20 and clearly shows that ATi's judgment for R3x0 design was far better than nV's with its nV3x design.
It sort of reminds me of the old if-a-tree-falls-in-a-forest-with-no-one-around, does-it-make-a-sound question...
If not for R3x0 would nV4x0 ever have been conceived? (I rather think not.)
One thing that intrigues me is whether -- during the (perhaps table-banging) discussions that goes on with MS and various IHVs in next-version-of-DirectX-shaping meetings -- each IHV's knowledge and capabilities to take advantage of (in a very, very proficient and efficient way) current and soon-to-be-available process technology are brought up to MS. Which IHV has the bigger brains, so to speak
. I still have absolutely no idea how the specification process of each DX version starts, progress and ends.
I don't think it a matter so much of rocket science as I think it is a matter of judgment--you can, for instance, design what you think is the best cpu on Earth but if nobody can build it, or build it to run to promise, then it amounts to nothing or little. Engineering design decisions divorced from manufacturing practicalities are simply disasters in the making. Sometimes you get lucky, but mostly you don't. "99% perspiration and 1% inspiration" is a good rule of thumb to follow I believe, as the saying goes...