Blog

Measuring performance of Apple mobile devices

During the development of our first iOS title we inevitably came to a point of choosing which devices the game would run on. As many other developers we would like to let as many device owners to experience the game, as possible. But how do you decide upon which devices are capable and which aren’t when it comes to adding special effects and expensive shaders aimed at improving players’ experience?

You could, of course purchase as many iPhones or iPads as you could get your hands on and test away, but that’s not practical and certainly not cheap.

Solution? – Benchmarks!

Specifically – GFXBench benchmark suite by KISHONTI informatics which we found to be the most applicable to real cases.

How to use GFXBench results

One of the greatest things about GXFBench website is the ability to compare devices of any models, brands and even specific hardware like PC graphic cards. You can compare two iPhones or iPads, or if you’re also targeting Android devices, you can easily compare a device that you know well to any other phone or tablet running Android.

compare

As cool as GFXBench is, there’s one issue: while each update adds new features to the benchmark, older devices gradually disappear from the database. So if you need to compare older devices not just by the final vague “Long term performance” rating, but by actual fill rate, texturing and ALU, make sure to compare results for the oldest available version of GFXBench (at the moment of writing this post it’s 3.0). Then instead of this:

Incomplete GFXBench results

You will actually see some usable results:

Usable GFXBench results

What to do with these results

By having data on say how much faster iPhone 6 is compared to iPhone 4s, you can be sure that adding a couple (or actually a lot more!) effects to improve experience of owners of more capable devices is perfectly fine. You can even go so far as to estimate that if with all those effects your FPS ends up 3-4 times lower on iPhone 4S, owners of iPhone 6 won’t experience any slowdowns since their device is well over 10 times faster than the older model when it comes to onscreen rendering.

This is also useful when targeting different device types. For example, you will find out that iPad 2 has similar GPU performance to that of iPhone 4s or iPod Touch 5G and thus you would only need to test on one of those devices during development (aspect ratio differences aside) to rightfully expect the the app to run well on those devices.

Benchmarks != Real device tests

As good as benchmarks are, when there comes the time to release the app, you do need to somehow get your hands on as many real target devices as you can. Performance aside, there are other important differences between device generations (like those between 32 and 64-bit CPUs, installed RAM and even OS versions) what can make or break your game.

But by using benchmarks as reference you will be able to plan ahead and save valuable time during development, without the need to purchase a bunch of devices or do heaps of in-house performance tests, which isn’t something anyone wants to ever have to do.

Featured Blog Post:

Measuring performance of Apple mobile devices

During the development of our first iOS title we inevitably came to a point of choosing which devices the game would run on. As many other developers we would like to let as many device owners to experience the game, as possible. But how do you decide upon which devices are capable and which aren't when it comes to adding special effects and expensive shaders aimed at improving players' experience? You could, of course purchase as many iPhones or iPads as you could get your hands on and test away,...

Read more