News for hackers. Stuff that matters.
Re:How about some Android graphics true facts? by ugh on Sunday December 04, 2011 @06:44AM (#3310473)
Those are some nice technical details and it’s right to correct them when someone gets them wrong.

They ultimately, however, don’t matter†. If scrolling on one device makes me want to throw the device at the wall while on another device I don’t even notice that I’m scrolling, then that’s a problem.

I’m looking forward to trying out an Android 4.0 device to see whether I still want to throw it at the wall. That’s the only thing that matters to me. (Lagging is only part of the problem and occasional lagging really isn’t a problem. What always annoyed me much more was the delayed reaction. I swipe, nothing happens, the page scrolls. That’s extremely annoying.)

—

† They obviously do matter. Different implementations lead to different results. But only talking about the implementation and ignoring the results misses the point.

Re:How about some Android graphics true facts? by divtxt on Sunday December 04, 2011 @08:35AM (#3310634)
It blows my mind that people can't understand that scrolling "feels right" is a show-stopper feature for a touch interface.

Meanwhile, at Apple, they would have got it right in version 0.1, and Steve Jobs would treated that as prototype quality and made the team do 10 better variations.

Re:How about some Android graphics true facts? by mrich on Sunday December 04, 2011 @09:02AM (#3310678)
Apple makes compromises, too. On the original iPad scrolling can be really laggy (probably only after installing a couple of apps, so you won't notice it in the store).

Meanwhile, the current generation of dual core Android phones have hardly any lag issues anymore.

Re:How about some Android graphics true facts? by mgkimsal on Sunday December 04, 2011 @09:22AM (#3310716)
Somewhat agreed. It can be laggy, but on mine it rarely is (but it does happen). However, it's never consistently choppy when scrolling.

So... laggy sometimes, but still smooth scrolling.

Every Android device I've tried (just tried a couple tablets at a Best Buy this week) have been consistently laggy (response times to swipes) and choppy scrolling.

Re:How about some Android graphics true facts? by Synaesthesia on Sunday December 04, 2011 @01:56PM (#3311387)
Actually the first time I used an iPad I was blown away by the smoothness of scrolling in web pages, and it still holds up really well today IMO
Re:How about some Android graphics true facts? by mrich on Sunday December 04, 2011 @04:30PM (#3311880)
Yes, because the scrolling is very well supported by hardware. But you will notice the slowness when you are zooming in/out of pages (the font smoothing takes about half a second). But Apple got it right compared to Android, and you are right that even today the iPad holds up well, considering its hardware (reminds me of the C64 which was able to smoothscroll because of hardware support, while the PC didn't manage it at that time)
Re:How about some Android graphics true facts? by foobarbazetc on Sunday December 04, 2011 @06:25PM (#3312252)
The number of apps you have installed has no significance what so ever on scrolling.

Just FYI.

Re:How about some Android graphics true facts? by orijing on Sunday December 04, 2011 @08:37PM (#3312581)
I think he means the number of apps running in the background. For example, if you have the Groupon app making constant push notifications to you, that's expensive.
Re:How about some Android graphics true facts? by robmcm on Monday December 05, 2011 @06:18AM (#3314145)
Also worth noting that the iPads in the Apple stores are normally stuffed with apps for people to try, rather than just plain installs.
Re:How about some Android graphics true facts? by beatle on Sunday December 04, 2011 @02:38PM (#3311533)
Garbage collection in Android is another performance bottleneck. ICS "fixes" this by allowing the garbage collector to run on a different thread but imo that's a kludge.
Re:How about some Android graphics true facts? by babebridou on Sunday December 04, 2011 @03:27PM (#3311694)
You're beating a dead horse alright, but it's the wrong one.

Garbage collection has never had anything to do with poor UI performances, and everything to do with making poor code stutter. When the GC starts hitting your framerate, it means you are creating far too many objects and far too frequently. Before ICS, android implemented the incremental GC that runs more often but for "negligible" sub-1ms lengths.

If you absolutely need 60fps, make sure the GC never gets to do any work and start monitoring your own memory through buffers, just like you would in any other language.

Re:How about some Android graphics true facts? by beatle on Sunday December 04, 2011 @05:55PM (#3312167)
Users don't distinguish between poor UI performance and"code stutters". The "negligble" sub-1ms stutters are a real problem in practice. and it's not just limited to poor code. Sometimes, no matter what you'll see GC being called, there's no way around it. There are background threads that are doing all sorts of things, which very well might be getting GC'd. Theres also a lot of things you can't reasonably avoid, like allocations from Iterators, etc. There are literally thousands of forum and blog posts discussing this online.

Garbage Collection very slow on Android with latest stable line http://groups.google.com/group/v8-users/browse_thread/thread...

How can I avoid garbage collection delays in Java games http://stackoverflow.com/questions/2484079/how-can-i-avoid-g...

Avoiding garbage collection for smooth 2d animations Options

http://groups.google.com/group/android-developers/browse_thr...

Image tiling on Android, garbage collector slows down http://stackoverflow.com/questions/7916021/image-tiling-on-a...

Re:How about some Android graphics true facts? by babebridou on Monday December 05, 2011 @05:52AM (#3314087)
Poor choice of words on my part. It's not "poor code" but "inadequate code". The Android graphics API is, overall, inadequate for avoiding GCs at all costs. Java on the other hand, is not necessarily inadequate. The issues with GC and the Bitmap class are a good example: Bitmaps aren't designed to work at the lowest & fastest level but at the highest and easiest level.

Nothing beats primitives and buffers - the performance gap between the two methods is huge, that's true, but it's not a showstopper.

I don't recall gcs in other processes hurting my apps performances though. With that said, if I'm going to write a game, I'll make sure none of the threads in my process will trigger a GC past the loading/splash screen. This means no instanciations of any additional iterators, collections, Strings... The overhead of allocations is almost as bad for the framerate as the GC anyway.

Re:How about some Android graphics true facts? by podperson on Sunday December 04, 2011 @11:21AM (#3310949)
It's a definitional thing. "Works" at (say) Microsoft or Google means "produces a correct result at the end" whereas it means something quite different at Apple. The most egregious example I've seen of this is the way Mac OS filtered mouse movement data from the beginning, but it still doesn't feel right on Windows (and wasn't even in the ballpark until around Windows 98/NT4). (And, by contrast, the Amiga had pretty much nailed mouse movement early on as well.)
Re:How about some Android graphics true facts? by tjoff on Sunday December 04, 2011 @01:16PM (#3311266)
You say that as if that was a fact but in reality is nothing but your opinion.

I can barely stand the, in my opinion, horrible mouse acceleration in OS X and knowing apple I can imagine that they feel that giving me the option to disable it isn't user friendly.

Re:How about some Android graphics true facts? by cameldrv on Sunday December 04, 2011 @01:36PM (#3311324)
Yes, the Mac acceleration is horrible. The best solution I've found is to buy a Microsoft mouse and install the Microsoft driver for it. Works properly, just like Windows.
Re:How about some Android graphics true facts? by kooshball on Sunday December 04, 2011 @03:05PM (#3311621)
All the windows phone 7 devices I have seen work extremely well in terms of smooth scrolling. Definitely on the same levels as ios devices if not better.
Re:How about some Android graphics true facts? by cbs on Sunday December 04, 2011 @11:18PM (#3313025)
people can't understand that scrolling "feels right"

Am I the only person in the world for whom the inertia of a scrollable area at rest, tending to stay at rest _is_ what feels right?

Re:How about some Android graphics true facts? by babebridou on Sunday December 04, 2011 @07:41AM (#3310559)
I've had the chance to enjoy dual-core android phones (Atrix, 2.2) & tablets (Xoom, 3.1). The difference compared to single-cores is gigantic, everything is super smooth, on the level of the iPhone/iPad as far as responsiveness goes for apps and home screen. I have to say that if the goal is to have a superb OS given a powerful enough phone, the goal has been met, with one (critical!) exception:

Android's Webview unfortunately requires a rewrite from scratch. It just doesn't work as soon as the webview is more than a static page. Css Animations don't play anywhere near fast enough, there are furious hardware acceleration glitches whenever the touch keyboard pops up, touch events are slow as hell, etc.

The article only touches the surface of the problems with the Webview component. At this point we don't care about scrolling. since one pretty much has to hack a custom Webview component just to avoid all the hardware glitches, display artifacts, buggy input handling, terrifying variations of performance from device to device...

Re:How about some Android graphics true facts? by seclorum on Sunday December 04, 2011 @09:18AM (#3310708)
> OS given a powerful enough phone, the goal has been met, with one (critical!) exception

Two exceptions: Audio latency. It is impossible to write certain classes of table applications for Android right now, because no priority was given to having a low-latency audio subsystem. Its at least as big a mess as display acceleration.

Re:How about some Android graphics true facts? by babebridou on Sunday December 04, 2011 @09:45AM (#3310749)
You're 100% right. For more information on this issue: http://code.google.com/p/android/issues/detail?id=3434
Re:How about some Android graphics true facts? by sofal on Sunday December 04, 2011 @03:43PM (#3311746)
Any Android users out there that want to see Android succeed should star the issue linked in the parent comment. There are a significant number of excellent music/audio apps for musicians and tinkerers for iOS that are not possible on Android because of the above issue. For example, search YouTube for "EveryDay Looper".
Re:How about some Android graphics true facts? by loupgaroublond on Sunday December 04, 2011 @02:29PM (#3311493)
I have also played with and had dual core android phones and the scrolling experience is nothing like iOS by any means. One of Steve Jobs skills is that he had an innate feel for good scrolling well beyond the feel of the average person. It might feel the same to you. You might be perfectly happy with an android. Still, android has a challenge to make the OS feel as snappy on a wider range of CPUs and platforms than iOS and the lack of of consistency, even on dual core machines is like night and day.
Re:How about some Android graphics true facts? by tseabrooks on Sunday December 04, 2011 @07:59AM (#3310585)
I own a Toshiba Thrive for various reasons... and it's UI is a laggy steamy POS. Maybe it's manufacturer specific.
Re:How about some Android graphics true facts? by justincormack on Sunday December 04, 2011 @08:49AM (#3310654)
Currently reading this on Galaxy Nexus. No need to throw at wall in my view. Feels much like the iphone 3gs i had before...
Re:How about some Android graphics true facts? by TillE on Sunday December 04, 2011 @10:41AM (#3310851)
Meanwhile, I have a phone with nearly identical specs to the iPhone 3GS (a Motorola Milestone), and it "feels" slower than my first-gen iPod touch, which manages to do beautifully smooth scrolling with really wimpy hardware.

I don't know the technical details (though I'd assume hardware acceleration is a big deal), but evidently Apple can achieve a good user experience while consuming far less resources. It's taken Android years, and I probably have to buy a new device.

Re:How about some Android graphics true facts? by w0utert on Sunday December 04, 2011 @11:22AM (#3310950)
So you're basically saying a brand-new phone with 3 times the specs feels much like an almost 3-year old iPhone? Amazing!
Re:How about some Android graphics true facts? by rieter on Sunday December 04, 2011 @03:30PM (#3311709)
It has a much higher resolution than iPhone 3GS. In fact, it has six times more pixels.
Re:How about some Android graphics true facts? by foobarbazetc on Sunday December 04, 2011 @06:26PM (#3312256)
That's irrelevant, since the GPU does all the heavy lifting.
Re:How about some Android graphics true facts? by ars on Sunday December 04, 2011 @07:33PM (#3312408)
Clearly you didn't read the article.
Re:How about some Android graphics true facts? by foobarbazetc on Sunday December 04, 2011 @08:34PM (#3312573)
Yes, I did. It's full of excuses for sub-par up front planning on the part of the Android team (much like the reliance on SD storage early on -- LOL at that bit of idiocy. I still see emails from people complaining that the on disk size of an app is a whole 3 megabytes. Mean while, in iOS land, Infinity Blade 2 is 800 Mb).

I also develop some of the biggest apps on both platforms and know more about their internals than I'd like.

I'm replying to this: "It has a much higher resolution than iPhone 3GS. In fact, it has six times more pixels." That has zero to do with the article.

There's nothing in my answer that's incorrect. Sure, your Galaxy Nexus can now sort of scroll reasonably smoothly (the one on my desk is okay, but still lags). But that's because of the GPU which is something like 6x faster than the GPU in a 3GS. And the fast dual core CPU helps, too.

That doesn't mean that Android hasn't come a long way in ICS. But it'll never catch up to iOS in terms of rendering performance/latency. It's an impossibility due to the underlying architecture.

Re:How about some Android graphics true facts? by ars on Monday December 05, 2011 @03:08AM (#3313680)
>> "it has six times more pixels."

> That's irrelevant, since the GPU does all the heavy lifting.

The article: "There is still a limit to how much the GPU can do." (And the rest of that paragraph.)

Yes, having 6 times more pixes is very relevant. The GPU needs to be 6 times faster and have 6 times the bandwidth.

> I'm replying to this: "It has a much higher resolution than iPhone 3GS. In fact, it has six times more pixels." That has zero to do with the article.

Conclusion: You did not read the article - you just skimmed the first paragraph.

Re:How about some Android graphics true facts? by rbanffy on Sunday December 04, 2011 @08:30PM (#3312563)
You must realize nothing Google does to Android can fix a crappy phone. But, since Android is open-source, the manufacturer itself can change it and fix their problem. If they are nice enough, they may even submit the patch back to Google so similarly poor designs can benefit from it.
Re:How about some Android graphics true facts? by nodata on Monday December 05, 2011 @02:48AM (#3313635)
Samsung Galaxy S2: no scrolling problems at all*

* I have up-to-date firmware. Maybe that helps.