Re: Wishful thinking
SteveG said:
demalion said:
I think it is a mistake to predicate a defense of Cg based on what you think the industry will have to do because it makes sense to you (and me). There is no reason to presume that developers won't stick to Cg even if it disadvantages or fails to expose the full featureset of other hardware (look at glide)...you give them too much credit as a collective group.
IIRC, Glide grew in popularity simply because there were no other decent options in the marketplace.
At the time of Cg introduction, the same can be said.
Once D3D became a viable solution, I recall a mass migration away from Glide, and widespread industry agreement that proprietary tools were a Bad Thing.
Well, unreal tournament was affected largely by being tied into an investment in glide usage prior, wasn't it? Also, glide didn't try to layer on top of OpenGL and Direct3D, so it wasn't a case of fully supporting glide could be done while still offering perhaps reduced functionality on all other hardware.
The developer community quickly rallied to the cry of "one API for all hardware is a Good Thing". It was a big deal.
Wasn't the quick rally because glide was completely unsupported on other hardware? My concern isn't complete lack of support, but reduced functionality that is "good enough" for developers, and only fully exposed performance/image quality-wise for those consumers who use nVidia hardware (now, and in the future). The seduction of being familiar with glide (Cg) will still be there, but not the concern from the developer's standpoint of losing sales. It could serve to lock nVidia into the 3dfx spot more effectively than 3dfx could manage...is that a good thing?
What percentage of 3D games in the V4/V5 days had native Glide support? Couldn't have been many. Glide had all but disappeared well before 3DFX did.
See above.
I foresee a similar reaction if the developer community perceives that Cg somehow benefits one vendor over another. Other viable HLSLs will be available, so there will be no reason for developers to stand by an HLSL implementation that doesn't provide the same level of support for all hardware.
Then what is the reason for Cg to exist now? See prior posts for the full context of this question. And I doubt developers, collectively, care if one vendor benefits over another, as long as their sales aren't hurt.
All they will do is target Cg, and settle for however that falls out for other hardware vendors. They have no reason to care if a specific hardware part stumbles because of Cg implementation decision, since with Cg being the target, no one will buy that hardware....it doesn't affect their sales as they see it. Whether that is best for the direction of the 3d industry, you'll end up depending on one vendor, and one vendor alone, to determine, which, as I state, is undesirable.
This is a chicken/egg argument. Will games not sell because they run slow on certain hardware, or will hardware not sell because it runs certain games slowly? I argue the former.
? The game will still run on all hardware, just look ugly. If users complain, they can just be told to upgrade to nVidia hardware. BTW...I'm not making this scenario up. :-/
Ultimately, I believe developers target 3D games to hardware, not to languages or APIs.
I think you confuse Carmack with the vast majority of developers.
How it performs on the hardware is all that matters in the end, because that is all that matters to the consumer. You just can't release a game that runs 60 fps on Nvidia's latest hardware, and 20 fps on ATI's latest (similarly-powerful) hardware. The gaming community would crucify you.
Laf...*sigh*, well, the fps doesn't have to be so black and white, it could be 60 fps and 20 fps to
achieve a certain level of quality, and it is not ATi I'm so much concerned about in the near future, but from some future competitor with some exciting new focus in the future (or now that nVidia has done exactly that, is it ok for it not to be possible in future by locking down control over the API used for all cards and not just your own?). Btw, that laugh and sigh is because of the game forums I've been visiting recently, not a laugh and sigh at you.
Developers have hardware from all of the major players, and test on each configuration during development. I think that if Cg disadvantages one piece of hardware, this would be identified during development and corrected (i.e. through the use of a different code path using a different HLSL). And the developer wouldn't be very happy with Nvidia and Cg.
I don't think they would care. Again, I laugh and sigh based on game forums I've been visiting recently. I think they care much more about meeting release dates (again, collectively as a group). And the scenario I envision is more like "20 fps on nVidia, 60 fps on something else" that nVidia would have no interest in facilitating.
I maintain that Nvidia has to keep developers happy to ensure the success of Cg (developers are, after all, the target market), and to do this, they must be careful to not disadvantage other vendors' hardware. If Nvidia tried to pull a trick like that, developers would see through it instantly and move on to greener pastures.
How happy, and for how long? Developers might be happy with the "program once" feature of Cg, and I say that isn't a bad thing, but why would they care about all the other concerns I have? I know gamers only care if it works for them, and if Cg leads to a scenario where a vendor has to charge less for a product because a Cg targetted game doesn't perform better than certain nVidia hardware, even though a slight change to Cg or differing targetting by developers would allow it to, well, I'm pretty sure nVidia, and therefore developers, won't be supporting that tweak, and that most gamers will end up having nVidia hardware. The implication has been made that nVidia can't stop vendors from offering the tweak (I can believe this) and can't stop developers from adopting this (I don't believe this), and it would save me a lot of typing if that implication were substantiated.
To be clear, I don't mind most gamers having nVidia hardware (well I do, because my hardware so happens to be more capable
), I'm just concerned that this will remain true not because of competitiveness but because of the holds nVidia will have on the standard HLSL if Cg (as I understand it will be implemented) gains popularity. I do recognize that Cg will allow a situation where the capabilities of my card (PS 1.4) can transparently benefit, but that is because Cg aims above it, and Cg aims above it because nVidia hardware will be capable of that higher target in the near future. My concern is for when that last is not the case.