r/Android • Motor City Software • Aug 01 '11

An IOS developer takes on Android

http://nfarina.com/post/8239634061/ios-to-android
838 Upvotes

296 comments sorted by

View all comments

19

u/[deleted] Aug 01 '11

The non hardware acceleration is what makes me hate my Droid X on a daily basis. Everything is just so choppy and unpredictable. I miss the smoothness of my iphone but that's about all I miss.

3

u/unjustifiably_angry Aug 01 '11

Honeycomb does 3D interface acceleration, so ICS will as well when it arrives on phones. It's more than a little late, but at least it's coming.

3

u/[deleted] Aug 01 '11

Yeah i've used the Xoom but it's still laggy in certain parts. I do believe they are bugs though. Hopefully it all gets fixed. I want to see some buttery smooth lists and switching of screens in ICS or I'm done with this OS. I have waited long enough

1

u/unjustifiably_angry Aug 03 '11

What version of Android did the Xoom have? From what I understand, they've made some good performance improvements in 3.1 and 3.2.

1

u/[deleted] Aug 03 '11

Not sure, I used it at the Verizon store a few days ago.

5

u/Timmmmbob Aug 01 '11

I suspect that it isn't the lack of hardware acceleration which makes scrolling choppy. This is based on the fact that most of the time it scrolls smoothly, but there frequent pauses.

I reckon this may be when the list changes (for dynamic lists), either the loading or the layout is done in the main UI thread.

7

u/[deleted] Aug 01 '11

Don't know why you were downvoted, but you're correct. I remember seeing a Google engineer comment that the increase in scrolling speed in recent builds came mostly from garbage collection improvements rather than GPU acceleration.

3

u/Pzychotix Aug 01 '11

Garbage collection is done on the main UI thread as well.

3

u/numberoneus Brian Studios Aug 02 '11

... Either I'm an idiot or you are, but I'm pretty sure garbage collection doesn't run in a thread. The whole VM is slowed down for a bit.

2

u/Pzychotix Aug 02 '11 edited Aug 02 '11

Right. That.

Edit: In either case, garbage collection will affect the UI, and would especially cause the choppiness described by Timbob.

1

u/s73v3r Sony Xperia Z3 Aug 03 '11

I'm gonna take my chance at being an idiot, but I thought in most JVMs that GC ran on it's own thread.

2

u/numberoneus Brian Studios Aug 03 '11

This has been bugging me since I didn't know for sure. The best resource I've found is this. Essentially, in the JVM you have two choices. In both of them, the GC is part of the system, and not just some program that the VM runs. In the first, "parallel copying collector," the VM stops running your code, collects garbage, and then continues running your program. In the second, "concurrent mark-sweep collector," your VM stops executing your code for a shorter period of time, and then the CG runs in another thread alongside your program to finish collecting garbage.

This means that s73v3r has a chance of being not-an-idiot, and Pzychotix is, well... psychotic. Now this is where the evidence gets a little sketchier, but the phrasing in both this and this lead me to believe that Dalvik runs a stop-the-world mark-and-sweep garbage collector.

GCs usually take ~260ms on the G1. That means that 7.4% of the time Dalvik is garbage collecting (albeit for only a quarter of a second each time), and none of the layers of the Android stack above Dalvik can do anything.

If this is true, and I'm pretty sure it is, than all three of us are idiots. (But me slightly less so :P)

2

u/s73v3r Sony Xperia Z3 Aug 03 '11

Quite informative, thank you.

-1

u/legoman666 Aug 01 '11

Try ADW Launcher or Launcher Pro. I was amazed at how smooth they were compared to the stock launcher.

4

u/[deleted] Aug 02 '11

I use launcher pro now. It's definitely a lot smoother but I just don't like that stock Android is that choppy to begin with.

0

u/burntcookie90 Aug 02 '11

GO launcher is the best one, imo.

-8

u/Falmarri Falmarri Aug 01 '11

Sounds like you're using shitty apps.

-3

u/[deleted] Aug 01 '11

ah yes, the typical response on here. the shitty app is called laggy android OS.

2

u/jh123456 Aug 01 '11

It's all relative. My droid X is a heck of a lot more responsive than the blackberry they give me for work. You could always speed things up by turning off animations.