CryTek CEO comments on Shader 3.0

WaltC said:
Bjorn said:
The entire thing is all about Far Cry and not the CryTech engine (although i would assume that any SM3.0 support in the Far Cry game would carry over to the base engine). And the last question was about availability of the patch (which afaik, Crytech has already said will support both SM2.0 and SM3.0).

Yes, that it will support ps2.0-3.0, which to me is entirely different from saying there's anthing there but ps2.x code whatever (since there doesn't have to be for it to run on 3.0 capable hardware.) Code which supports both 2.0 and but runs on 3.0 hardware need not be anything more than 2.x code to begin with. I would also assume the same for the engine, since the engine isn't being used for anything other than Far Cry at the moment.

As to your interpretation of the interview question, it has two parts. The first part, "Will we see an update for FarCry which enables Shader 3.0?" asks nothing about availability of something which is assumed to exist, but is a simple "Yes" or "No" question, isn't it, as to whether that something exists in the first place? I can't conceive of how it might have been more simply written than that. The second part of the question makes it absolutely plain that the person asking the question does not know whether Crytech plans to support 3.0 in the game (or engine) or not, "If a patch enabling Shader 3.0 in FarCry is pending, when can we expect to see it available?" One does not ask "if" something exists unless one is not certain, right? Crytech answered both questions by saying "stay tuned," which is a completely non-committal answer along the lines of "wait and see."

The person asking the questions is not sure that Crytech will support ps3.0-specific code in Far Cry, and so he asks his questions. Crytech itself does not answer but says, instead, "stay tuned," but Bjorn....reads the same text that I read and comes to the opposite conclusions that I do...;) Wishful thinking on your part? Perhaps, we'll see.

The question for me is not, "Will Far Cry support hardware which supports shader 3.0, but will Crytech support nV4x 3.0 shaders with code which will not run equally as well on ATi's ps2.x hardware?" That is where we disagree, I think. I don't see that anything Crytech states in the interview might lead one to such a conclusion.

Walt, you're bending over backwards to come up with a reason why they shouldn't have a 3.0 path. In reality the reasoning if very simple. They can do a small amount of work to add an optimized 3.0 path to their engine and their game and get FREE ADVERTISING from Nvidia.

In the future, that same path can be used by two or more generations of hardware coming down the pipeline.

Of course they are going to do it. As a business decision it's a no brainer. It's not as if they have to rewrite the entire engine or take away support for older shader models.
 
Bjorn said:
That is were we disagree. And i base my opinion on:

In VS3.0 shader model actually is possible to support general displacement mapping (with smart shader design when vertex shader has to do something during waiting for texture access).

· In PS3.0 shaders it’s possible to decrease number of shaders using dynamic branching (single shader for general lighting) and in such way decrease number of shader switches, passes, and as result increase speed, and also we can utilize dynamic conditional early reject for some cases in both PS and VS and this also will increase speed. As to NV40 generally possible to use co-issues better to take advantage of super-scalar architecture (we can execute 4 instructions per cycle in a single pipeline).

· We can handle several light sources in single pixel shaders by using dynamic loops in PS3.0.

· We can decrease number of passes for 2-sided lighting using additional face register in PS3.0.

· We can use geometry instancing to decrease number of draw-calls (remove CPU limitations as much as possible).

· We can use unrestricted dependent texture read capabilities to produce more advanced post-processing effects and other in-game complex particles/surfaces effects (like water).

· We can use full swizzle support in PS3.0 to make better instructions co-issue and as result speedup performance.

· We can take advantage of using 10 texture interpolators in PS3.0 shader model to reduce number of passes in some cases.

But see, I see all of that as theory based on an academic assessment what is theoretically, maybe, possible with ps3.0-specific code under a robust ps3.0 hardware implementation. I don't see any of that as being something relative to the nV40 implementation of ps3.0 necessarily at all. That's what I believe remains to be seen. If many of these things involve large frame-rate bottlenecks or slowdowns relative to ps2.x coding on the same or different hardware, then of course their value and utility immediately become moot from a practical standpoint relative to 3d gaming.


And that they are aware that some features must be used with care:

