Shader effects X360 / PS3 (Marvel Alliance) *changed

Im guessing the reason can be as simple, as xbox360 edition of the game simply ran out of shader power to actually do motion blur along with the other effects.

I think the reason is simple too, the developers :???:
 
I think the reason is simple too, the developers :???:
That doesn't really make sense. If XB360 can handle it, why wouldn't the developers put it in when it's the same developers? If you're developing an effect, it becomes more cost-effective the more times you use it, no? The only time I can see that not being the case is when developing an effect requires a lot more work on one platform than another. eg. If PS2 can handle an effect from an XB multiplatform game, but the devs don't know how to code the PS2 to execute that effect, it might not appear in the game.

Thus the possible reasons for PS3 to get this wobblyness are :

1) PS3 is capable and XB360 isn't
2) XB360 is capable but is too hard to develop this effect
3) XB360 is capable but the developers just decided not to implement it

Well, none of those make much sense!
 
I should'nt think its because its hard to implement the effect on 360, especially with how easy programming 360 is compared to PS3.
 
The xenos is roughly a million times harder to code for than the RSX.
You did mean to have a smiley in there, didn't you?

If not, it's probably the most piss-poorly thought out statement I've read here in recent days... and for that, congratulations are in order! :LOL:

Dean
 
The xenos is roughly a million times harder to code for than the RSX.

I think the exact figure is 1 million 23.5.

Anyway I think there might be something along those lines though, I do think that developers will have to work harder on xenos to get out similar power they get from RSX...
 
You did mean to have a smiley in there, didn't you?

If not, it's probably the most piss-poorly thought out statement I've read here in recent days... and for that, congratulations are in order! :LOL:

Dean

To be fair, he did say "roughly". Rough would imply pretty big error bars...
 
I think this comes back to devs still looking to figure out how to take advantage of the USA of Xenos. The RSX is the same type of GPU people have been programming for some time. The Xenos is a new beast and it will take some time to get a grip on it, but when they do I think some people will be surprised at what can happen.
 
I think this comes back to devs still looking to figure out how to take advantage of the USA of Xenos. The RSX is the same type of GPU people have been programming for some time. The Xenos is a new beast and it will take some time to get a grip on it, but when they do I think some people will be surprised at what can happen.

I thought much of the USA workings in Xenos is driven by the drivers and abstract to the developers...

Using the EDRAM effectively is probably a bigger issue than the USA. Could be wrong though.
 
I thought much of the USA workings in Xenos is driven by the drivers and abstract to the developers...

Using the EDRAM effectively is probably a bigger issue than the USA. Could be wrong though.

There is automatic load balancing but it is far from ideal from my understanding. Developers can create their on load balancing routines tailored to their game for much better performance. Jawed explains it best:

Xenos ALUs can stall when you have very short loops (say 2 instructions), or when you don't have enough ALU code to hide TEX latency.

One solution is to re-sequence your code. e.g. unroll loops or pre-fetch textures.

The sequencer in Xenos is programmable, allowing devs to fine-tune the coherency of code execution. That is, to define thread-switching points in their code, rather than allowing Xenos to apply its default behaviour. This means Xenos will run with less thread-switches (in total), where every thread-switch costs time through latency (if the latency can't otherwise be hidden).

Xenos's default behaviour is to thread-switch whenever it sees a latency-inducing instruction (e.g. TEX or BR). So, by lumping TEX operations together and then saying "now you can switch threads", Xenos can reduce the 2 or 3 separate thread-switches to a single thread-switch. That reduces the total number of ALU instructions that are required to hide these TEX instructions.

The first task for devs is to tweak data formats (stored as textures or vertex streams) so that access patterns are efficient. i.e. the minimum number of fetches are performed. Additionally, since Xenos offers a choice of access techniques, the dev has to evaluate them.

In a unified architecture, you can't evaluate the performance of a shader in isolation. You can't write a shader and say "TEX ops take this long, ALU ops this long and branches this long, so the total time is xxx, so we can get X fps". You can only say that's the minimum time they'll take. When the pipelines are doing a mix of work (for other pixels, say, or for vertices as well as pixels) then bandwidth limits or full buffers will cause blips. Ultimately the programmer is exposed to concurrency issues.

Another way of putting it is that the programmer has better control of concurrency issues in Xenos - in traditional GPUs, when resource limits are reached, the dev has to tackle the problem indirectly, rewriting code in the hope that the new usage pattern will eke-out better performance. In theory Xenos provides direct control and more options to control execution and resource usage.

Since the SDK for Xenos is still not complete, devs are currently in see-but-can't-touch hell...

Naturally, as someone who has never written shader code, nor coded for Xenos, I can only summarise the general concepts.

Jawed
 
That doesn't really make sense. If XB360 can handle it, why wouldn't the developers put it in when it's the same developers? If you're developing an effect, it becomes more cost-effective the more times you use it, no? The only time I can see that not being the case is when developing an effect requires a lot more work on one platform than another. eg. If PS2 can handle an effect from an XB multiplatform game, but the devs don't know how to code the PS2 to execute that effect, it might not appear in the game.

Thus the possible reasons for PS3 to get this wobblyness are :

1) PS3 is capable and XB360 isn't
2) XB360 is capable but is too hard to develop this effect
3) XB360 is capable but the developers just decided not to implement it

