The new iPhone 5S is coming very soon, and a lot of people are wondering the same thing... (maybe for the first time). Is it worth the hype? Let's face it, Apple didn't exactly blow socks off at their recent press event, though I was still pretty impressed, particularly over two things: the ARMv8 64-bit design and support for OpenGL 3.0 ES. Some would say, "well, you are a fanboy writer for a magazine called iPhone Life." Of course, I should be impressed, right?! You might be surprised to know I'm not really such a fanboy of the iPhone (more the iPad and iPod), But I digress from the question at hand. Can the new iPhone 5S render a startling 2X performance boost over the iPhone 5, and will that translate to better iStuff in the future? I'll try to sum it all up for you. Without being too much of a fanboy, I promise.
CPU Speed-The Rabbit and the Tortoise
Everyone remembers how the tortoise kept up a steady, but slow pace to beat the hare (who was lazy and fell asleep). Not exactly an apropos analogy, but not hugely off the mark in this case either. Speed is a slippery thing when assessing practical processor performance (referred to by the term clock speed), particularly since not all apps benefit equally from a boost. The faster hare, may actually be hobbled when performing some tasks (depending on implementation), while the slower more stable turtle might excel better for the long haul. If an app runs faster but crashes or throws errors constantly, you may not really get much of a benefit. In the case of the new A7 SoC ARMv8 in the iPhone 5S, we don't yet have the really gory specifics on the implementation, but some assumptions one can make are:
- Apple will have tuned it up, particularly for the heavy lifting tasks like graphics-related applications and for OS in general (see section below on OpenGL ES 3.0). My guess is that it is likely to be a fast rabbit for running apps that are CPU/GPU intensive (and maybe not so much for other apps). Will there be bugs with some apps? It's likely.
- Even if first gen A7 apps (still 32-bit) don't see an immediate boost, some second generation apps will probably be tuned to take advantage of the newer iOS 64-bit stack (which also will be tuned better in patches and updates).
64-bit, What's So Great about That, Anyway?
Well, it depends (what a decisive answer, eh?), and while I admit that I am not a microprocessor expert, I have researched it over the many years of working on and with computers (and I asked an expert, see comments below). In practically every case where I have seen 64-bit implemented, there was an apparent boost in performance, even when running 32-bit apps, on PCs that is! Apps start quicker, and respond better.
It boils down to how big the hopper the CPU uses to point to data in memory, and how much total system memory the processor can make use of (to load app functions into). That computing hopper has been growing from older 32-bit chipsets (8 and 16 before that) to an expanded 64-bit design. 64-bit has been around since early 2000s in personal computing, and even before that in business computing, and will continue to expand in the future. The benefit being that it potentially doubles the amount of data the CPU can simultaneously process in memory, thereby speeding up applications that do a lot of intense operations (let's call them very "volatile" apps). Apps that are meek in comparison (not changing stuff in virtual memory very much), are not necessarily going to enjoy a big boost in apparent speed just from 64-bit, but apps that are doing lots of processor-intense operations should see improvements.
A limitation to consider for phones being the total RAM available on the device, which isn't as much as a PC (usually around 1GB), so many apps may not see much of a boost. I asked an anonymous source who works in the SoC implementation field what her opinion was on the aspect of 64-bit, and it's impact on graphics intensive applications (like games), and her comments mirror many of my own:
"I don’t think there is any fundamental direct impact of a 64-bit CPU (versus a 32-bit CPU) on the GPU in a mobile device system. Of course with 64-bits there is the potential to move data more quickly because of the wider registers, so that could be an indirect benefit. It’s also possible that a larger addressable memory space could enable use of more geometry, texture resources, etc. but most of today’s mobile devices have only 1GB to 2GB of RAM (and are currently limited to that for power consumption reasons) so this isn’t a reality yet."
OpenGL for Embedded Systems (ES) 3.0
OpenGL ES 3.0 is a graphics API that defines a set of functions for programmers to leverage when writing applications that must perform rendering, particularly for mobile devices. Sounds super technical, but basically it enhances the coding tools programmers use for drawing 2D and 3D shapes in a program. When you have to do this for a bunch of objects that look similar (like a bunch of trees in the distance or buildings that look a lot alike), it can take a toll on performance.
The newer 3.0 extensions provide better acceleration of these operations. They will be available to programmers to use with the new SoC in the A7 (See my Imagination Tech coverage at CES here for more info). By itself, this won't make iPhone better than a similarly enabled Android phone, of course; but combined with a faster GPU, and the ability to double the number of mathematical operations and write more data to memory, it could give the new iPhone an edge in this regard.
Better hardware performance means more objects with smoother rendering can be presented simultaneously. If you have ever played a game that has a large number of 3D objects on screen, and seen the display start jerking or pausing every few frames, then you have suffered from a bottleneck due to this kind of rendering.
To give a clear verdict in this case (and of course, this isn't really one of my formal hardware reviews), I would need to get my hands on an iPhone 5S, load up all 300 of my applications, and use the crap out of it for two to three weeks. We can't do that yet, so have to make some assumptions. In theory, there is nothing that Apple says about iPhone 5S that is untrue in terms of performance, in my opinion.
- The CPU/GPU should be faster (possibly just not for everything) being a newer, custom generation of the A7 SoC. They would have taken time to tune it for the OS particularly, and game sellers may be keen to capitalize on that potential marketing aspect (faster graphics and processing.)
- Two times faster? Sure, why not? Though I think this will be relative to the application and situation the phone is running under. Being a computing device, an iPhone 5S won't magically stop having other bottlenecks or problems that could affect performance, and Apple could be making that claim under tightly controlled test conditions.
The iPhone 5S is another step toward higher-end handheld computing, no matter how you cut it, but changes almost always boil down to adoption. How many developers will compile their apps under 64-bit for only one version of phone? I would actually like to see how this shakes out for the iPad, and can certainly see a potential for a bigger performance gain there if more memory can somehow be implemented. On that count, I will remain unabashedly fanboyish, but on the iPhone 5S I will (like many of you) wait and see!