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.