« May holiday | Main | The end of an era »

Round 2... fight!

Warning: nerdy post to the extreme; non game programmers can stop reading now.

Even though as a developer, I'm privy to a bit more info than the general public regarding this kind of stuff, I still spent the better part of the past two days soaking every bit of news and opinion on the PS3 and the Xbox 360 (nonstop clicking on the reload button, with literally over a dozen window and tabs on every gaming and tech site) -- the consoles which are going to be battling it out for control over the gaming scene for the rest of this decade. (Sorry Nintendo, but even as a die hard Nintendo fan for many years since grade school, I'm not holding my breath... =( )

General consensus seems to indicate the PS3 has much more raw horsepower, and the demos floored me like they did everyone else. But numbers tell surprisingly little.

Intellectually, I'm getting more and more fascinated with GPGPU techniques; essentially, using the GPU as a general purpose stream processor to handle stuff other than rendering, like physics. The main limitation of these techniques has been the horribly assymetric AGP bus on the PC in terms of readback from video RAM (ie, retrieving your results your GPU computed for use in your game). PCIe removes the bandwidth disparity, but there's still latency and bus contention issues to deal with, so it's no panacea. I don't know what interconnect they're using on the PS3, but as long as CPU and GPU use separate memory banks, you'll run into this issue. UMA seems like it will be a logical approach to solving this issue, even though raw bandwidth seems to be less.

The Ageia PPU seems to be interesting too... too bad it's not incorporated into any of this crop of consoles. Let's hope though they don't lock you into any specific proprietary API (cough... 3Dfx... Glide... ack...)

Please Sony, get a good compiler team this time, or just acquire one. gcc has never been known for its performance -- on any platform. Furthermore, it looks like that both the Xbox 360 and the Cell PPC cores are strictly in-order units, putting the onus of scheduling and thus performance squarely in the hands of the compiler writers.

I'm hopeing we can have something on the Cell that's the equivalent of the Intel C++ Compiler for their platforms or IBM's XLR compiler for PPC (MS should just adopt this for the Xbox 360), and support for OpenMP as well. Seems that Cell still has remanents of the PS2 EE/VU design decisions -- explicit DMA transfers to/from SPUs, relatively little cache to work with, so a philosophical learning curve will still be there, it seems, for PC-weaned devs, unless they get some rocking middleware.

The little things amazed me as well. Xbox 360 supporting PSP connectivity. The PS3 having not only Memory Stick slots, but SD and CF as well. With the two heavyweights of the industry both jumping on the "universal convergence" bandwagon, might this be the era that we finally see this holy grail of consumer electronics kick-started after decades of failed promises?

Well, it's gonna be an interesting few years, that's for sure.

Disclaimer: my own personal opinion only, and only formed from publically-announced information.

TrackBack

TrackBack URL for this entry:
http://www.markwang.com/cgi-bin/mt/mt-tb.cgi/212

Comments (1)

gsya:

Thanks for the warning at the beginning of this entry.  I only understood about 10% of what you wrote .

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

About

This page contains a single entry from the blog posted on May 19, 2005 12:56 AM.

The previous post in this blog was May holiday.

The next post in this blog is The end of an era.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.32