# Increasing Scrolling Smoothness?



## BFirebird101 (Dec 20, 2011)

My phone scrolls awesome (on liquid beta 5 with newest Franco kernel), but on the iPhone, the scrolling seems to continue scrolling as it slows down where as the nexus kind of stops abruptly after it takes a slower speed. Are there ways to mimic iPhone scrolling? It just has a smooth finish where Android doesn't

Sent from my Galaxy Nexus using Tapatalk


----------



## BFirebird101 (Dec 20, 2011)

And I'm not talking about the bounce back effect when you reach the end of a page, even though there is code you can implement into Android to do that apparently

Sent from my Galaxy Nexus using Tapatalk


----------



## Turdbogls (Jun 7, 2011)

that is just android for you. i am sure there is something you can do to implement the smooth "coming to a stop" of the i*hone, but i dont think it is high on the devs priority list.

i also think apple pattented the continuous scroll effect, so maybe this has something to do with how "abruptly" we come to a stop.

personally it doesn't bother me one bit. i am so happy with the overall smoothness of ICS, something like that doesn't bother me at all.


----------



## vcapezio (Dec 23, 2011)

I do think Android is heading in the right direction with its smoothness, but it's not there yet. Take, for example, the Twitter and Facebook apps...probably two of the most used apps on the platform, and they are so laggy it's not even funny. The iPhone counterpart looks the exact same, but it's just so much smoother.

This is probably the only area where I envy the iPhone. It's always so smooth.

Edit: I also envy Instagram and Temple Run.


----------



## Lunarpancake (Nov 30, 2011)

It's pretty absurd that a company can patent a scrolling effect.


----------



## miketoasty (Jun 10, 2011)

vcapezio said:


> I do think Android is heading in the right direction with its smoothness, but it's not there yet. Take, for example, the Twitter and Facebook apps...probably two of the most used apps on the platform, and they are so laggy it's not even funny. The iPhone counterpart looks the exact same, but it's just so much smoother.
> 
> This is probably the only area where I envy the iPhone. It's always so smooth.
> 
> Edit: I also envy Instagram and Temple Run.


1. Enable "GPU Rendering" in development.
2. Open the twitter/facebook app.
3. ?????
4. Profit!


----------



## JBirdVegas (Jun 11, 2011)

miketoasty said:


> 1. Enable "GPU Rendering" in development.
> 2. Open the twitter/facebook app.
> 3. ?????
> 4. Profit!


Your absolutely right this will help but you must consider android has support built in to allow developers to change the ScrollView scroll values (speed of scroll, friction and length of overshoot) to anything they want. I can make the scroll of a huge list as fast or slow as I want. Most developers are smart enough to realize a large list should scroll easier however it is sometimes overlooked. I can't comment on how iCrap handles this motion event but I would assume the system doesn't allow overriding of it's list scrolling values as they always appear the same.


----------



## Gil Smash (Jul 22, 2011)

There is a good article out there somewhere that compares the differences between iOS and Android and how the touch works. Android will put the touch processing as a priority 1 action which is the same as the foreground task meaning of you were scrolling while a web page was loading it would do both at the same time and if the hardware was not good enough then it would lag. What iOS does is put the touch processing as a priority 0 action meaning it overrides anything else going on and with the same example it would mean that the same browser page that would load at the same time as scrolling on Android would stop loading in the background and just scroll until the finger is lifted.

Sent from my Galaxy Nexus using RootzWiki


----------



## JBirdVegas (Jun 11, 2011)

A bi-product of true multitasking which iCrap doesn't support, better hardware will make this a non-issue in the near future, however making the current system smoother will come with time as the devs pour over the 6gb of code written by the best coders in the world


----------



## WiredPirate (Feb 16, 2012)

I downloaded SpareParts and set scrolling and transitions and such to "fast", I like that setting.


----------



## Soapinmouth (Jun 21, 2011)

Gil Smash said:


> There is a good article out there somewhere that compares the differences between iOS and Android and how the touch works. Android will put the touch processing as a priority 1 action which is the same as the foreground task meaning of you were scrolling while a web page was loading it would do both at the same time and if the hardware was not good enough then it would lag. What iOS does is put the touch processing as a priority 0 action meaning it overrides anything else going on and with the same example it would mean that the same browser page that would load at the same time as scrolling on Android would stop loading in the background and just scroll until the finger is lifted.
> 
> Sent from my Galaxy Nexus using RootzWiki


this was debunked actually, on ios all it does is stop some unnecessary animations while scrolling. This on it's own doesn't make that huge of a difference though. I'd have to reread it again to understand why there's a difference.


----------



## vcapezio (Dec 23, 2011)

miketoasty said:


> 1. Enable "GPU Rendering" in development.
> 2. Open the twitter/facebook app.
> 3. ?????
> 4. Profit!


I've had it enabled since I got the phone. It helps, but it's still nowhere near as smooth as the iPhone. For example, in the Twitter app the thumbnails for someone's pictures do not stay loaded (they load sporadically as you go down the list). This is what seems to make it choppy. The facebook app scrolls fine once everything is loaded, but it often freezes on me when I press the button to the top left to open the various options.

