One of the biggest questions has been whether or not Xbox 360 would be backwards compatible with original Xbox games. Recent word from Microsoft has been that Halo 2 will be amongst the first games to get backwards compatibility – but until now, no one has known exactly what that means, or how it will be achieved.
What are the problems? Well, Xbox 1 games are written for Intel CPUs and Nvidia graphics, and graphics engines in particular use hardware specific instructions. Apart from the change to PowerPC hardware with the Xbox 360, Nvidia-specific calls have to be interpreted in a manner that the ATI hardware in the 360 will understand.
Richard: “Microsoft weren’t focused on hardware backwards compatibility early on… that wasn’t in the specification. They believed that any compatibility they could get would come in through a software layer, and they didn’t want to compromise this generation’s hardware for the sake of last generation’s games.
“They have implemented compatibility purely through emulation (at the CPU level). It looks like emulation profiles for each game are going to be stored on the hard drive, and I imagine that a certain number will ship with the system. They already have the infrastructure to distribute more profiles via Live, and more and more can be made available online periodically.
“Emulating the CPU isn’t really a difficult task. They have three 3GHz cores, so emulating one 733MHz chip is pretty easy. The real bottlenecks in the emulation are GPU calls – calls made specifically by games to the Nvidia hardware in a certain way. General GPU instructions are easy to convert – an instruction to draw a triangle in a certain way will be pretty generic. However, it’s the odd cases, the proprietary routines, that will cause hassle.”
Halo 2 courtesy Bungie
ATI v Nvidia: RSX, PS3 and the console wars
With the Xbox 360 Xenos core running at 500MHz, and the PlayStation3’s RSX graphics core running at 550MHz, the non-techie press are calling the specs a win for Sony. Is this really the case, though?
Richard is adamant that the extra graphics speed on paper is more than made up for by the differing architecture of the Xenos. “That mere 10% clock speed that RSX has on Xenos is easily countered by the unified shader architecture that we’ve implemented.
“Rather than separate pixel and vertex pipelines, we’ve created a single unified pipeline that can do both. Providing developers throw instructions at our architecture in the right way, Xenos can run at 100% efficiency all the time, rather than having some pipeline instructions waiting for others. For comparison, most high-end PC chips run at 50-60% typical efficiency. The super cool point is that ‘in the right way’ just means ‘give us plenty of work to do’. The hardware manages itself.”
The issue of unified versus split shader pipelines is a critical one that we’ll come back to in a moment, but I was curious as to how Richard felt the CPU architecture between the two consoles makes a difference to the graphics and overall power.
“The PS3 does appear to have a huge amount of CPU power with the seven Cell cores. The problem they have is that CPU power isn’t really what developer’s need – the bottleneck is really the graphics. Everybody is going multi-threaded and multi-core – the Xbox 360 has three PowerPC cores, AMD and Intel both have dual-core chips, so everyone is having to learn how to write this stuff. But writing multi-threaded apps for two or three cores is difficult. Doing it for seven separate cores, when the main core has a slightly different feature-set from the other six, is very, very difficult.”