First some broken thoughts, then a logical examination into the endless possibilities.
As it stands now CG is beneficial to NVIDIA due to the fact that the back end was optimize for NVIDIA designed chips.
development costs, company resources, time, effort, producing code marginally faster than dxhlsl in some cases actually slower in others, games that use cg right now? don't really see how CG is that beneficial to NVIDIA right now
Moreover, Cg is going to be identical to DirectX9's built in HLSL. Therefore, if you’re are an IHV and you DON'T PRODUCE A BACKEND FOR DX9 HLSL, YOUR CARD WILL DEFAULT TO GENERIC DX9 HLSL COMPILER IN THE D3DX library.
If this is true, CG will most likely become the standard unless it has competition which produces a greater net gain in performance.
I've got some words for you to ponder..' ATI WILL NOT SUPPORT CG 'so you can forget this 'profile BS' as ATI is not going down that road...maybe after that is driven into your skull twenty times you will see only NVIDIA will be using this
If the previous statement was true, then this hardly matters. ATI wouldn't have much to fault in CG because I’m pretty sure they stated that DXHLSL is already performing optimally on the R3XX. The only complaint they could have is that it does increase the performance of their competition, but this is hardly valid unless companies are expected to role over for their competition in a capitalistic system. That's not right is it?
So you think CG HLSL will be more popular than Microsoft’s official DX9 HLSL..I don't
code once: overall increase in performance = better gaming experience = more games sold = greater developer support... At least that is how I see it.
*modified* Either NVIDIA(or ATI) will make it really good at generating code for R300 and other cards (in which case, what's the problem?) or developers will refuse to use it and it will die in the market place
This is pretty much true... let us examine a few cases.[/quote]
First let’s consider something that resembles the current situation in shader performance (very roughly). Let left column be standard DX9 performance, right CG.
Code:
NV3X R3XX
150% 100%
0.70 | 1.05 1.00 | 1.00 (max 1.10)
Clearly this benefits NVIDIA; however, it also benefits the game developer as he now has a game that runs better on a potentially significantly greater number of machines. We will guess that if ATI's potential performance increase of 10% which while giving them back the performance crown is hardly worth their time if the performance threshold of the game is already being met (say 120fps+ through all settings).
The previous example might be more closely related to overall performance than that of shaders... just to try and keep complaints down:
Code:
NV3X R3XX
150% 100%
0.50 | 0.75 1.00 | 1.00 (max 1.10)
Here, there is even less motivation for ATI to develop a back end as they are winning by a large margin either way. Let's say in the next generation the picture changes a bit though....
Code:
NV4X R4XX
150% 100%
0.90 | 1.35 1.00 | 1.00 (max 1.40)
Now, it is certainly more valuable to ATI to acknowledge CG. (If your wondering why the shader performance didn't increase for the R4XX, I am letting 1 represent the score of the performance leader and displaying the lesser's as a percentage of that score). This works out well for all parties concerned at the developer and ATI get increased performance (retains competitiveness vs. losing it) and NV cuts the ATI lead in half. Perhaps, as some fear NV would try to limit the implementation of CG so that competitors’ products can only use the default profile. However, if ATI develops a backend for CG, there is really nothing NV can do to stop game developers from using it (as suing the people that are going to make the games that will [or wont!] run on your hardware does not seem like a viable plan if NV wants to stay in business for any length of time.)
Game genre FPS
Performance threshold (60fps):
Code:
NV4X R4XX
150% 155%
0.75 | 1.125 1.00 | 1.55 (of 60)
45 | 67.5 60 | 93
Here, we can see another possibility with regards to performance in that CG here provides NV with the valuable service of boosting the performance of their card to acceptable levels despite giving an even greater increase to ATI.
In thinking about the situation analytically, CG in my eyes does not directly benefit NV but rather all those companies who trail the performance leader. Thus, CG currently benefits NV more than ATI; however, the results of CG do seem odd if NV is indeed intent on reclaiming the performance crown. Somewhat ironically, NV may be counting on CG to aid them in this quest, but at the same time, it might aid their adversaries enough to push them across the competitive threshold.
So what we have in CG is a proposal to:
1. Improve overall performance
2. Increase capabilities
3. maintain an equal or reduced workload
In general, I have no fear of CG succeeding or failing as there are really only two possibilities: the industry advances faster because of cg, or at the same rate as it would have without cg. From my viewpoint, I consider it a win/win situation. Of course, I probably just wasted a large amount of time in trying to understand something that will only have one result. Well, future reference I suppose......