Well, none of those make much sense!

4) Sony still gives special benefits to companies that have exclusive features on the Playstation version of the game and this is part of an advertising push to make the PS3 look better.
 
4) Sony still gives special benefits to companies that have exclusive features on the Playstation version of the game and this is part of an advertising push to make the PS3 look better.

I think we'll see this excuse thrown in more and more often as the time goes by. ;)
 
There's no technical reason the effect can't be done. There might be a reason why it can't be done fast enough, but that's a really difficult argument. Xbox 1 games used the effect. How could it just not be feasible on the 360? It's simply a render-to-texture and then copy back with texture address modulation.

I'll make the situation even simpler. Go here and watch the 'Galactus' video. Get the bigger res versions, if possible. That's almost assuredly the 360 version and it clearly features frame buffer distortion.
 
Xenos:
16 bilinear filtered TMUs
48 ALUs
32KiB texture cache

RSX: 48 ALUs/units, half serving TMU duty
Register pressure due to 4 FP32 reads per pipeline per clock (if no changes from G7x)
larger texture cache

A shader that makes very good use of one ALU: TMU ratio may not make very good use of the other. Even though RSX has no set ratio, register pressure puts some limits on how high that ratio can go in a practical case. Using partial precision allows some increases of 30%, for instance. Even the R580 only gains a 200% increase in a few theoretical tests, and is otherwise texture fetch or fillrate bound in a large share of theoretical and essentially all real-scenario cases. The RV530 is much closer to twice as fast as RV515, but there it becomes tex fetch bound. Xenos has to factor in VShading as well, but even the high-end today needs no more than 8 Vec4+Scalar according to the IHVs. Since RSX has presumably kept the 8 of G7x, it's doubtful multiplat titles are going to go above that usage per clock.

And as Jawed's reposted message points out, hiding latency is a big deal. Getting GPR usage down was among the big points at Gamefest, and Fran has stated such as well. Fran's post processing filter goes well above a 3:1 ratio of math ops to tex ops as well.

Unified shading should just work, and I don't see any reason it doesn't. But, there's a difference between a uniifed shading architecture versus discrete, and one chip's architecture versus another. The former shouldn't be an issue, but it's more than clear that the latter is, with all the quirks and gotcha's of the Xenos architecture. And so, Jawed's post was in fact about the latter's threading, switching, etc routines rather than load balancing between pixels and vertices, which would be a unified architecture issue. ;)
 
I just read a website that has a interview with a Microsoft division and his job is to help game developers make better Xbox 360 games. Here's a quote from the interview...



Ars Technica: What sort of questions do devs typically ask? What are some of their biggest complaints?

Matt Lee: Mostly technical questions. Common topics include vertex and pixel shader development and performance, CPU optimization, multithreading, and efficient usage of Xbox 360's unique features, such as the EDRAM rendertarget memory and our custom CPU instructions. They also give us lots of tool improvement requests, because they know we respond to those requests quickly.

http://arstechnica.com/articles/culture/mattlee.ars/2
Source^^^


I'm sure most of you read this interview before but I find it kind of odd the first answer he gives to the question is that developers ask questions about the shaders. Does this mean developers could be having problems with the shaders and don't fully know how develop and get the most shader power out of the 360 GPU yet?
 
I'm sure most of you read this interview before but I find it kind of odd the first answer he gives to the question is that developers ask questions about the shaders. Does this mean developers could be having problems with the shaders and don't fully know how develop and get the most shader power out of the 360 GPU yet?
They shouldn't be. At elast, not if they come from a PC/DX background. It's the same shader language(s) games have used for years. Designing SM3.0 shaders is something new to worry about that some teams won't have experience of, but that's a uniform problem across XB360 and PS3. And these shaders are the same across platforms to - they can run the same shader code with a recompile I believe.
 
Back
Top