• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Why do games typically run slower on Android than iOS?

  • Thread starter Thread starter Deleted User
  • Start date Start date
D

Deleted User

Guest
On most games I've played on both iOS and Android, they typically run fast on iOS and slow on Android, even if the Android device had better hardware. There's only been a few exceptions to this, such as Candy Crush and Clash of Clans.

What's the explanation for this? Is Android or Java just inherently slower than iOS and Objective-C?

I don't understand why some graphic-intensive games like Candy Crush and Clash of Clans runs just as fast on both platforms on any device but others just lag on Android. Are the rest just poorly programmed but iOS can handle them better?
 
I'd guess it's a comvination of 3 things.

One, you're not testing on a really fast, high-end Android device, like a Note 3, S5 or something in that class.

Two, programs written in C generally run faster than applications run in Java, since Java is still an interpreted language, no matter how efficient the interpreter is.

Three, people who write in C tend to know how to write programs better than those who drag and drop in the Android SDK or use app writing apps. (People who write optimized Java code will probably write the same app to run about as fast in Java as in Objective C.)
 
One, you're not testing on a really fast, high-end Android device, like a Note 3, S5 or something in that class.

Why wouldn't professional development studios like test on fast, high-end Android devices? They can get the latest Android phone just like they can get the latest iPhone. Also, if they're using not-really-fast devices then it would be obvious that the app is not running fast and they should be optimizing it. I don't understand this argument.

Two, programs written in C generally run faster than applications run in Java, since Java is still an interpreted language, no matter how efficient the interpreter is.

This doesn't explain why Clash of Clans and Candy Crush (two very graphically-intensive games) runs fast on Android but other games only run fast on iOS. Do the developers just need to optimize their code or are they converting it in a way that runs very slow like HTML5?

Three, people who write in C tend to know how to write programs better than those who drag and drop in the Android SDK or use app writing apps. (People who write optimized Java code will probably write the same app to run about as fast in Java as in Objective C.)

I doubt game companies like EA or SpaceApe or other professional studios writing popular, fast, and graphic-intensive games like Samurai Siege are using drag-and-drop to build their Android games. So again the question is are they being sloppy or do they have to optimize for Android?
 
Also, if they're using not-really-fast devices then it would be obvious that the app is not running fast and they should be optimizing it. I don't understand this argument.

This doesn't explain why Clash of Clans and Candy Crush runs fast on Android but other games only run fast on iOS. Do the developers just need to optimize their code or are they converting it in a way that runs very slow like HTML5?
I think he was inferring that you aren't playing the game on a fast enough device; Not that the developers are testing on underpowered devices. Without knowing what device(s) you're using, it's just speculation.

As an aside, I'm curious what games are slow for you on Android. I don't play mobile games much, but I haven't had trouble with performance in quite a while. The games I had trouble with a couple years ago have all been from EA or Gameloft. Their games seemed very buggy and unstable at the time (2011ish).

I'm not a developer. But, as I understand it, the iOS and Android code bases are completely incompatible. There is no "converting" iOS code to Android. A completely separate version has to be built for each platform.

I can only guess as to why the iOS version would perform better if that's actually the case. The publisher might have skimped on the Android version since it's not as profitable. They may just be better at developing for iOS. There's no way of knowing that they don't use drag and drop tools. Indie teams often develop for iOS and outsource the Android version. Though, that seems unlikely for a mega-publisher like EA, etc.
 
I've never really noticed that except in a handful of EA and Gameloft games, either on my Nexus 10, Acer a500, HTC One, or Samsung Galaxy Victory. I'd consider all my other devices too low-end to even think about. A thing to do to test your theory would be to test Epic Citadel on multiple Android/iOS devices of comparable hardware and settings.
 
I agree with dibblebill, I have never noticed as well because my Android games are running perfectly on my phone infect I didn't use iPhone ever.
 
Candy crush graphic-intensive.... :D

That's hilarious, it's not graphics intensive at all, slow down is due to poor optimization in that example.

As for real graphics intensive games like need for speed most wanted or Modern Combat 4 there are two reasons.

