• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

iPhone 5 performance

Page 4 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.
When an app is closed, but has multi-tasking capability, it will leave portions of itself in RAM to facilitate a faster opening. Also, within an app (such as a browser), there may be a need to clear existing data to make way for more for the current page.

Neither of those are garbage collection. Usually garbage collection involves a system processes that is actively checking for memory that is no longer in use.

iOS uses reference counting to free memory. Even their Automatic Reference Counting, ARC, happens at compile time.
 
WRONG! Wrong gramma does is very relevant.

Old people are buying more smartphones than ever before, cuz they get easier with each generation. Most of them are flocking to the iphone since its the simplest to use right out of the box. All the junk on average Android phones bogs it down and gives them features they dont care about anyway. And the person setting up their phone for them doesnt wanna have to keep working on it and customizing it and fixing their problems.
No, RIGHT! (I can do that too)

I think you are missing the point. Gramma isn't going to even notice the speed difference between a stock S3 and an iPhone so she is unlikely to even care about trying to clean up bloatware. This is why it is irrelevant. A stock S3 is NOT slow anyway.

The iPhone iOS being simpler is sort of the point I was making anyway. iPhones feel snappier because the OS isn't doing as much as compared to stock Android. Do you really think "Gramma" is going to notice a speed difference between an S3 and iPhone 5 over all of the other differences?

What is this malarkey about having to "keep working on it and customizing it and fixing their problems"? You make it seem like modern android is a house of cards, it isn't. Especially for a non-power user like Gramma.
 
The iPhone iOS being simpler is sort of the point I was making anyway. iPhones feel snappier because the OS isn't doing as much as compared to stock Android. Do you really think "Gramma" is going to notice a speed difference between an S3 and iPhone 5 over all of the other differences?

I think we've gone over this hundreds of times and it's because of GPU acceleration. What MORE is the Android OS doing as you flip screen to screen on your homescreen? Let's make this more even and remove widgets from the home screen. What MORE is the Android OS doing when you scroll down a twitter list and it's choppy as hell?

Gramma DOES notice speed difference. I mean it took quad core CPUs to finally equate this basic performance gap. Sure a dual core SGS2 well optimized can fly, but the assortment of dual core phones out there running stock firmware still feel like crap.
 
Neither of those are garbage collection. Usually garbage collection involves a system processes that is actively checking for memory that is no longer in use.

iOS uses reference counting to free memory. Even their Automatic Reference Counting, ARC, happens at compile time.

Wait... I thought garbage collection is what came on Mondays!? I kid, I kid... I work in software, silly. 😛 I'm not saying that what I described is garbage collection. What I mean is that it will require processing power to perform these behind-the-scenes memory actions. I would have to look into Apple's multi-tasking, but I think apps can perform actions when being unloaded.
 
Wait... I thought garbage collection is what came on Mondays!? I kid, I kid... I work in software, silly. 😛 I'm not saying that what I described is garbage collection. What I mean is that it will require processing power to perform these behind-the-scenes memory actions. I would have to look into Apple's multi-tasking, but I think apps can perform actions when being unloaded.

The amount of resources used in both examples you gave is really negligible.

If your app is in the background in a suspended state, and another app needs the memory, the system will just purge the suspended app's memory. That doesn't take a lot resources to do that.

If your app is a browser, and your browser visits a new page, again, the UIWebView will purge it's items from memory.

Both of these examples are caused by a trigger, and both of them don't really require any more effort than it takes for the phone to just run.
 
I would have to look into Apple's multi-tasking, but I think apps can perform actions when being unloaded.

Apps can perform actions right before you become inactive, and once they become inactive (for a couple seconds). Once the app is suspended, the system will purge memory at any time and there is nothing your app can do. There is no warning.
 
I think we've gone over this hundreds of times and it's because of GPU acceleration. What MORE is the Android OS doing as you flip screen to screen on your homescreen? Let's make this more even and remove widgets from the home screen. What MORE is the Android OS doing when you scroll down a twitter list and it's choppy as hell?

Gramma DOES notice speed difference. I mean it took quad core CPUs to finally equate this basic performance gap. Sure a dual core SGS2 well optimized can fly, but the assortment of dual core phones out there running stock firmware still feel like crap.

So you say the difference is about GPU acceleration, or lack thereof (and on this point I agree completely). But then you go on to talk about it taking quad core CPUs to even out performance differences? I'm not following.
 
The iPhone doesn't have garbage collection so I am not sure what you are talking about above regarding "cleaning" ram.

When the need to free RAM arises, the CPU still has to notify RAM.

And when the CPU does that, it needs to know precisely "where" in RAM to "free", otherwise you'll experience random crashes.

