Billy Idol
Legend
She's partly right, although it was also often the case that we weren't allowed to push it to make sure the games ran acceptably on other platforms. That's 50% of the reason I had abandoned 360 development long time ago, not because I didn't want to push the 360 but because we were required to treat it as a PortBox 360 and not an Xbox 360 so our hands were tied. Games shipped with so much idle gpu time even in 2009, it was kinda disgusting really. Dunno if that's changed in 2010.
Vmx means just rewriting code to use the 360 cpu's vector units instead of it's craptacular ppu's. You can kinda think of the vmx units as mini cpu's that operate on 4 things at a time really well, as well as being able to avoid stall penalties like load-hit-store if you keep everything in the vmx registers, and hiding latency nicely if you hand write everything using vmx intrinsics. I imagine most devs are using vmx, hard to imagine living on the 3 ppu's alone at this point.
Yeah, you can break up cpu tasks on 360 the same way you do on spu's. On PS3 you had no choice but to really granulate your code into many small jobs sooner than later because it simply wouldn't run well on the single ppu. On the 360 the 3 ppu's allowed the old crutch of just splitting code into three main threads, like maybe main render, ai and physics. That's easy to get up and running and debug, but it ultimately doesn't max out using the cpu. That old model has no choice but to die a painful death, especially if next gen has many more cores. Whoever has code that works as she says, broken up into much smaller parts, will be much better prepared for next gen. In that respect the single ppu + 6 spu model of the PS3 really forced people to catch up and break away from the 2 or 3 thread model, which long term is a good thing.
when you say that the VMX units operate 4 things in a time - do you mean that the VMX units have a vector length of 4?
This leads to a potential factor 4 speed up, right?
But how are these VMX units clocked? It is sometimes the case that vector units are rather low clocked (for instance the NEC SX8 is only 800 MHz, iirc), thus you don't get the full speed up compared to a single standard CPU with high clock rate.
Last edited by a moderator: