June 18, 2007

Bound By Decisions

Ozymandias has a fairly interesting post up about Sony's Playstation Network attempting to compete with Microsoft's Xbox Live and how the lack of planning is going to hurt Sony. If he only knew the half of it.

Now first off, I'm going to be talking about some fairly straightforward numbers here and everything I talk about is currently out there on the net if you feel the urge to do any searching.

Let's start with the base memory layouts of the PS3 and Xbox 360.
Xbox 360
Unified Memory
512Mb
On-Die EDRAM
10Mb
Playstation 3
System Memory
256Mb
Video Memory
256Mb
No big deal, right? Both basically have the same amount of memory. The 10Mb of EDRAM is only really used for render targets, depth/stencil buffers, and so on. (If you are interested in some additional information, look in the XNA Game Studio Express Edition documentation under "Predicated Tiling.")

Now, the memory difference between the two actually doesn't amount to much on the surface. While the Xbox 360 is able to decide how much memory is going to be used for the frame buffer, textures, models, etc., the PS3 has a very set memory footprint for those items and it works quite well for developers to know what their footprint can be.

The catch comes with the operating system. While GameSpy was recently mocking Microsoft for having a 100 friend limit on Xbox Live, there was a good reason for it. Microsoft is operating under a bit of a memory crunch on Live. The entirety of memory set aside for the Xbox operating system is a paltry 32Mb. All of the Xbox OS, including Live, the associated textures, the buffers necessary for holding the data from the Live service, the hypervisor that the games run on, etc....everything fits into 32Mb of memory.

On the PlayStation 3, it's a bit worse. Their OS takes up 64Mb of memory. That's the XMB, OS, kernel, everything. That's 25% of their system memory, compared to just over 6% for the Xbox operating system.

Even that isn't that big of a deal. The Core processor architecture lends itself to smaller applications running in parallel, so the system is more focused on keeping the smaller cores active, plus being able to rely on the presence of a hard drive has led to some virtual memory systems being created so that for the most part, the memory headache isn't being felt.

But that isn't the part that is going to hurt Sony. The part that will hurt Sony is what they allowed early developers to do. Xbox Live worked on the 360 because it was seamless, but on the Xbox, games had to give up memory to have the Live feature set. Because of this, it wasn't as seamless, it didn't work on all titles, etc. (Sounding familiar?) On the PS3, you'd think with 64Mb of memory reserved for the kernel, they wouldn't have to sacrifice memory for the sake of the PlayStation Network.

Well, the catch is that because of some allowances, Sony can't rely on the kernel being loaded. Sony allowed developers to swap out the kernel and use that memory for their games. Most kernel functionality is inside static libraries that apps can swap in and out, and games that take advantage of this allowance simply swap in the kernel in the rare instances when they need it.

So this generation, the best Sony can hope for is an Xbox 1 experience where some games are network-aware. As part of the next generation, I expect the two systems to have network systems that are on par with each other, but for this system, Microsoft wins the network.

That said, Sony doesn't have to win the network to win the war. They just have to win the games and the gamers. With the limited penetration of broadband in the United States, coupled with what appears to be more reliable hardware and the PlayStation brand name recognition, Sony still has some advantages. As long as their PR strategy doesn't further alienate gamers and developers, they could stay in the game.

Only time will tell.

(Update: Typo corrected thanks to GameQABlog.)

1 comment:

TimeDoctor said...

Bug title: Spelling error can home for?

Steps to reproduce:
1) Read article

Tester Expected Results:
Words mean what they should.

Actual Result:
means words what them.

:>