By using this site, you agree to our Privacy Policy and our Terms of Use. Close

Forums - Sony Discussion - Remember when Sony said the PS3 would render at 120 fps? Forget it, 240fps

@ Groucho

I was going to back out of this thread, but I feel obligated to answer questions... but I don't really understand your question, I'm afraid.


I didn't at first neither, but I have discussed this in the past.

It relates to system bandwidth, as we know the PS3's memory is split in low latency XDR Ram and normal GDDR3 graphics Ram. Two seperate buses for data to go GPU and CPU simultaneously. This unlike the 360 main RAM which can only be accessed by only CPU or GPU at any one time.

The 360 GPU once data is moved there has a high internal bandwidth, some 360 fans add this to the total system bandwidth and only add up XDR and GDDR3 bandwidth for the PS3, which makes it look as if the 360 has multiple times the amount of bandwidth than the PS3 has.

I tried to point out this is a bogus viewpoint, as for example the Cell also has an enormous internal bandwidth and it makes no sense to add this to the system bandwidth for direct comparisons sake in such a fashion, just like you can't add the Xenos' internal bandwidth in such a manner.



Naughty Dog: "At Naughty Dog, we're pretty sure we should be able to see leaps between games on the PS3 that are even bigger than they were on the PS2."

PS3 vs 360 sales

Around the Network
Squilliam said:
Groucho said:
Squilliam said:
If the SPEs are so so awesome at doing general purpose equations then why are they not being used in that fashion? Its pretty simple, after a while you stop blaming the developers are start blaming the tools and architecture.

 

Actually, I think its a fair bet to say that any engine designed with multithreading in mind to begin with does use the SPUs for general-purpose work, in addition to intense vector math work.  I think the PS3's architecture is a great one... I just think that tools have traditionally been designed around the single-core PC idea, and that the PS3 suffers (much) more from this fact, and the fact that developers are not used to thinking in parallel terms, than the X360 does.

On-topic: The authors of GT5 have clearly embraced the PS3's architecture, as have many 1st-party exclusives, and it shows in their quality.  The fact that this is difficult to do, doesn't really diminish the fact that it can, and has, been done.

Its more the fact that custom programming has gone out the window. Developers use libraries of tools and they call them up by a function and they never rewrite them unless they absolutely need to.

Btw, the memory management systems in the Cell are a real headache, the more cores they use the more painful it becomes to balance the workload. Unfortunately from the last time I heard about it, the SDK didn't automate a lot of even the low end balancing and it forced the developers to do it by hand.

 

Hmm.  I don't really find it as difficult as you seem to think it is, but I am one of "those" engineers, who has worked in the industry so long, that I don't find custom programming to a console's particular hardware to be unusual.  I actually enjoy it.

However, many younger engineers in the games industry have trouble with everything from disposing of various features of C++ -- like virtual functions, which are incredibly handy for large team projects, but bad for performance on any architecture, unless you use them sparingly and are clever with your engine design, to debugging assembly code, which, hoenstly, will never be a chore that will just go away in simulation/3D gaming.

On the whole, engineers that have even written more than one game, let alone one from just the last generation of consoles, are incredibly rare in the games industry.  For the most part, the majority of engineers in the games industry will have a *much* easier time with writing PC games, Wii games, or even X360 games, than PS3 games, as you are suggesting.  There is great power in usability, and this is the major divide between the X360 and the PS3 -- getting a game to run "good" on the X360 and just "fairly good" on the PS3 is easy.  Getting a game to run really well, on either console, is pretty hard.

I sit through meetings knowing that the PS3 ver sion of the game is going to suffer because of the number of bones in the character skeletons are too much for the 360 to handle, and still churn out a good framerate.  I also sit through meetings where the 360 version is going to look worse because 256MB is all the texture memory we might want to use, or because the fillrate is just a bit too much for the less-flexible RSX to handle.  I envy exclusive developers, like the folks who work on GT5, or Gears 2, because I know that they get to push their hardware to the limit... and that's pretty cool, from an engineering perspective.  Pushing both to the limit, in a cross-platform environment is difficult, because you have to change the resources you use (like more detailed animations on one version, or better textures on the other), and having platform-independant resources is... well is pretty much a waste of time and money.

