What do you think of the PS3's Cell architecture? How much harder is it for developers to write asymmetric multiprocessing code that will run on the PPE and the SPE's? How difficult will it be to port code that is tuned for the Cell over to the 360 while maintaining good performance? Do you think Sony made the architecture complex deliberately to make porting that way harder, or were they just trying to get maximum performance out of their system?
I don't think the Cell is as well designed for game development as Sony would have you believe. Some aspects of the SPEs, such as the lack of branch prediction, make them particularly unsuited to running most game code, which contains a lot of branches. They appear to be designed more for serialized streaming math code, more common in video codecs and audio processing, the traditional domain of digital signal processing chips. The memory architecture of the SPEs, specifically their lack of automatic cache coherency in favor of DMA transactions, seems like a lot of overhead is needed to feed work units to the SPEs and copy the results back to system memory.
The PPE appears to be essentially identical to one of the Xbox 360 cores, except without the VMX128 enhancements and with half the cache. However, a much greater assortment of work has to be crammed into this single core—all of the game loop, all of the rendering commands, and the system allegedly takes over some time as well. Only the second and third cores on Xbox 360 use a small timeslice to provide cool stuff like the Guide, music playback, Dolby Digital encoding, and more things that we can add in the future to all games, past and present.
I think porting from Xbox 360 to PS3 will be reasonably difficult, since the Xbox 360 has a lot more general purpose processing power that can be flexibly reallocated, and all of the Xbox 360 CPU cores have equal access to all memory. The asymmetric nature of the Cell could easily lead to situations where the game has too little of one type of processing power and too much of another. And the content might suffer as well, since you'll never see a PS3 title with more than 256MB of textures at any given time, due to the split graphics and system memory banks. When we announced 512MB of unified memory on Xbox 360, I think all of our game developers (and the artists too) did a little happy dance. It's easier to use and gives developers much more flexibility in how they allocate memory for various resources.
In terms of performance, I think that the PS3 and the Xbox 360 will essentially be a wash. We ran the numbers a while back and the two systems come up surprisingly close in theoretical peak performance, despite the one year difference in release dates. However, I know for a fact that we have a great advantage in software and services—our development environment and tools are years ahead of the competition, and this will ensure that Xbox 360 game developers can easily realize all of this performance and make superior games. Xbox 360 is a great system to develop on, a real pleasure—and I believe our developers agree.
this guy is no PR personMatt Lee:
I have worked at Microsoft full-time for almost five years now. Before that, I was an intern at Microsoft for two summers, while I was at MIT. After I finished my master's degree in June 2001, I started in Microsoft Game Studios...
...I'm an engineer in the Game Technology Group. My job is to help game developers make better Xbox 360 games. I'm one of about a dozen people who share a similar role here, and each of us have certain specialties. Mine are graphics programming and content pipelines, but we have CPU experts, networking experts, audio experts, and more—everyone overlaps to some degree. We also have a content team that reviews artwork and gameplay in the same way I review code and performance.
Tap In said:this guy is no PR person
Acert93 said:But he is clearly doing PR work. It may be of the semi-technical sort for a technical audiance, but it is still PR. Which of course being a MS employee and being interviewed due to his position in the company, one would expect. They are not talking to Matt, the free independant geek who can give his free opinions on anything and everything, but with Matt, the MS employee who is paid to present the companies products, vision, and in sticky situations is expected to tow the party line.
We collect as much multithreading knowledge as possible from all areas of computer science in practice and research, and strive to apply that knowledge to games. The best way to multithread a game has yet to be conclusively decided, and I doubt it ever will be, due to the wide variety of threading needs across different game genres. We continuously work on a set of best practices and provide them to our developers. Tools are equally important. Our primary performance tool, PIX, is the best performance tool in the industry. Part of this tool is a CPU timing capture, which graphically shows various blocks of code on timelines for the six hardware threads. This helps game developers visualize the threaded execution of their code and things like synchronization become much easier to understand. We have other tools that measure stalls and usage of synchronization primitives, which alert developers to problems in their threading architectures. However, the work is not finished here; we have an extensive list of performance tool improvements planned that will make multithreaded development and debugging much, much easier.
The tessellator in the Xbox 360 GPU is indeed a very powerful piece of hardware, and you're right—most games have yet to take advantage of this. I think you'll see more titles use it in the future. As for procedurally generated worlds, I believe the biggest obstacle to overcome is how to design and build the content for such a system—it can be quite a departure from today's art pipelines. Game studios will figure it out though—it's crucial to generating and delivering ever larger worlds without having to exponentially grow the size of the art team.
Right now, the best example of using procedurally-generated worlds is a third-party bit of middleware "SpeedTree," which was used to generate all the trees in Oblivion, although this was not done on the fly. This cuts down a lot of work for the artists, who then don't have to spend days making dozens and dozens of slightly different tree models. The idea of using on-the-fly procedural synthesis is one that even Microsoft hasn't explored yet.
rabidrabbit said:What I find funny in these MS "PS3 slashing" PR, is that while at first they prove the xbox360 CPU (and the Xenos) are that much better, in the end they always fall back to "it's a wash" and "the systems are equal in performance".
If the CPU and GPU are that much better, shouldn't they say "the xbox360 games will look and perform better than PS3 games".
Confusing.
what article did you read?Bad_Boy said:So basically in a few years we will be seeing games on the ps3 a lot more impressive than the launch titles due to the learning curve. Which in a way, happened to the ps2 as well. Not unexpected, but I really dont see better looking games in the future as a huge negative as long as the games in the beginning still look great.
*note, not saying the 360 will not get gradually better.
Bad_Boy said:So basically in a few years we will be seeing games on the ps3 a lot more impressive than the launch titles due to the learning curve. Which in a way, happened to the ps2 as well. Not unexpected, but I really dont see better looking games in the future as a huge negative as long as the games in the beginning still look great.
*note, not saying the 360 games will not get gradually better.
Man when you say you are busy, you are really busy.Acert93 said:I have a post that has been sitting in Word for months about, "Why games will begin to look substantially better 16-24 months from now". If I were not so busy writing my other epics I would probably get around to posting it.
But you are right, both consoles have a lot of upside this time around. e.g. SM3.0 has barely been touched on the PC side of things. Besides being faster, it opens up some new techniques to make things look better. Both consoles also have fast connections from the CPU to the GPU through a number of methods and both have a lot of memory as the "baseline". They also have a lot of power that needs to be tamed, but onced domesticated could be substantial workhorses. It would seem that good tools is what is needed to get us there though... at least 95% of the dev world. The Squares and Epics of the world have a lot of technical savvy and "just get it done" but as a gamer I want to see the smaller guys do well too.
PiNkY said:Actually I thought that was a pretty good interview. However talking to their graphics expert and not asking a single GPU-related question made me kinda sad..
kimg said:I didnt anticipate xbox360 where a branching monster from seeing pre launch specs and papers, is i my understanding way out of whack? I assume 360 is terrible at branch prediction, compared to my AMD athlon?
So that's the secret of your long, elaborate posts!!Acert93 said:I have a post that has been sitting in Word for months about, "Why games will begin to look substantially better 16-24 months from now". If I were not so busy writing my other epics I would probably get around to posting it.
assen said:Don't bring Athlons in the discussion. EVERYTHING is terrible at branch predition compared to an Athlon.
rabidrabbit said:So that's the secret of your long, elaborate posts!!
I had thought they were realtime, but now it's revealed they are all prerendered!!!!