I’ve been working with the XNA framework over the past couple of weeks; if you’re not familiar with it, the XNA framework lets you develop applications (well, games) for both the Xbox 360 and Windows using .NET languages like C# and Visual Basic.
One of the things I’ve done is port parts of Geekbench 2 to XNA, which means it’s possible to compare XNA performance (and maybe draw some conclusions about the performance of the underlying hardware) on the Xbox 360 and Windows.
So, here are some Geekbench.XNA scores from my Xbox 360, along with some scores from my MacBook running Windows Vista to give the results some perspective.
Setup
- MacBook (Late 2006)
- Intel Core 2 Duo @ 2.0GHz
- 1.0 GB 667 MHz DDR2 SDRAM
- Windows Vista Business (32-bit)
- Xbox 360
- IBM Xenon CPU @ 3.2GHz
- 512 MB GDDR3 RAM
- Dashboard 2.0.5759.0
I’m reporting both the baseline score and the raw score for each benchmark (where a score of 1000 is the score a Power Mac G5 1.6GHz would receive). Higher is better.
Results
Blowfish
MacBook Single-Threaded 32.2 MB/sec |
733 | |
Xbox 360 Single-Threaded 2.63 MB/sec |
60 | |
MacBook Multi-Threaded 51.9 MB/sec |
1180 | |
Xbox 360 Multi-Threaded 7.04 MB/sec |
174 |
Dot Product
MacBook Single-Threaded 1.29 Gflops |
2672 | |
Xbox 360 Single-Threaded 92.0 Mflops |
190 | |
MacBook Multi-Threaded 2.57 Gflops |
5323 | |
Xbox 360 Multi-Threaded 190.3 Mflops |
416 |
Stream
MacBook Stream Add 2.48 GB/sec |
2335 | |
Xbox 360 Stream Add 97.5 MB/sec |
70 | |
MacBook Stream Copy 2.24 GB/sec |
1721 | |
Xbox 360 Stream Copy 274.3 MB/sec |
207 | MacBook Stream Scale 2.35 GB/sec |
1547 |
Xbox 360 Stream Scale 225.9 MB/sec |
146 | |
MacBook Stream Triad 2.22 GB/sec |
1601 | |
Xbox 360 Stream Triad 95.1 MB/sec |
67 |
Conclusion
While it looks like the XNA framework doesn’t impose much of a performance penalty under Windows (MacBook Geekbench.XNA scores are comparable to MacBook Geekbench 2 scores) I believe the XNA framework imposes a substantial performance penalty on the Xbox 360; I’m not sure how else you could explain the incredibly poor performance of the Xbox 360.
I don’t expect the Xbox 360 to keep up with current processors (like the Core 2 Duo), I expect it to keep up with processors that are a few years old, especially considering the Xenon is more comparable to a conventional processor than the Cell Processor (which is able to keep up to a PowerPC G5 @ 1.6GHz).
So I’m not sure what conclusions I can draw from these results, other than to say that XNA isn’t a suitable framework for developing high-performance games on the Xbox 360. It’s either that or the Xenon processor isn’t a very good processor, but I doubt that’s the case.