In the end, no console will be both (a) cheap, and (b) powerful without going the route of the PS3 though, in my opinion.  If the PS3 had a flexible GPU, and maybe a flexible memory architecture, like the X360, the console "war" would be "no contest".  That's the reason I'm confident Microsoft will sustain the X360 for 10 years, as they've claimed.  Upgrading it means changing everything... and besides... Nintendo is where the threat is at.  MS's goal has never been to be the best console maker... its always been to make sure the livingroom doesn't start to compete with the office PC.

 



@ Groucho

These are the "techincal charts" many 360 fans spread around on the internet:






Stan85's question regards the second "chart".



Naughty Dog: "At Naughty Dog, we're pretty sure we should be able to see leaps between games on the PS3 that are even bigger than they were on the PS2."

PS3 vs 360 sales

@groucho, You should check out the tessellation engine in the new SDK Microsoft released. It should make you a bit happier.

@MikeB the differences may not be as severe as reading the graph indicates but it is still a significant difference. For example Motorstorms particle effects wouldn't have been pixelated on the Xbox 360 because of the extra bandwidth from the Ed-ram.



Tease.

MikeB said:

@ Groucho

These are the "techincal charts" many 360 fans spread around on the internet:





Stan85's question regards the second "chart".

Look for something hard enough, and you are guaranteed to find it, I believe is the saying.  Lol.

 



Around the Network

You guys are Gods to me (not Squilliam).



@ Squilliam

Yes the EDRam bandwidth is useful for mainly AA, however there are enough 360 games lacking AA. Including some of its best games like Kameo, Halo 3, Dead Space, Madden 09, Quake 4, etc. The problem is that the amount of EDRam is so small and tiling results in framerate issues.

You can't come to the conclusion Motorstorm 2 can be done on the 360 with AA nor without any other sacrifices, for example regarding physics, lossless 7.1 audio, the amount of online multi-players supported, etc. Having AA or not is often a lesser factor regarding high definition game design and the Cell can even do a lot of stuff regarding potential aliasing issues as well, just look at Killzone 2 and things will even improve a lot along the road with regard to what developers will be able to achieve down the road smartly utilizing the Cell's potential.



Naughty Dog: "At Naughty Dog, we're pretty sure we should be able to see leaps between games on the PS3 that are even bigger than they were on the PS2."

PS3 vs 360 sales

What I am posting is from a M$ e-mail from their own comparitive analysis of the entire performance of PS3 vs 360. I will add if you understnd it (as most gaming PC enthusiasts will) this info certainly doesnt lie and is accurate. But take it how you will.

DETAILED ANALYSIS OF PERFORMANCE SPECIFICATIONS

CPU
The Xbox 360 processor was designed to give game developers the power that they actually need, in an easy to use form. The Cell processor has impressive streaming floating-point power that is of limited use for games.

The majority of game code is a mixture of integer, floating-point, and vector math, with lots of branches and random memory accesses. This code is best handled by a general purpose CPU with a cache, branch predictor, and vector unit.

The Cell's seven DSPs (what Sony calls SPEs) have no cache, no direct access to memory, no branch predictor, and a different instruction set from the PS3's main CPU. They are not designed for or efficient at general purpose computing. DSPs are not appropriate for game programming.

Xbox 360 has three general purpose CPU cores. The Cell processor has only one.

Xbox 360's CPUs has vector processing power on each CPU core. Each Xbox 360 core has 128 vector registers per hardware thread, with a dot product instruction, and a shared 1-MB L2 cache. The Cell processor's vector processing power is mostly on the seven DSPs.

Dot products are critical to games because they are used in 3D math to calculate vector lengths, projections, transformations, and more. The Xbox 360 CPU has a dot product instruction, where other CPUs such as Cell must emulate dot product using multiple instructions.

Cell's streaming floating-point work is done on its seven DSP processors. Since geometry processing is moved to the GPU, the need for streaming floating-point work and other DSP style programming in games has dropped dramatically.

Just like with the PS2's Emotion Engine, with its missing L2 cache, the Cell is designed for a type of game programming that accounts for a minor percentage of processing time.

Sony's CPU is ideal for an environment where 12.5% of the work is general-purpose computing and 87.5% of the work is DSP calculations. That sort of mix makes sense for video playback or networked waveform analysis, but not for games. In fact, when analyzing real games one finds almost the opposite distribution of general purpose computing and DSP calculation requirements. A relatively small percentage of instructions are actually floating point. Of those instructions which are floating-point, very few involve processing continuous streams of numbers. Instead they are used in tasks like AI and path-finding, which require random access to memory and frequent branches, which the DSPs are ill-suited to.