Several new features in 3.0 shader model aren’t for free. Texture access in vertex shader is expensive, dynamic branching is not for free. So if developer has to utilize some features of PS3.0 shader model he/she should design shader in way which will remove other much important bottlenecks of application (CPU limitations, states/shaders changing, make shorter shader execution path, decrease streams bandwidth…).

Doesn't mean that all these things will be used in the Far Cry patch but i think it's likely that at least some will. Definitely some of the speed up things.

Again, these are all academic assertions so far, imo, and remain to be seen as being relative to the nV4x implementation of ps3.0. I think they know this very well, hence they said, "stay tuned," instead of "Yea, man! We're definitely onboard the ps3.0 train..."

Additionally, it's very difficult to get past the reality that even though the interview is very much in the present tense, what is not in the present tense are ps3.0 hardware implementations of any type in the markets Crytech serves with with Far Cry. IE, none of Crytech's customers have ps3.0 hardware of any description, hence in the present tense Crytech's support motivation is absolutely nil. Will we see such a patch in 3 months, six months...or longer? Nobody knows, because there are way too many unanswered questions at this time...hence, I applaud them for saying "stay tuned," as there is indeed much to discover beyond the PR aspects of using the words "ps3.0" merely to hype the nV40 3d accelerators that have yet to ship to any customers anywhere in the world, and an academic assessment of what should be possible under a robust ps3.0 hardware implementation.

So, I still have to say that at present I believe Crytech's support for ps3.0 as implemented in nV40 is not yet decided, and that what support they do for it, if any, is a decision still ahead of them, and will depend on how robust the nV40 ps3.0 implementation actually turns out to be, and how quickly nV40-based 3d accelerators are absorbed into the market in numbers sufficient enough to convince Crytech that such support has meaning for the sale of their software.

Understand that I'm not saying that nV40's ps3.0 implementation sucks--not at all--just that it's way too early to *know* whether it sucks or not...;)
 
boobs said:
Walt, you're bending over backwards to come up with a reason why they shouldn't have a 3.0 path. In reality the reasoning if very simple. They can do a small amount of work to add an optimized 3.0 path to their engine and their game and get FREE ADVERTISING from Nvidia.

Heh...;) Actually, I am merely restricting my comments to what Crytech said in the interview. Asked directly and point blank "if" such support was forthcoming, and when it might appear, Crytech opted out of answering either question, and said, cryptically, "stay tuned." OK, that's what was said in the interview. We are all drawing our own inferences from those quotes.

In the future, that same path can be used by two or more generations of hardware coming down the pipeline.

Of course they are going to do it. As a business decision it's a no brainer. It's not as if they have to rewrite the entire engine or take away support for older shader models.

It's nowhere near as obvious to me as it is to you, and seems nowhere near as simple to me as it does to you. For example, by your reasoning it should have been a "no brainer" for Crytech to have supported ps2.0 as the baseline in the original game, since millions of R3x0 ps2.0-capable products were absorbed into the market prior to Far Cry becoming available. Yet Far Cry currently uses ps1.x as its baseline for shader support.

But now you're telling me that even though there are *no* nV40 3d accelerators being used in the Far Cry target market at this time, that Crytech is making a "business decision" to rapidly support a hardware capability that *none* of its target market has any use for whatever at this time? Heh...;) Well, maybe if nVidia is ponying up some jack--I could see it as "business decision"--but not otherwise--certainly not otherwise if "millions of ps2.0 R3x0" products being used when Far Cry went on sale was no incentive to make ps2.0 the Far Cry shader baseline, instead of 1.x...;)

That's the thing--although the availability of nV40-based 3d accelerators is a *future* event itself at this time, Far Cry is being sold in the present tense, and the most capable, most advanced shader mode currently being used by Far Cry customers is not ps3.0--but ps2.0, isn't it? I think we should stop getting our tenses mixed up--Far Cry is *now*, nV40 is...when was that again?....;) Just something to stew over.
 
Why do you expect that Crytech write a SM 3.0 patch ? I bet Nvidia can do most of the work for/with them if they think that can help NV40. It would just be good marketing.
 
