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
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.
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.I think the reason is simple too, the developers
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.
I'd would love to see you explain that statement!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?The xenos is roughly a million times harder to code for than the RSX.
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!
Dean
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.
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.
It's a millllllion times harder to code for!!!
/strokes white cat on his lap
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.
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.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?