Based on measurements of running next generation games, only ~10-30% of the instructions executed are floating point. The remainders of the instructions are load, store, integer, branch, etc. Even fewer of the instructions executed are streaming floating point—probably ~5-10%. Cell is optimized for streaming floating-point, with 87.5% of its cores good for streaming floating-point and nothing else.






Game programmers do not want to spread their code over eight processors, especially when seven of the processors are poorly suited for general purpose programming. Evenly distributing game code across eight processors is extremely difficult.

Game programmers do not want to spread their code over eight processors, especially when seven of the processors are poorly suited for general purpose programming. Evenly distributing game code across eight processors is extremely difficult.

GPU
Even ignoring the bandwidth limitations the PS3's GPU is not as powerful as the Xbox 360's GPU.

Below are the specs from Sony's press release regarding the PS3's GPU.

RSX GPU


550 MHz

Independent vertex/pixel shaders

51 billion dot products per second (total system performance)

300M transistors

136 "shader operations" per clock
The interesting ALU performance numbers are 51 billion dot products per second (total system performance), 300M transistors, and more than twice as powerful as the 6800 Ultra.

The 51 billions dot products per cycle were listed on a summary slide of total graphics system performance and are assumed to include the Cell processor. Sony's calculations seem to assume that the Cell can do a dot product per cycle per DSP, despite not having a dot product instruction.

However, using Sony's claim, 7 dot products per cycle * 3.2 GHz = 22.4 billion dot products per second for the CPU. That leaves 51 - 22.4 = 28.6 billion dot products per second that are left over for the GPU. That leaves 28.6 billion dot products per second / 550 MHz = 52 GPU ALU ops per clock.

It is important to note that if the RSX ALUs are similar to the GeForce 6800 ALUs then they work on vector4s, while the Xbox 360 GPU ALUs work on vector5s. The total programmable GPU floating point performance for the PS3 would be 52 ALU ops * 4 floats per op *2 (madd) * 550 MHz = 228.8 GFLOPS which is less than the Xbox 360's 48 ALU ops * 5 floats per op * 2 (madd) * 500 MHz= 240 GFLOPS.

With the number of transistors being slightly larger on the Xbox 360 GPU (330M) it's not surprising that the total programmable GFLOPs number is very close.



The PS3 does have the additional 7 DSPs on the Cell to add more floating point ops for graphics rendering, but the Xbox 360's three general purpose cores with custom D3D and dot product instructions are more customized for true graphics related calculations.

The 6800 Ultra has 16 pixel pipes, 6 vertex pipes, and runs at 400 MHz. Given the RSX's 2x better than a 6800 Ultra number and the higher frequency of the RSX, one can roughly estimate that it will have 24 pixel shading pipes and 4 vertex shading pipes (fewer vertex shading pipes since the Cell DSPs will do some vertex shading). If the PS3 GPU keeps the 6800 pixel shader pipe co-issue architecture which is hinted at in Sony's press release, this again gives it 24 pixel pipes* 2 issued per pipe + 4 vertex pipes = 52 dot products per clock in the GPU.

If the RSX follows the 6800 Ultra route, it will have 24 texture samplers, but when in use they take up an ALU slot, making the PS3 GPU in practice even less impressive. Even if it does manage to decouple texture fetching from ALU co-issue, it won't have enough bandwidth to fetch the textures anyways.

For shader operations per clock, Sony is most likely counting each pixel pipe as four ALU operations (co-issued vector+scalar) and a texture operation per pixel pipe and 4 scalar operations for each vector pipe, for a total of 24 * (4 + 1) + (4*4) = 136 operations per cycle or 136 * 550 = 74.8 GOps per second.

Given the Xbox 360 GPU's multithreading and balanced design, you really can't compare the two systems in terms of shading operations per clock. However, the Xbox 360's GPU can do 48 ALU operations (each can do a vector4 and scalar op per clock), 16 texture fetches, 32 control flow operations, and 16 programmable vertex fetch operations with tessellation per clock for a total of 48*2 + 16 + 32 + 16 = 160 operations per cycle or 160 * 500 = 80 GOps per second.



