Building for ARM64

Now that I finally released the Android version of Zoing and Zoing Zero to the Google Play Store, I now can finally start working on some new features. But, before doing that I need to provide 64 bit support, as described by Apple. Fortunately, Xamarin makes this pretty easy. I recently updated my game to the Unified API, which includes support for ARM 64, and was entirely painless.

Aside from the requirement to do this, I also wondered how much of a performance improvement it might give me. I benchmarked Zoing built for ARM7, ARM7s, and ARM64. All of these runs were done on my iPhone 6 Plus.

Clearly the build that includes ARM64 does provide a huge performance improvement (average FPS of 622 compared to a best of 482 for previous builds). I find it interesting that the ARMv7s does not provide any benefit of ARMv7, but again this was testing on a iPhone 6 Plus, which contains the ARM64. Perhaps if I tested on an iPhone 5S I would have seen something different.

I should also explain these FPS numbers. iOS actually limits OpenGL animations to a maximum of 60 FPS. For the purposes of this benchmark I run my game's logic loop as fast as I can, but show the screen only once every 1,000 logic-loop cycles. This allows me to benchmark my code's efficiency as well as these CPU changes.

I will try to blog a little more often going forward, but I've said that before too. ;-)

Finally, Android Is Published!

Sorry for the long hiatus in writing, all I can say is that I've been busy. The good news is that I have nice results from that busyness. I've finally released the Android version of Zoing. There are two options: Zoing for $0.99 or Zoing Zero for free with ads.

Now that I've finished the Android version I hope to be able to iterate on adding to features to both iOS and Android pretty quickly. Keep watching this blog or the new Zoing page on Facebook for news. I'm also tweeting under ZoingGame, so feel free to follow me there as well.