1. Poor optimization

2. Devices like the iPhone 5s are faster in most cases when it comes to 3d graphics due the lower screen resolution and comparable GPU performance.

Even though the iPhone 5s has been out for a while the GPU is still just as fast as the latest Android devices, it's an area Android manufacturers are not taking seriously.
 
I think he was inferring that you aren't playing the game on a fast enough device; Not that the developers are testing on underpowered devices. Without knowing what device(s) you're using, it's just speculation.

By "you're" I thought he meant "a developer" because the context of my original post was that I am playing the games, not developing on them or testing them, and he would have no idea what level of device I was using.

I'm using a Droid Razr Maxx and a Nexus 7, and they have better specs than my iPad 4; I thought mentioning the fact that the Android devices I'm using have better specs than the iOS device that runs them faster was adequate.

As an aside, I'm curious what games are slow for you on Android. I don't play mobile games much, but I haven't had trouble with performance in quite a while. The games I had trouble with a couple years ago have all been from EA or Gameloft. Their games seemed very buggy and unstable at the time (2011ish).

The games that I play now that run slow on Android but not iOS (with lesser specs) are Samurai Siege, Total Conquest, and Throne Rush. I don't remember the other ones I had trouble with but I remember Android had trouble for most games that ran fine on iOS. The EA games have always run fast for me.

I'm not a developer. But, as I understand it, the iOS and Android code bases are completely incompatible. There is no "converting" iOS code to Android. A completely separate version has to be built for each platform.

I know they're incompatible but that doesn't mean you can't code a fast game for both OSs. My question is what exactly is the reason for the poor behavior on a faster Android: bad coding or inherent flaws to Android or Java?
 
Candy crush graphic-intensive.... :D

That's hilarious, it's not graphics intensive at all, slow down is due to poor optimization in that example.