Overall, the automatic shader load balancing, memory export features, programmable vertex fetching, programmable triangle tesselator, full rate texture fetching in the vertex shader, and other "well beyond shader model 3.0" features of the Xbox 360 GPU should also contribute to overall rendering performance.

Bandwidth
The PS3 has 22.4 GB/s of GDDR3 bandwidth and 25.6 GB/s of RDRAM bandwidth for a total system bandwidth of 48 GB/s.



The Xbox 360 has 22.4 GB/s of GDDR3 bandwidth and a 256 GB/s of EDRAM bandwidth for a total of 278.4 GB/s total system bandwidth.

Why does the Xbox 360 have such an extreme amount of bandwidth? Even the simplest calculations show that a large amount of bandwidth is consumed by the frame buffer. For example, with simple color rendering and Z testing at 550 MHz the frame buffer alone requires 52.8 GB/s at 8 pixels per clock. The PS3's memory bandwidth is insufficient to maintain its GPU's peak rendering speed, even without texture and vertex fetches.

The PS3 uses Z and color compression to try to compensate for the lack of memory bandwidth. The problem with Z and color compression is that the compression breaks down quickly when rendering complex next-generation 3D scenes.

HDR, alpha-blending, and anti-aliasing require even more memory bandwidth. This is why Xbox 360 has 256 GB/s bandwidth reserved just for the frame buffer. This allows the Xbox 360 GPU to do Z testing, HDR, and alpha blended color rendering with 4X MSAA at full rate and still have the entire main bus bandwidth of 22.4 GB/s left over for textures and vertices.

CONCLUSION
When you break down the numbers, Xbox 360 has provably more performance than PS3. Keep in mind that Sony has a track record of over promising and under delivering on technical performance. The truth is that both systems pack a lot of power for high definition games and entertainment.

However, hardware performance, while important, is only a third of the puzzle. Xbox 360 is a fusion of hardware, software and services. Without the software and services to power it, even the most powerful hardware becomes inconsequential. Xbox 360 games—by leveraging cutting-edge hardware, software, and services—will outperform the PlayStation 3.

--------------------------------------------------------------------------------
Lastly, we were sent updated spec numbers on the Xbox's numbers, and we spoke with Microsoft's Vice President of hardware, Todd Holmdahl, about the Xbox 360's final transistor count.

Another bit of information sent our way is the final transistor count for Xbox 360's graphics subset. The GPU totals 332 million transistors, which is spit between the two separate dies that make up the part. The parent die is the "main" piece of the GPU, handling the large bulk of the graphics rendering, and is comprised of 232 million transistors. The daughter die contains the system's 10MB of embedded DRAM and its logic chip, which is capable of some additional 3D math. The daughter die totals an even 100 million transistors, bringing the total transistor count for the GPU to 232 million.



You forgot the last part from the MS "internal comparison":

"Boss, I hope this analysis pleases you. Please, I would like to keep my job."

;)

Its pretty silly trying to convince someone who won't be convinced that there are better ways, or even more than one way, to do things. That's why there are so many extended "which is better" flamewars here on VGC. =)



MikeB said:

@ Groucho

These are the "techincal charts" many 360 fans spread around on the internet:





Stan85's question regards the second "chart".

First one... PPE only is about 0.4*X360. (+SPUs = ?)

And memory bandwidth... Eww... It has very very fast eDRAM being as a very big 'cache', but both GPU & CPU(on X360) are stuck with about the same bandwidth as RSX(GPUs own memory only). And adding together RAM&eDRAM and also adding together CELL&RSX bandwidth like in that picture. *facepalm*

Heres what it looks like:

You can get stuff from ram, but you must do it through GPU everytime. So CPU & GPU 'can't' really access memory at the same time.(You can always get 'all' you need to eDRAM.) And what makes it fast? You can put stuff into eDRAM and do just about all you need in there. Its more than 10 times faster than regular ram and you can access it much faster. That means smaller delays when playing with data. (On parallel computing course I attended it was about 100 cycles to get something from ram in todays comps. When you do that a lot it will be a lot of cycles. Anyway... :) )

And for as a bonus what does PS3 bandwidth chart look like:


Hopefully this was also an answer for Stan85's question...

 

I like new toys too, but I usually don't like to be forced to use new tools for work. ;P

(Anyway I would love to play around with PS3(Programming mainly, I don't like those games, way too simple for me. :P), but the price is way too salty right now. I might get it later however. X360 meh... it doesn't offer anything new.)