So the memory freeing process actually takes a few steps... first the CPU has to fetch or calculate the memory address to free, then it has to calculate how many "blocks" (bytes or what have you) to clear from that memory address, and then it has to send the "free memory" command to RAM.

When this is done to a large amount of memory addresses, the CPU has to poll RAM, and if bandwidth is low, then you'll experience a slight delay, or lag.

In a perfect world, RAM bandwidth on most iOS devices should be enough for the polling to not cause a significant performance degradation (in other words, no "delay" or "lag"). But unfortunately, all iOS devices thus far share system memory with the GPU. As such, most of the bandwidth is already sucked up by the GPU, and the CPU only has a fraction of that bandwidth to do stuffs with.

On some Android devices, VRAM is specifically reserved for the GPU on its own bus, so RAM bandwidth is usually not so constrained. However, the garbage collector is the "bad" way to manage RAM... as it has to poll memory address and see if the address is still in use before it actually sends the "free memory" command... So in short, it jumps through more hoops.

Google has actually done a lot to offset this "overhead"... and now Garbage Collector also does what Apple's Automatic Reference Counting does... But in general, it's still not as good as iOS because developers still have no way to manually manage memory usage of their app.

On the flip side, badly coded iOS apps do leak memory over time... and eventually, the leaked memory will build up enough that it bogs the system completely... necessitating a restart. That was why Apple introduced ARC... because they couldn't deal with bad devs any other way. But even ARC is not perfect, and in the long run, I believe that Android's Garbage Collector will prove to be superior once RAM bandwidth and processor performance far offset the performance hit caused by the constant RAM polling.

For now, though, I think iOS does it better... but it's not perfect. 1GB of RAM in the iPhone 5 will feel extremely short when you start loading up more intensive 3D games... and more interface graphics for the higher res display.
 
Last edited:
So you say the difference is about GPU acceleration, or lack thereof (and on this point I agree completely). But then you go on to talk about it taking quad core CPUs to even out performance differences? I'm not following.

Using quad core CPUs to even out performance is one way to do it. Brute force right? Throw in 16gb RAM, octa core CPUs and you can disguise any shortfalls.

The proper way to do things would have been to have full GPU acceleration AND to have proper memory management skills. I understand the former is difficult given hardware selection, but this is something Google should've thought about first.

Gramma does notice the fact that Android is slower. There's this belief that Android is a lagfest. It doesn't come from nothing. You can blame 600mhz Droid 1s, or lack of hardware acceleration, needing double the resources of an iOS equivalent to run smoothly, etc. but I think the point remains that somewhere down the line Google based phones were slow.

It almost seems it took quad core CPUs to alleviate this belief that Android is a lagfest. Maybe Jellybean accomplishes this too, but it certainly took a while. And that's why many people have stuck to the iPhone.
 
Using quad core CPUs to even out performance is one way to do it. Brute force right? Throw in 16gb RAM, octa core CPUs and you can disguise any shortfalls.

The proper way to do things would have been to have full GPU acceleration AND to have proper memory management skills. I understand the former is difficult given hardware selection, but this is something Google should've thought about first.

Gramma does notice the fact that Android is slower. There's this belief that Android is a lagfest. It doesn't come from nothing. You can blame 600mhz Droid 1s, or lack of hardware acceleration, needing double the resources of an iOS equivalent to run smoothly, etc. but I think the point remains that somewhere down the line Google based phones were slow.

It almost seems it took quad core CPUs to alleviate this belief that Android is a lagfest. Maybe Jellybean accomplishes this too, but it certainly took a while. And that's why many people have stuck to the iPhone.

Wow. You are so fucking wrong and words that I won't say cuz the mods will bitch.......ug....... n/m.....I have a life.
 
Using quad core CPUs to even out performance is one way to do it. Brute force right? Throw in 16gb RAM, octa core CPUs and you can disguise any shortfalls.

The proper way to do things would have been to have full GPU acceleration AND to have proper memory management skills. I understand the former is difficult given hardware selection, but this is something Google should've thought about first.

Gramma does notice the fact that Android is slower. There's this belief that Android is a lagfest. It doesn't come from nothing. You can blame 600mhz Droid 1s, or lack of hardware acceleration, needing double the resources of an iOS equivalent to run smoothly, etc. but I think the point remains that somewhere down the line Google based phones were slow.

It almost seems it took quad core CPUs to alleviate this belief that Android is a lagfest. Maybe Jellybean accomplishes this too, but it certainly took a while. And that's why many people have stuck to the iPhone.
Most of my friends who have tried Android phones in the past 2 years have all switched to Apple iPhones. Two years ago, I tried my friend's HTC Android phone and I couldn't believe that piece of crap. Battery life was miserable. Everything lagged and took forever to load. Bugs were rampant. Two years ago, Apple had the most and best apps too.

