What to do when only one device struggles to run your game while the rest are fine..?

I’ve finished a game I’ve been working on for a little. I’ve gone through several optimization threads on here and consulted with others who also looked my game over to get it to run as efficiently as possible. I’ve had dozens of enterframe listeners replaced with sensor-based collisions to stop the functions from being called so often. I have in my home an Iphone 6 Plus, IPhone 5, 4s, Galaxy S4 and Galaxy S6. The game runs buttery smooth on every, single device except for the S4, in which it chops and stutters horribly (the game is an endless runner btw.) I’ve been tweaking at it for what seems like forever in an effort to get it smooth and have even messed around with the garbage collection cycles thinking maybe that was the culprit but I fear it’s becoming strikingly clear that something about the S4 hardware simply isn’t up to par. In that case, what should I do?

I was leaning towards aiming for both IOS and Android but with the amount of S4s in circulation, I’m kind of scared to release the game for Android. And given the fact that there are even older Galaxy S models I haven’t tested on, I have no idea what to expect there.

Have you tried testing on another S4, just in case it’s an issue with that particular device?  

Been a while since I checked this but I’m fairly sure our games ran better on an S4 than an iPhone 4S.

I’m getting my hands on another S4 today and will report back. Here’s hoping my current device is just the exception and not the rule.

Reporting that I tried it on another S4 and the game ran slightly smoother, but still not up to par compared to on all other devices. Still noticeable jittering and stuttering of moving display objects. Curious as to how I should proceed?

Try running some sample apps on the device and see if you have the same issue.  With out us knowing anything about your app (how much particle effects are you using? How much audio? Are you using large audio files? are you spawning lots of things? etc.) it will be really hard to advise you.  Maybe shoot a video of the play on a couple of different devices so we can see it?

Rob

Rob is exactly right, without a complete picture of your what your game is and how it is structured it is hard to pinpoint it. You may already have done this to a certain degree but I would start by commenting out sets of core functionality of your game and retest on the device until you notice the performance issues go away. Once you have an idea of where the bug is originating drill down even further until you have it solved. Obviously this is subjective to your code base. Good luck.

Have you tried testing on another S4, just in case it’s an issue with that particular device?  

Been a while since I checked this but I’m fairly sure our games ran better on an S4 than an iPhone 4S.

I’m getting my hands on another S4 today and will report back. Here’s hoping my current device is just the exception and not the rule.

Reporting that I tried it on another S4 and the game ran slightly smoother, but still not up to par compared to on all other devices. Still noticeable jittering and stuttering of moving display objects. Curious as to how I should proceed?

Try running some sample apps on the device and see if you have the same issue.  With out us knowing anything about your app (how much particle effects are you using? How much audio? Are you using large audio files? are you spawning lots of things? etc.) it will be really hard to advise you.  Maybe shoot a video of the play on a couple of different devices so we can see it?

Rob

Rob is exactly right, without a complete picture of your what your game is and how it is structured it is hard to pinpoint it. You may already have done this to a certain degree but I would start by commenting out sets of core functionality of your game and retest on the device until you notice the performance issues go away. Once you have an idea of where the bug is originating drill down even further until you have it solved. Obviously this is subjective to your code base. Good luck.