When asking about my work on the SimCity port for the iPhone and iPod Touch, many users of gpSPhone simply wanted a bit of a performance boost. This brought me back to thinking about an issue I have seen with Springboard and all applications running on the iPhone and iPod Touch. It seems whenever setNeedsDisplay is called, Springboard lands up taking up to 5% to 20% CPU time! A quick example of this would be to run the Apple Calendar application and run ‘top’ through SSH. In Calendar rub your finger across the screen to highlight a bunch of days in the month. This causes a screen refresh, and also about 15% CPU utilization within the Springboard process shown by top! It seems across the board on any application
Now you may say, why even call setNeedsDisplay then? It’s pretty much required to update the screen and therefor see new things being displayed. So I have been working out ways to reduce the need to call setNeedsDisplay as often. I have been able to reduce Springboard’s CPU usage by half what it use to be by just calling it less often. I also have seen a good performance boost in my applications such as my Gameboy Advance emulator gpSPhone.
Beta Tester Club members of ZodTTD.com may now test this performance enhanced version of gpSPhone v1.3.0. ZodTTD.com forum members who donate are instantly upgraded to Beta Tester Club status.
This will be a short beta depending on the results and what other features may be absolutely required.
I hope to see Springboard no longer take so much CPU time for such an odd reason, in future firmwares.