Also, after GPU rendering is enabled, it lags like hell when typing a new tweet in the official Twitter application. It did this on both stock and any ROM I've ran. Without GPU enabled, it types fine, but then the scrolling is choppy. Guess it's all about tradeoffs.

Edit: Also, lol at the guy calling the iPhone "iCrap." I prefer Android through and through, but to discredit the iPhone is ridiculous. Both operating systems have their pros and cons.


----------



## aardvark502 (Aug 3, 2011)

miketoasty said:


> 1. Enable "GPU Rendering" in development.
> 2. Open the twitter/facebook app.
> 3. ?????
> 4. Profit!


that's amazing how well this works! Thanks!

Sent from my Galaxy Nexus using Tapatalk


----------



## Gil Smash (Jul 22, 2011)

Soapinmouth said:


> this was debunked actually, on ios all it does is stop some unnecessary animations while scrolling. This on it's own doesn't make that huge of a difference though. I'd have to reread it again to understand why there's a difference.


On my friends iPhone it did exactly what I said and stopped the page from loading. He'd put his finger on, it'd stop, he'd take it off, it'd start and so on and so forth.

Sent from my Galaxy Nexus using RootzWiki


----------



## swimminsurfer256 (Sep 23, 2011)

It has a lot to do with how the scroll views for the different systems are set up. iOS also uses what they call "inertia" scrolling and it's just implemented (imo) better than Android did their version of scrolling. Also, Java is just inherently slower than Objective C because of (among other things) its garbage collector. iOS systems can thread faster than Android (it just is becoming less and less apparent with faster hardware coming out) which leads to smoother graphics since the drawing can happen at a faster refresh rate. TRUE multitasking also puts an extra burden on the Android hardware. This "Android lag" will continue to disappear as hardware and some aspects of the software get better. As for the sort of overshoot when you scroll ("inertial" whatever) you could replicate the iOS weight if you were to edit the source code of the Android scroll views. It still wouldn't be as smooth though... yet


----------



## BFirebird101 (Dec 20, 2011)

I read an article on editing the code to implement the overshoot effect. If I find it I'll post it on here

Sent from my Galaxy Nexus using Tapatalk


----------



## BFirebird101 (Dec 20, 2011)

http://www.droidforums.net/forum/droid-hacks/25018-finger-flicker-android-code-iphone-like-scrolling.html

Sent from my Galaxy Nexus using Tapatalk


----------



## cobjones (Jun 21, 2011)

Jbirdvegas can say anything he wants...

/man crush



vcapezio said:


> I've had it enabled since I got the phone. It helps, but it's still nowhere near as smooth as the iPhone. For example, in the Twitter app the thumbnails for someone's pictures do not stay loaded (they load sporadically as you go down the list). This is what seems to make it choppy. The facebook app scrolls fine once everything is loaded, but it often freezes on me when I press the button to the top left to open the various options.
> 
> Also, after GPU rendering is enabled, it lags like hell when typing a new tweet in the official Twitter application. It did this on both stock and any ROM I've ran. Without GPU enabled, it types fine, but then the scrolling is choppy. Guess it's all about tradeoffs.
> 
> Edit: Also, lol at the guy calling the iPhone "iCrap." I prefer Android through and through, but to discredit the iPhone is ridiculous. Both operating systems have their pros and cons.


----------



## Despyse (Jan 12, 2012)

vcapezio said:


> I do think Android is heading in the right direction with its smoothness, but it's not there yet. Take, for example, the Twitter and Facebook apps...probably two of the most used apps on the platform, and they are so laggy it's not even funny. The iPhone counterpart looks the exact same, but it's just so much smoother.
> 
> This is probably the only area where I envy the iPhone. It's always so smooth.
> 
> Edit: I also envy Instagram and Temple Run.


Temple Run 4 android soon! LOL cant wait.


----------



## sandfreak (Jun 11, 2011)

Are there any negative effects from forcing gpu?

I just tried it, it seems nice.

But I'm wondering why its not enabled from the get go.

Sent from my Galaxy Nexus using RootzWiki


----------



## yarly (Jun 22, 2011)

swimminsurfer256 said:


> It has a lot to do with how the scroll views for the different systems are set up. iOS also uses what they call "inertia" scrolling and it's just implemented (imo) better than Android did their version of scrolling. Also, Java is just inherently slower than Objective C because of (among other things) its garbage collector.


Yep, damn garbage collection and Google's long love affair with all things Java. Google really needs to push for Google Go as a native development language on Android over Java and using the Dalvik virtual machine hackery. There has been talks about it, but nothing overly official from Google yet, just rumors about it. Scrolling is also generally worse in non Google made apps that may not optimize as well.


----------



## BFirebird101 (Dec 20, 2011)

True true

Sent from my Galaxy Nexus using Tapatalk


----------



## mikeymop (Jun 28, 2011)

sandfreak said:


> Are there any negative effects from forcing gpu?
> 
> I just tried it, it seems nice.
> 
> ...


Compatability problems with legacy apps probably. Google Devs also insist GPU acceleration isn't the key to a smooth UI and that CPU rendering is still very relevant, so the hybrid system that's enabled by default is probably that shining through.


----------