Candy Crush is the most graphic-intensive switch game I've played, and I've played a dozen (it's the only one I like). There's all kinds of animations everywhere, far more than these puzzle games have; it's also a major battery drain, due to the high-resolution graphics and flourishing animation.

As for real graphics intensive games like need for speed most wanted or Modern Combat 4 there are two reasons.

1. Poor optimization

2. Devices like the iPhone 5s are faster in most cases when it comes to 3d graphics due the lower screen resolution and comparable GPU performance.

I suppose Need 4 Speed and Modern Combat 4 are graphic-intensive compared to Candy Crush, but I don't play these games as I'm not much into 3-D gaming on mobile devices.

My guess is you're right about the resolution, except that the iPad 4 has a higher resolution than my Droid Razr Maxx and Nexus 7 and still runs most games faster.

Even though the iPhone 5s has been out for a while the GPU is still just as fast as the latest Android devices, it's an area Android manufacturers are not taking seriously.

Most Android phones get faster GPUs only a few months (or less) after the newest iPhone arrives (sometimes before), so I don't consider this an explanation.
 
Candy Crush is the most graphic-intensive switch game I've played, and I've played a dozen (it's the only one I like). There's all kinds of animations everywhere, far more than these puzzle games have; it's also a major battery drain, due to the high-resolution graphics and flourishing animation.

I've not played the game much but both my devices handle it without any slowdown.

I suppose Need 4 Speed and Modern Combat 4 are graphic-intensive compared to Candy Crush, but I don't play these games as I'm not much into 3-D gaming on mobile devices.

My guess is you're right about the resolution, except that the iPad 4 has a higher resolution than my Droid Razr Maxx and Nexus 7 and still runs most games faster.

Droid Razr Maxx has a very weak GPU compared the iPad 4, when comparing the Nexus 7 it depends which version. The Nexus 7 2012 is using Tegra 3 which is just as bad however the Nexus 7 2013 is using Snapdragon S4 Pro and is more comparable but still a little slower when it comes to graphics.

Most Android phones get faster GPUs only a few months (or less) after the newest iPhone arrives (sometimes before), so I don't consider this an explanation.

The only time I can recall an Android device having a faster GPU than a flagship Apple device at time of release was the original Galaxy S, Android have been playing catchup ever since.

Even the latest Snapdragon 801 based devices like the Galaxy S5 or M8 are just on par with Apples A6X but as at a large disadvantage due to the higher resolution displays.

Android manufactures are increasing that handicap even further to 2560*1440. :(
 
To be honest, there's no reason the iOS/Android codebases have to be incompatible, even if you're not using unity.

Android apps are NOT limited to Java code. They can be written once in C++ and cross-compiled for Android and iOS, and Windows, simultaneously.

A dev just needs to use the Android NDK, rather than the standard SDK.

Look at the source for PPSSPP, the well-known and extremely fast PSP emulator. Its all in C++ / objective C. And cross-compiled to darn near every platform target known to man, without any real mention of Unity.

:D
 
I saw this at the beginning of the thread and is a little off topic.

Javas interpretation is a little weird. It gets compiled, and then interpreted. (One reason I just hate java. Compile it or interpret it. Java is extremely cluttered due to this..)

As for the thread itself.. I wouldn't quite say it was because of any drag and drop style. Most of those drag and drop style games work equally well on both platforms because the creator of these app engines expect them to be both from iOS and android. So export to both equally. Ik this because I've fooled around in them before... Androidscript is ide of choice these days.. Interpreted JavaScript for android. As is NOT drag and drop.

Any who, I think its mainly due to the user end device.. Android has so many different variables. Android in itself is not even an operating system, its a kernel, meaning its written down but they don't compile it straight away.. OEMS get their crack at it before compilation. So I'd have to say its because of the many different bloat services ect that slow things down a bit. Even on high end devices.
 
On most games I've played on both iOS and Android, they typically run fast on iOS and slow on Android, even if the Android device had better hardware. There's only been a few exceptions to this, such as Candy Crush and Clash of Clans.

What's the explanation for this? Is Android or Java just inherently slower than iOS and Objective-C?

I don't understand why some graphic-intensive games like Candy Crush and Clash of Clans runs just as fast on both platforms on any device but others just lag on Android. Are the rest just poorly programmed but iOS can handle them better?

Simple different phones have different processing speeds. Android is super fragmented but android higher end phone run much smoother than top IOS phones.
 
Simple different phones have different processing speeds. Android is super fragmented but android higher end phone run much smoother than top IOS phones.

Almost all high end devices are based on Snapdragon 800/801 and Exynos so it's not that fragmented, the problem is the low devices, developers just need to draw the line and stop releasing some games for older hardware.

Also it's not true high end Android phones run smoother than than the iPhone 5S, the ONLY device that could manage that is the Xperia Z1 Compact. For all other devices running at 1080p, even if they were fully optimized they wouldn't run games well as the iPhone 5S.

Maybe with Snapdragon 805, but devices are moving to 2560*1440 so that's going to hurt gaming performance even more.
 
My phone runs games just fine at 1080p. I've gone into the apple store and tested this just fine.

I've benchmarked various devices running Snapdragon 600/S4 Pro by using framerate counters while playing and many 3D games don't run fine at all.

I doubt very much from a visit to a Apple store you can judge performance in games, too short a time to do any meaningful testing and far to subjective.

This should say enough about the gaming performance of Android devices, YES the iPhone 5s is that much faster.

Capture.jpg

Capture.jpg
 
I've benchmarked various devices running Snapdragon 600/S4 Pro by using framerate counters while playing and many 3D games don't run fine at all.

I doubt very much from a visit to a Apple store you can judge performance in games, too short a time to do any meaningful testing and far to subjective.

This should say enough about the gaming performance of Android devices, YES the iPhone 5s is that much faster.

Capture.jpg

Asphalt 8 was the best game they had preloaded. I'd rather have tested with a more demanding game, I'll confess.
 
Asphalt 8 was the best game they had preloaded. I'd rather have tested with a more demanding game, I'll confess.

I've benchmarked Asphalt 8 and it runs badly on Snapdragon 600, S4 Pro devices, the framerate is unstable and varies between 15-35 fps and as a result feels pretty horrible, but it's playable.

It's a little better on Snapdragon 800 devices with 1080p , 25-45fps, just so you know Adreno 330 is about equivalent to the iPhone 5S's PowerVR G6430's graphics processor but as you know the iPhone 5S only has to cope with 640x1136 so you can imagine the framerate will be a lot smoother, it's 50+ FPS on the iPhone 5S.

When we have equal hardware to the iPhone we can talk about software optimizations, but we don't right now so it's just due to raw performance of the GPU's and display resolution.
 
I've benchmarked Asphalt 8 and it runs badly on Snapdragon 600, S4 Pro devices, the framerate is unstable and varies between 15-35 fps and as a result feels pretty horrible, but it's playable.

It's a little better on Snapdragon 800 devices with 1080p , 25-45fps, just so you know Adreno 330 is about equivalent to the iPhone 5S's PowerVR G6430's graphics processor but as you know the iPhone 5S only has to cope with 640x1136 so you can imagine the framerate will be a lot smoother, it's 50+ FPS on the iPhone 5S.

When we have equal hardware to the iPhone we can talk about software optimizations, but we don't right now so it's just due to raw performance of the GPU's and display resolution.

True enough
 
Well the poor performance(in gaming ) on these devices(S600,S800 based) is mostly due to CPU throttling ,under clocking and undervolting the CPU would help a LOT.

Even my S3(heavily tweaked,latest Mali drivers) could play asphalt 8 at ~24-27fps average (17fps avg in tokyo race)
Look at apple they focus more on GPU,etc and our android oems clock quad core CPUs at insane frequencies(just for stupid marketing IMO) as a result they throttle very fast and performance drops sharply and as a result lag occurs.
 
You also do have to look at, like he said, display resolution. I've maintained before that even if the HTC One were a 720p display device, I'd get it. Hell, the 1440p display on the N10, while beautiful, could easily have been a 1080p and made me jsut as happy.
 
I do agree with the unnecessary resolution point,but I think most GPU intensive games available today can be played on any of the S600,S800 etc devices without lag ,its just that on stock they will lag ,poor optimisations from OEM's side (and sometimes dev's side) is more of a bottle neck than the resolution bump is right now(strictly talking with reference to gaming and games available today ,not benchmarks)
 
I do agree with the unnecessary resolution point,but I think most GPU intensive games available today can be played on any of the S600,S800 etc devices without lag ,its just that on stock they will lag ,poor optimisations from OEM's side (and sometimes dev's side) is more of a bottle neck than the resolution bump is right now(strictly talking with reference to gaming and games available today ,not benchmarks)

My Nexus 10 pushes 2x the pixels of a 1080p device, and 4x that of a 720p one. This means multiples amounts of data to process. It's a pretty big bump.
 
I do agree with the unnecessary resolution point,but I think most GPU intensive games available today can be played on any of the S600,S800 etc devices without lag ,its just that on stock they will lag ,poor optimisations from OEM's side (and sometimes dev's side) is more of a bottle neck than the resolution bump is right now(strictly talking with reference to gaming and games available today ,not benchmarks)

Adreno 320/330 performance can drop by more than half when you increase from 1280*720 to 1920*1080.

This can be seen when comparing the framerate on a Moto X vs a Galaxy S4 and when comparing the Xperia Z1 Compact to a to a Xperia Z1.

When you increase from 1920*1080 to 2560 x 1600 it can drop by more than half again.

Run some benchmarks, test games yourself with fps meter, it's true. It's pretty messed up but a Moto X is almost as fast as a Galaxy S5 when it comes to gaming. :D
 
Simple different phones have different processing speeds. Android is super fragmented but android higher end phone run much smoother than top IOS phones.

It's like PCs really, Androids all different. I mean you're not going to be playing Asphalt 8 on a lowly Galaxy Ace, but on the other hand a Galaxy S4 or S5 should play it quite nicely. Same with PCs, just don't expect to be able to play Counterstrike on a cheap netbook.
 
Back
Top Bottom