People here really shouldn't call Apple users dumb or inadequate. Many of them switched when Apple had clearly the better phones. Many of them tried Android and hated it. 99% of them don't know how to flash a rom.

The only phone I'd get for Android is the Nexus with JB(which I own one). I actually told myself that I'd never buy an Android phone because of bad Android phones were. But the Galaxy Nexus with JB is great. It's nothing that blows the iPhone away but for $350, it was worth it.
 
Gramma DOES notice speed difference. I mean it took quad core CPUs to finally equate this basic performance gap. Sure a dual core SGS2 well optimized can fly, but the assortment of dual core phones out there running stock firmware still feel like crap.
Of course she will see a difference when it is significant. I'm not suggesting that our lovely Gramma won't notice any speed differences in phones ever. I am suggesting that between an S3 and iphone 5 the differences aren't big enough for Gramma notice it. So there would be no need whatsoever for Gramma's S3 to need to be Rom'd or tweaked or tinkered with.

Obviously this is based on nothing but opinion because I haven't surveyed a significant amount of "Gramma"s 😎

I haven't surveyed a single one to be perfectly honest...
 
Most of my friends who have tried Android phones in the past 2 years have all switched to Apple iPhones.
This reminds me of the story of a reporter during the Nixon administration. She couldn't believe Nixon had won in a landslide in 72 after all none of her friends had voted for him.
 
Most of my friends who have tried Android phones in the past 2 years have all switched to Apple iPhones. Two years ago, I tried my friend's HTC Android phone and I couldn't believe that piece of crap. Battery life was miserable. Everything lagged and took forever to load. Bugs were rampant. Two years ago, Apple had the most and best apps too.

People here really shouldn't call Apple users dumb or inadequate. Many of them switched when Apple had clearly the better phones. Many of them tried Android and hated it. 99% of them don't know how to flash a rom.

The only phone I'd get for Android is the Nexus with JB(which I own one). I actually told myself that I'd never buy an Android phone because of bad Android phones were. But the Galaxy Nexus with JB is great. It's nothing that blows the iPhone away but for $350, it was worth it.

I was one of those people. I owned an EVO first and hated it. The 30fps cap made it even worse. Android is better now, but not enough for me to go back.
 
With phones I need a more... visual review of performance. Benchmarks do nothing for me when it comes to phones, never have and probably never will be of interest to me. Show me how long it takes to open apps and load websites, copy files, reboot, multitask, etc.
 
With phones I need a more... visual review of performance. Benchmarks do nothing for me when it comes to phones, never have and probably never will be of interest to me. Show me how long it takes to open apps and load websites, copy files, reboot, multitask, etc.

Yes exactly. What exactly does a GeekBench score tell me? Nothing at all. When I read GPU reviews I can see frame rates of games I have played. CPU reviews show me things like time to encode video. These things make sense and apply to the real world. Most of these phone benchmarks are rather synthetic and hard to apply to anything real world.
 
Yes exactly. What exactly does a GeekBench score tell me? Nothing at all. When I read GPU reviews I can see frame rates of games I have played. CPU reviews show me things like time to encode video. These things make sense and apply to the real world. Most of these phone benchmarks are rather synthetic and hard to apply to anything real world.

They definitely don't matter if you are using 3G and your buddy has 4G on Verizon. I bet his phone is gonna open any website quicker than yours, regardless of what model/make it is.
 
When the need to free RAM arises, the CPU still has to notify RAM.

And when the CPU does that, it needs to know precisely "where" in RAM to "free", otherwise you'll experience random crashes.

So the memory freeing process actually takes a few steps... first the CPU has to fetch or calculate the memory address to free, then it has to calculate how many "blocks" (bytes or what have you) to clear from that memory address, and then it has to send the "free memory" command to RAM.

When this is done to a large amount of memory addresses, the CPU has to poll RAM, and if bandwidth is low, then you'll experience a slight delay, or lag.

In a perfect world, RAM bandwidth on most iOS devices should be enough for the polling to not cause a significant performance degradation (in other words, no "delay" or "lag"). But unfortunately, all iOS devices thus far share system memory with the GPU. As such, most of the bandwidth is already sucked up by the GPU, and the CPU only has a fraction of that bandwidth to do stuffs with.

On some Android devices, VRAM is specifically reserved for the GPU on its own bus, so RAM bandwidth is usually not so constrained. However, the garbage collector is the "bad" way to manage RAM... as it has to poll memory address and see if the address is still in use before it actually sends the "free memory" command... So in short, it jumps through more hoops.

Google has actually done a lot to offset this "overhead"... and now Garbage Collector also does what Apple's Automatic Reference Counting does... But in general, it's still not as good as iOS because developers still have no way to manually manage memory usage of their app.