WaltC said:
It's nowhere near as obvious to me as it is to you, and seems nowhere near as simple to me as it does to you. For example, by your reasoning it should have been a "no brainer" for Crytech to have supported ps2.0 as the baseline in the original game, since millions of R3x0 ps2.0-capable products were absorbed into the market prior to Far Cry becoming available. Yet Far Cry currently uses ps1.x as its baseline for shader support.

That is definitely an incorrect parallel that you've drawn between his point and the feasiblility of baseline 2.0.

1) The majority of the market isn't PS2.0 baseline yet (feature support and performance wise) so it would have been a dumb move.
2) Adding support for 3.0 in some areas which may improve performance should be a relatively painless task
3) WHY THE HECK NOT? The only downside that I can forsee to implementing 3.0 support is if Nvidia's 3.0 sucks somehow. That is where I think the 'Stay Tuned' comment comes from. You say that your point is based around the interview but I can't see how you can pursue such a point so fervently based on that alone.

That's the thing--although the availability of nV40-based 3d accelerators is a *future* event itself at this time, Far Cry is being sold in the present tense, and the most capable, most advanced shader mode currently being used by Far Cry customers is not ps3.0--but ps2.0, isn't it? I think we should stop getting our tenses mixed up--Far Cry is *now*, nV40 is...when was that again?....;) Just something to stew over.

Ummmmm gimme a break. NV40 is EXTREMELY NEAR future. Has everyone who is going to buy Far Cry bought it already? Nope. Lots of Far Cry sales will come after the new generation of cards from both IHVs is available at retail so I don't really follow your point here :?:

Just to be clear....are you saying that it's not worth Crytek's time to implement 3.0 even if they can benefit from 3.0 for some shaders?
 
WaltC said:
It's nowhere near as obvious to me as it is to you, and seems nowhere near as simple to me as it does to you. For example, by your reasoning it should have been a "no brainer" for Crytech to have supported ps2.0 as the baseline in the original game, since millions of R3x0 ps2.0-capable products were absorbed into the market prior to Far Cry becoming available. Yet Far Cry currently uses ps1.x as its baseline for shader support......

No one is talking about a baseline. A baseline needs to meet the lowest common denominator.

They are tallking about an extension for those hardware that have it. Supporting the 3.0 extension is a no brainer because.

1. Nvidia will give them free publicity if they do it.
2. It's easy.
3. It will increase performance.

Of course it's silly to release the patch before the supporting hardware is on sale, which is probably why the guy said "Stay tuned."

We know the NV40 will be out in short order. Let's be reasonable here. You are sounding more anti-Nvidia than Ati marketing (or at least get them to pay you ;)).

The CryTek battle has been lost (was it even fought?). What Ati needs to do is work with iD and Valve to makesure D3 and HL2 run on Ati hardware as well as possible, which I'm sure they are busy doing. If those two games run a lot faster on Ati cards and look about the same on Nvidia cards, then no one is going to care what X.0 shader model is being used. The same applies to Nvidia.
 
WaltC,
You are confusing the PR and technical discussion, and insisting on equating the issues with the PR with some kind of technical hurdle to implementing PS 3.0 and VS 3.0 that ignores several things about the nature of how DX handles shader content:

1) That they might increase "shader model of 2.0 or greater" usage, like adding extensive usage of "virtual displacement mapping" as they showcased, and fine tuning shadow algorithms. Visual improvement on cards of higher performance would all benefit from this.

2) That the DX toolset (such as the HLSL compiler supporting PS/VS 3.0 that developers already have access to) and a shader oriented engine (that was, as stated, already designed to facilitate usage of HLSL) make the work to allow the above to include PS/VS 3.0 support pretty trivial.


This is all we need to know to see the validity in the idea that benefit from PS/VS 3.0 will have the chance to manifest, and this is based on the technical details of the tools involved that we've been exposed to.
The only question is whether there will be significant benefit for the NV40 hardware for what FarCry does using that shader functionality, not whether that shader functionality support will be offered with ease for it to have the chance...they are two distinct questions.

...

That the PR presentation of "SM 3.0" that nVidia associated with Far Cry is fallacious is already established (including, quite vocally, by Crytek), and does not need to be confused with these questions once you've come to know that it is fallacious.

That it provides an efficiency improvement seems quite easily believable at that point, given the lack of performance issues that should surround the benefits besides dynamic branching in the pixel shader (such as VS 3.0 improvements, some of its floating point blending capabilities, etc.). How that fits in comparing upcoming hardware in performance (image quality is established as basically "equivalent") is unknown, but that can be addressed by simply avoiding drawing such conclusions.
 
Wow, I actually agree with demalion for once.

If you write HLSL code targeted to PS2.0, you can recompile to 3.0 with no work at all. Your costs are performing regression tests afterwards to see if the compiler produced any PS3.0 code that ran slower.

You would then go back and selectively disable any shaders which regressed when compiled with a higher profile. This already has to be done today since some shaders run faster if compiled for PS1.1/1.4 vs 2.0 due to the difference in "free" source modifiers in PS1.1/1.4 that put pressure on the driver in PS2.0 to recognize and schedule on mini-ALUs.

So some of the benefits of 3.0 can be realized without much extra work, and developers are likely to try it, because they are always curious to experiment with new APIs, new HW, and new toys.
 
Someone mush have a version of PS3.0 Farcry.

Didn't Nvidia show PS3.0 shots of Farcry at one of their NV40 events???
 
Here is something interesting to think about. Once DX9.0c is out and full SM 3.0 support is in there, Maybe NVidia's driver will have option to detect SM 2.0 shaders and automatically recompile them to take advantage of SM 3.0.

This would depend on if HDSL high level code is given to driver - or does the game developer have to compile the code to lowlevel. I thought one of benifits of these shaders is that they are in high level language so developer did not need low level language.

If it does require to be compile, NVidia could write a 2.0 to 3.0 translater that doies it on the fly..

Just some wild ideas...
 
Moose said:
Someone mush have a version of PS3.0 Farcry.

Didn't Nvidia show PS3.0 shots of Farcry at one of their NV40 events???

That was the fallacy to which I referred.

What they tried to imply was that what they showed was unique to PS 3.0 and/or "real" displacement mapping (via VS 3.0), by contrasting new screenshots to PS 1.1 and low video settings and implying (and apparently in some slide labelling outright stating) that the improvement was actualy relative to PS 2.0.

What they actually showed in comparison to the low video setting screenshots was new graphics effects (like "virtual" displacement mapping, or parallax or offset mapping) that could be expressed in either PS 2.0 or PS 3.0, that just happened to use some degree of PS 3.0/VS 3.0 on the NV40.

...

This comparison is shown to be fallacious by 1) people who've seen PS 2.0 in FarCry and knoew the comparison screenshots were not relative to PS 2.0 2) Andrey from Crytek who explained the features as showing the power of PS 2.0 or PS 3.0 at the NV40 event, though the nVidia rep just kept saying "PS 3.0" alone in response, 3) nVidia's admission when pressed for clarification on the issue in several places.

It also wasn't simply what was released as the "PS 3.0" supporting 1.1 patch, it was a special demo they'd worked on internally along the lines of the 1) and 2) I mentioned in the prior post.
 
It's looking more and more like ATI's decision not to bother with PS3.0 and concentrate on PS2.0 performance was/is a good idea IMO.

It looks like nVidia are embracing it(SM3.0) because they need the performance gains.
 
madmartyau said:
It looks like nVidia are embracing it(SM3.0) because they need the performance gains.
I think the marketing value of having PS3.0 is of much more importance right now than the slight performance boost it may provide here and there.
 
madmartyau said:
It's looking more and more like ATI's decision not to bother with PS3.0 and concentrate on PS2.0 performance was/is a good idea IMO.

It looks like nVidia are embracing it(SM3.0) because they need the performance gains.


ATI decision is all marketting.. they don't want to support something that NVidia is promoting.. Also NVidia wants developers to use 3.0 because they it benifits them.

Who says that NVidia 2.0 performance will be just as good as ATI's 2.0 performance.. Just that with 3.0 they will even have higher performance.

In the long run ATI will have to go to 3.0 or some altered version of it.

Anyway all this is guessing until both the X800 and 6800 is in the stores...
 
Back
Top