Saturday, 24 August 2013

Why iOS Has Always Been Smoother Than Android ?




     
      Anyone who has ever owned a smart phone at some point has been asked “Why not use an iPhone? They’re the fastest and don’t lag!”. Admittedly I use Android almost exclusively, although I have owned iPhone’s in my life. I cannot deny that the iPhone is buttery smooth.

The truth is that IOS is actually not “faster” than Android, and they typically load up applications almost at the same time on both platforms, but it’s the fluidity at which it loads them that makes people love the iPhone. The reason for this fluidity is the way that IOS renders the UI (User Interface) thread, compared to how Android renders it. Android was built with multitasking in mind, so by design Android behaves much like a regular computer does. IOS on the other hand was built to where it should react nearly instantaneously to what your finger does. In short when you put your finger on the screen on IOS everything stops (generally) and puts all it’s resources towards doing what your finger does. Android however is different, your finger isn’t made first priority when it touches the screen. Take your phone right now and start loading a website, as it is loading try to pan around the website without lifting your finger…what happens? If you’re using Android then the web page will continue to load as you pan around, however if you’re on IOS the webpage stops loading until your finger is removed from the screen. You might also notice that the content on the screen doesn’t respond to your finger immediatly on Android whereas it does on IOS.
So does this mean that Android will always be less responsive than IOS? Well in theory yes, however Google has some tricks up their sleeves to try to tame this problem. Here comes Android Jellybean (4.1, 4.2 & 4.3)and Project Butter standing center stage to help rescue Android from poor responsiveness, with improvements like Triple Buffering and VSync.
Triple Buffering was a very welcome improvement over the Double Buffering that was present in Android Ice Cream Sandwich (4.0), and helps eliminate that noticeable stutter Android has always had. What this does is makes sure that all three main hardware components are working in unison the CPU,GPU, and the display. This makes sure that everything being rendered should already be stored in a buffer reducing stutter because it shouldn’t have to be rendered in real time.
Vertical Sync or VSync as it is often referred to is another huge improvement in Jellybean.  What VSync does is tells the system to not draw another frame until the current frame is finished, and then immediately tells the system to start the next frame. VSync also finally makes Android be rendered at 60fps at all times much like IOS.
With all of those improvements in Jellybean 4.3 it finally makes Android feel as smooth as IOS with rendering graphics etc. Although IOS still is the winner in overall fluidity and touch responsiveness by the narrowest of margins. Apple better up their game because it looks as if Google has made it their goal to take the fluidity crown from Apple.

No comments:

Post a Comment