On the flip side, badly coded iOS apps do leak memory over time... and eventually, the leaked memory will build up enough that it bogs the system completely... necessitating a restart. That was why Apple introduced ARC... because they couldn't deal with bad devs any other way. But even ARC is not perfect, and in the long run, I believe that Android's Garbage Collector will prove to be superior once RAM bandwidth and processor performance far offset the performance hit caused by the constant RAM polling.

For now, though, I think iOS does it better... but it's not perfect. 1GB of RAM in the iPhone 5 will feel extremely short when you start loading up more intensive 3D games... and more interface graphics for the higher res display.

Wasn't Android originally built with the assumption that some devices may not have a GPU so that they would cost less? It seems that that kind of legacy has been around all the way up until Ice Cream Sandwich where requirements were raised (or really, put into place) such that not every 2.3 phone was really fast enough for ICS. And then Jelly Bean really kicked it up a notch by rearchitecting the lower levels of the OS with the idea that a fast GPU would be around, something that iOS has always assumed and one of the benefits of designing software with specific hardware in mind. The same could be said for Windows Phone, which even with very crappy hardware by today's standards has always managed to have performance on par with Android and far outstripping most Android phones.
 
1GB of RAM in the iPhone 5 will feel extremely short when you start loading up more intensive 3D games... and more interface graphics for the higher res display.

I wouldn't be too worried about this. That's more RAM than either the PS3 or Xbox 360 and they still manage to do quite well while having to target a greater resolution.
 
Doesn't really matter, I mean these benchmarks are cool and all but at the end of the day I never felt any Android phones are faster than the iPhone but a lot of people try to prove it by saying "Oh but this has a quad core" or "this doesn't have any manufacture skins on it, ITS SOO SMOOTH LIKE THE iPHONE!!!1!"

In reality before JellyBean Android was no where close to the same fluidity and smoothness of an iPhone. Considering Google had a project named "Butter" I would say Google probably thought so too.
 
Wasn't Android originally built with the assumption that some devices may not have a GPU so that they would cost less? It seems that that kind of legacy has been around all the way up until Ice Cream Sandwich where requirements were raised (or really, put into place) such that not every 2.3 phone was really fast enough for ICS. And then Jelly Bean really kicked it up a notch by rearchitecting the lower levels of the OS with the idea that a fast GPU would be around, something that iOS has always assumed and one of the benefits of designing software with specific hardware in mind.

I'm not sure if that's true, but it sounds like it could be. If you watch the original iPhone keynote, Jobs state that iOS runs on OSX. That could be the reason why iOS is so GPU dependent as OSX is the same way.
 
I was one of those people. I owned an EVO first and hated it. The 30fps cap made it even worse. Android is better now, but not enough for me to go back.

Interesting you say that because wasn't the 30fps cap fixed pretty quickly in an update? I owned the EVO too. I was blown away at the time by its capabilities coming from a Palm Pre. And I had no envy for an iPhone because of its much greater limitations at the time: it had just gained multitasking, still had pop-up notifications, no nav, small screen, had to get updates and copy music via iTunes, while the EVO was bigger, more capable, and let me use things like Amazon Cloud Player and Winamp wireless syncing long before iCloud and Google Play Music. While the EVO was a little slow with Eclair, it felt fine with Froyo and near perfect once I flashed CM6. The experience only went downhill once ICS came out and I made the mistake of messing with random ROMs. The experience was awful and never reliable. I should've given up and went back to CM7, but then my contract ended. The iPhone had come very far by then, but since they started selling the GSM Nexus in the Play Store for a good price, it was a no-brainer. Smooth Android hassle-free. And Jelly Bean is fantastic. Big difference from just a couple years ago.
 
I wouldn't be too worried about this. That's more RAM than either the PS3 or Xbox 360 and they still manage to do quite well while having to target a greater resolution.

Keep in mind that even though iOS and Android phones have equal or higher amounts of RAM compared to the PS3 or Xbox 360, apps and games only get access to a small chunk. In iOS, an app get at most 1/4 the max amount of RAM on a device, and I'm sure a similar amount applies to Android as well. Use too much and the OS will send a warning, then kill your app. Game consoles on the other hand get an overwhelming majority of RAM you see in spec sheets, with some small amount reserved for background downloading.
 
Keep in mind that even though iOS and Android phones have equal or higher amounts of RAM compared to the PS3 or Xbox 360, apps and games only get access to a small chunk. In iOS, an app get at most 1/4 the max amount of RAM on a device, and I'm sure a similar amount applies to Android as well. Use too much and the OS will send a warning, then kill your app. Game consoles on the other hand get an overwhelming majority of RAM you see in spec sheets, with some small amount reserved for background downloading.

Really? I'm sure an app can get as much RAM as it wants on an iOS device.
 
Back
Top