I've been working on a physics based game using MonoTouch for iPho开发者_如何学运维ne and XNA for Windows Phone 7. The game runs great on Windows Phone 7 but on iPhone I'm finding there to be a bit of lag in CPU bound operations.
The reason I suspect it's the CPU operations which are causing the slow down is because if I disable physics the game runs at a solid 60fps, it's only when I enable it that it chugs and it chugs even more so when lots of stuff is happening on screen. I'm using the Farseer Physics engine which was written for XNA but runs fine on iOS through MonoTouch.
The difference in performance between wp7 and iPhone is quite substantial which leads me ot believe there may be something going on that's hurting performance which I'm not seeing.
So I was just wanting to know if anyone here has had similar performance issues with monotoucha nd how they got past them? I have a few ideas involving multithreading but I feel that the iPhone (iPhone4 in particular) should be able to handle Angry Birds-esque physics processing, considering Angry Birds is an iPhone game.
The first step is to determine the source of the slowdown, follow the profiling instructions here:
http://monotouch.net/Documentation/Profiling
A simple way to get more performance is to use the LLVM code generation option. The builds take longer, but they produce better code.
精彩评论