jimbo said:
"If all you're looking at is the ocean, and a LODed low poly skyline, I don't think either chip would have any trouble from a vertex shading POV. Your ocean would also be LODed, btw.
If you wanted to do stuff with VS beyond what the GPU was capable of, there's a piece of kit at the other end of a very fat pipe that may be useful..
As above, I completely get what you're trying to say, and I'm sure there are situations that would illustrate the point, I'm just not sure if this example is the best."
Ok well let me rephrase and make it more general then.
Say you have a game level split into 3 parts A, B and C..begining middle and end.
Part A of that level would be extremely vertex heavy, utilizing 80% of all shaders on Xenos as vertex shaders, part B is a transition point(where you could split up the work between vertex and pixel shaders like the old traditional ways) which would also act as a visual barrier/constraint between C and A(put a halway for example between A and B and B and C)so as a gamer could never have both A and C in the same view. Even simpler part B could simply just be an L shaped hallway. And part C you would make it extremely pixel shader heavy.
This is where first of all you can see that for the first time developers have the freedom of being able to design something like this.
And to make my point, on traditional cards with dedicated vertex and pixel shaders....you just simply could never do part A and B of that level. All three parts would have the same maximum number of vertex and pixel information at any one point. You could have less, yes, but not more.
USA is going to allow for some pretty amazing level designs on top of everything else.
In a situation where you have a closed level and can control to some degree what the camera sees - like above where you know the camera is only going to see a room, then a hall, and then a room, yes, the switching of proportions between vertex and pixels can be handled well, and you can spend gains in one over the other. However, thinking more about your earlier examples with an open scene, where the camera can be looking at anything at any moment, I'm not sure if you can take advantage of your better utilisation much. You will get better utilisation, but what does it buy you? For example, if you're looking at one part of the scene with high verts and low pixel loads, and then suddenly switch to viewing a part of the scene with low vertices and high pixel loads, how can you take advantage of that? You can't suddenly start piling in more pixel shading for that frame - adjusting the loads on a frame by frame basis is basically doing the same as you thought I was suggesting earlier with regard to managing proportions per frame for dedicated architectures - not very feasible, and kinda goes against ATi's mantra of the dev not having to worry about that kind of thing. You'd also have very disturbing switches in terms of shading quality from frame to frame e.g. that wall looked a whole lot better when I was just looking at it a moment ago! So what does it buy you? That frame may be computed more quickly, but in terms of visual fidelity it may not get you much. When you can't assume anything about what the user will be looking at at any one point in time, your gains aren't going to come in terms of increased pixel or vertex shading more than increased framerate. And vs a dedicated architecture, that framerate increase is as likely to be an excess (e.g. 90fps vs 60fps) as it is to make the game go from rocky to smooth, since your minimum framerate is still determined by the worst-case scenario - the most the viewer could look at at anyone time - and that scene may be handled as well on a non-unified chip as a unified.
Truth is, I think devs could to some degree control the mix of instructions being sent to their cards - you could theoretically have a LOD system that could dynamically alter pixel or vertex loads frame-by-frame, in Xenos's case to take advantage of that better utilisation for more than just framerate, and in RSX's case to keep the fixed vertex and pixel shaders humming at a high utilisation. That is, however, a lot of work, it may not even work well and without a high level of granularity in your shaders you'd still be losing some power anyway (in Xenos's case, to increased framerate, in RSX's case to...possibly to increased framerate, but possibly not as much of an increase as Xenos).
Frame-by-frame adjustments aside, yes, a USA buys you flexibility with your scene design to weight vertices of pixels against each however you wish, pretty much. However, if you can weight proportions like that in a scene, then for RSX you simply also just weight your proportions, but this time to match the hardware to gain utilisation. Mapping to the hardware is doable in a closed environment. That was the higher level control I was talking about earlier.
jimbo said:
And let's keep in mind USA is just ONE of the Xenos's advantages over traditional cards. Its eDRAM .........is a whole different story too. I'm really excited about what this GPU is going to be able to do for scenes like forrests and grass once developers learn how to use it. Because now that strand of grass and leaf doesn't have to be moved back and forth from main RAM to the GPU sucking up bandwidth...you can just store it right in the eDRAM and use it freely and keep your bandwidth free and clear of excess and reusable data(the GC already is using this btw so its nothing new, it's just a lot more evolved).
I'm not sure how much the eDram will be used to store data beyond the framebuffer. Gains elsewhere by doing that would result in losses with framebuffer efficiency. There'd be a tradeoff there, and if MS is insisting on a certain level of AA, it might not be possible in all situations. In the cases you gave - grass and trees - geometry instancing means you wouldn't have to keep shuffling that data back and forth from memory anyway for each individual blade or tree.
jimbo said:
Yes exactly and I don't think they'll ever be able to get it running at 700Mhz-1000Mhz depending on its efficiency to come up with that firepower
Where are you pulling these numbers from?
jimbo said:
There's really only one reason why Nvidia hasn't come out gunz blazing to blast Xenos...because they know they'll eventually use this in their own chips. Just like how they took the lead with pixel and vertex shaders and set the standard now ATI is setting a new standard. I wouldn't doubt if Nvidia can come back and use this same techonology to blow ATI's card out of the water, but as of right now, ATI's got the edge right here. It's just too bad ATI can't use it in PC's just yet.
Again, using them later doesn't mean it's better to use them now. And a small point, but ATi took the lead with pixel and vertex shaders? The Geforce 3 was the first card with pixel and vertex shaders, and ATi wasn't taking the lead in terms of shader technology with the last set of cards (NVidia moved to SM3.0+, ATi stayed at SM2.0+).
edit - I see you may be talking about NVidia there, wasn't very clear.
dorio said:
Maybe that's what I don't quite see. If you have a closed environment to work in like consoles are then what's the timing issue for nvidia? Why is this design bad now but good in the future?
They say that SM3.0+ level shaders are still too different to unify well. So since we're still at that level of hardware with these consoles, it may not make a lot of sense as far as their concerned - it may not even make sense at SM4.0 from their perspective - but eventually as the pipeline matures further they see it happening.
jimbo said:
Of course it's been said before and I will say it again. Before us Xenos lovers get too excited, it still remains to be seen just how INEFFICIENT current graphics cards are. If they're only 50%-70%, than that would bode VERY well for Xenos, as it could take twice the speed of current hardware to match it. If they're more like 80% it wouldn't take all that much.
OK, now I can see where you were coming from with your 700-1000Mhz figures. OK, first of all, don't expect the man to understate utilisation problems with current chips since he's trying to promote a product that apparently solves that. Again, if you asked someone else you may get a different answer. Second, even if he was correct, he's referring to utilisation on PC cards - as we all know, PC games don't take advantage of the hardware in the same way as games on consoles do. You're designing with many cards in mind, so you can never take advantage of just one card, which will obviously affect utilisation. Furthermore, consider what I was saying earlier about what utilisation buys you, and the control you have over pixel/vertex proportions on a scene-by-scene basis (not frame-by-frame). How would utilisation be if you took a game and designed it for that hardware?
Anyway, assuming a 100% increase in utilisation was possible, saying another chip would require a 100% increase in clockspeed to match is assuming far too much. You're assuming all else is equal. If you look at what Xenos's utilisation gains have to be offset against specifically in terms of RSX, the list isn't trivial. An unknown loss of efficiency inside the shader ALUs, a 10% greater clockspeed and unknown, but likely greater increase in terms of raw shading logic. It's not as simple as you're suggesting.