Jadi ngerti dan jelas sekarang....
mudah2an kelemahan ini bisa ilang di Android 5.0... seperti yang ada pada
artikel ini...
aamiin....

On Wed, Dec 7, 2011 at 11:49 AM, Reski Droid <funky81.andr...@gmail.com>wrote:

> Jawaban Andrew Munn ke blog Dianna Hackborn (
> https://plus.google.com/100838276097451809262/posts/VDkV9XaJRGS)
>
> Andrew Munn <https://plus.google.com/100838276097451809262>  -  3:41 AM
> (edited) <https://plus.google.com/100838276097451809262/posts/VDkV9XaJRGS>
>   -  Public
>  *Follow up to “Android graphics true facts”, or The Reason Android is
> Laggy*
>
> Yesterday +Dianne Hackborn <https://plus.google.com/105051985738280261832> 
> posted
> to Google+ an article that dismissed the common accusation that Android is
> laggy because UI rendering wasn’t hardware accelerated until Honeycomb:
>
> https://plus.google.com/105051985738280261832/posts/2FXDCz8x93s
>
> It’s an insightful post that illuminates many of the complex issues with
> smooth Android rendering. Unfortunately, it doesn’t answer the fundamental
> question asked by both technical and nontechnical android users:
>
> *Why is Android laggy, while iOS, Windows Phone 7, QNX, and WebOS are
> fluid?*
>
> This post will attempt to answer that question.
>
> However before I jump in, a couple disclaimers. First, I am a 3rd year
> undergraduate software engineering student. I interned on the Android team,
> and +Romain Guy <https://plus.google.com/111962077049890418486> who was
> responsible for much of the hardware acceleration work in Honeycomb,
> reviewed some of my code, but I was not on the framework team and I never
> read the Android rendering source code. I do not have any authoritative
> Android knowledge and I cannot guarantee what I say here is necessarily
> 100% accurate, but I have done my best to do my homework.
>
> Second, I’m interning with the Windows Phone team starting in January, so
> it’s possible that this post will be unconsciously biased against Android,
> but if you ask any of my friends, it’s really hard to shut me up about
> Android. I have more Android t-shirts than days of the week and I’d rather
> give away my Macbook than my Nexus S. The Googlplex is like a second home -
> I’ve slept there on more than a few occasions to the dismay of startled
> janitors (and if you ever get a chance to visit, the banana french toast at
> *Big Table Cafe* is to die for). If anything, I’m probably biased in
> Android’s favor.
>
> Finally, any opinions expressed in this article are solely my own and do
> not represent those of any past or future employers.
>
> With that out of the way, lets dive right in.
>
> Dianne starts off her post with a surprising revelation:
>
> *“Looking at drawing inside of a window, you don’t necessarily need to do
> this in hardware to achieve full 60fps rendering. This depends very much on
> the number of pixels in your display and the speed of your CPU. For
> example, Nexus S has no trouble doing 60fps rendering of all the normal
> stuff you see in the Android UI like scrolling lists on its 800x480 screen.”
> *
>
> Hun? How can this be the case? Anybody who’s used a Nexus S knows it slows
> down in all but the simplest of ListViews. And forget any semblance of
> decent performance if a background task is occurring, like installing an
> app or updating the UI from disk. On the other hand, iOS is 100% smooth
> even when installing apps. But we know Dianne isn’t lying about the
> potential CPU performance, so what’s going on?
>
> *The Root Cause*
>
> It’s not GC pauses. It’s not because Android runs bytecode and iOS runs
> native code. It’s because *on iOS all UI rendering occurs in a dedicated
> UI thread with real-time priority*. On the other hand, Android follows
> the traditional PC model of rendering occurring on the main thread with
> normal priority.
>
> This is a not an abstract or academic difference. You can see it for
> yourself. Grab your closest iPad or iPhone and open Safari. Start loading a
> complex web page like Facebook. Half way through loading, put your finger
> on the screen and move it around. All rendering instantly stops. The
> website will literally never load until you remove your finger. This is
> because the UI thread is intercepting all events and rendering the UI at
> real-time priority.
>
> If you repeat this exercise on Android, you’ll notice that the browser
> will attempt to both animate the page and render the HTML, and do an ‘ok’
> job at both. On Android, this a case where an efficient dual core processor
> really helps, which is why the Galaxy S II is famous for its smoothness.
>
> On iOS when an app is installing from the app store and you put your
> finger on the screen, the installation instantly pauses until all rendering
> is finished. Android tries to do both at the same priority, so the frame
> rate suffers. Once you notice this happening, you’ll see it everywhere on
> an Android phone. Why is scrolling in the Movies app slow? Because movie
> cover thumbnails are dynamically added to the movie list as you scroll
> down, while on iOS they are lazily added after all scrolling stops.
>
> *EDIT*:[Several people (+Chi-Ho 
> Kwok<https://plus.google.com/100952146715427669835>
>  and +Brent Royal-Gordon <https://plus.google.com/105929214842555343739> 
> especially)
> have taken the time to explain some mistakes I made in my description of
> iOS. The fundamental distinction between Android and iOS rendering I
> identified still stands, but I made some over simpliifcations in my
> description of iOS because I wasn't familar enough with the workings. I'll
> let +Brent Royal-Gordon <https://plus.google.com/105929214842555343739>
>  explain:
>
> "The iOS description here isn't quite accurate. There are several things
> at work:
>
> 1. Compositing and previously set-up animations—all the stuff that
> involves the Core Animation rendering layer tree—do indeed happen on a
> background thread.
>
> 2. Drawing new content into Core Animation layers and setting up their
> animations happens on the main thread. This is the same thread that user
> interface actions occur on.
>
> 3. In naively written code, all developer-written code would occur on the
> main thread. However, Apple provides very easy APIs (Grand Central Dispatch
> and NSOperation) to move things into system-managed background threads. In
> iOS 5, you can even declare that a Core Data (object-relational database)
> context cannot be used directly on the main thread.
>
> All that stuff you noticed—the way images aren't drawn into lists while
> you're scrolling, the way WebKit rendering stops when the system is
> tracking a touch—isn't inherently built-in by a mechanism that pauses the
> world when a finger is on the screen.* It's deliberate behavior
> painstakingly implemented by the developer of each individual app.
>
> This is not a technical difference; it's a cultural difference. Good iOS
> developers don't ship software until it runs at something near 60 fps while
> scrolling and tracks touches almost perfectly; good Android developers do.
>
> * This isn't strictly true: the main thread is put into a special mode
> during touch tracking, and by default, certain callbacks are delayed in
> that mode. However, a lot of other things, like loads from disk or network
> activity kept completely on a background thread, are not paused; nor is
> anything automatically paused during momentum scrolling. The developer has
> to explicitly delay those things." ]
>
> *Other Reasons*
>
> The fundamental reason Android is laggy is UI rendering threading and
> priority, but it’s not the only reason. First, hardware acceleration,
> despite Dianna’s reservations, does help. My Nexus S has never been
> snappier since upgrading to ICS. Hardware acceleration makes a huge
> difference in apps like the home screen and Android market. Offloading
> rendering to the GPU also increases battery life, because GPUs are
> fixed-function hardware, so they operate at a lower power envelope.
>
> Second, contrary to what I claimed earlier, garbage collection is still a
> problem, even with the work on concurrent GC in Dalvik. For example, if
> you’ve ever used the photo gallery app in Honeycomb or ICS you may wonder
> why the frame rate is low. It turns out the frame rate is capped at 30 FPS
> because without the cap, swiping through photos proceeds at 60 FPS most of
> the time, but occasionally a GC pause causes a noticeable “hiccup”. Capping
> the frame rate at 30 fixes the hiccup problem at the expense of buttery
> smooth animations at all times.
>
> Third, there are the hardware problems that Dianne discussed. The Tegra 2,
> despite Nvidia’s grandiose marketing claims, is hurt by low memory
> bandwidth and no NEON instruction set support (NEON instructions are the
> ARM equivalent of Intel’s SSE, which allow for faster matrix math on CPUs).
> Honeycomb tablets would be better off with a different GPU, even if it was
> theoretically less powerful in some respects than the Tegra 2. For example,
> the Samsung Hummingbird in the Nexus S or Apple A4. It’s telling that the
> fastest released Honeycomb tablet, the Galaxy Tab 7.7, is running the
> Exynos CPU from the Galaxy S II.
>
> Fourth, Android has a ways to go toward more efficient UI compositing. On
> iOS, each UI view is rendered separately and stored in memory, so many
> animations only require the GPU to recomposite UI views. GPUs are extremely
> good at this. Unfortunately, on Android, the UI hierarchy is flattened
> before rendering, so animations require every animating section of the
> screen to be redrawn.
>
> Fifth, the Dalvik VM is not as mature as a desktop class JVM. Java is
> notorious for terrible GUI performance on desktop. However, many of the
> issues don’t carry over to the Dalvik implementation. Swing was terrible
> because it was a cross platform layer on top of native APIs. It is
> interesting to note that Windows Phone 7’s core UI is built in native code,
> even though the original plan was to base it entirely on Silverlight.
> Microsoft ultimately decided that to get the kind of UI performance
> required, the code would have to be native. It’s easy to see the difference
> between native and bytecode on Windows Phone 7, because third party apps
> are written in Silverlight and have inferior performance (NoDo and Mango
> have alleviated this problem and the Silverlight UIs are generally very
> smooth now).
>
> Thankfully, each of the five issues listed above is solvable without
> radical changes to Android. Hardware acceleration will be on all Android
> phones running ICS, Dalvik continues to improve GC efficiency, the Tegra 2
> is finally obsolete, there are existing workarounds for the UI compositing
> problems, and Dalvik becomes a faster VM with every release. I recently
> asked +Jason Kincaid of 
> +TechCrunch<https://plus.google.com/103037366582313115962> if
> his Galaxy Nexus was smooth, and he had this to say:
>
> *“In general I've found ICS on the Galaxy Nexus to be quite smooth. There
> are occasional stutters — the one place where I can consistently get
> jitters on the Galaxy Nexus is when I hit the multitasking button, where it
> often will pause for a quarter second. That said, I find that the iPhone 4S
> also jitters more than I had expected, especially when I go to access the
> systemwide search (where you swipe left from the home screen).”*
>
> So there you go, the Android lag problem is mostly solved, right? Not so
> fast.
>
> *Going Forward*
>
>
> Android UI will never be completely smooth because of the design
> constraints I discussed at the beginning:
>
> - UI rendering occurs on the main thread of an app
> - UI rendering has normal priority
>
> Even with a Galaxy Nexus, or the quad-core EeePad Transformer Prime, *there
> is no way to guarantee a smooth frame rate if these two design constraints
> remain true*. It’s telling that it takes the power of a Galaxy Nexus to
> approach the smoothness of a three year old iPhone. So why did the Android
> team design the rendering framework like this?
>
> Work on Android started before the release of the iPhone, and at the time
> Android was designed to be a competitor to the Blackberry. The original
> Android prototype wasn’t a touch screen device. Android’s rendering
> trade-offs make sense for a keyboard and trackball device. When the iPhone
> came out, the Android team rushed to release a competitor product, but
> unfortunately it was too late to rewrite the UI framework.
>
> This is the same reason why Windows Mobile 6.5, Blackberry OS, and Symbian
> have terrible touch screen performance. Like Android, they were not
> designed to prioritise UI rendering. Since the iPhone’s release, RIM,
> Microsoft, and Nokia have abandoned their mobile OS’s and started from
> scratch. *Android is the only mobile OS left that existed pre-iPhone*.
>
> So, why doesn’t the Android team rewrite the rendering framework? I’ll let
> Romain Guy explain:
>
> *“...a lot of the work we have to do today is because of certain choices
> made years ago... ...having the UI thread handle animations is the biggest
> problem. We are working on other solutions to try to improve this (schedule
> drawing on vsync instead of block on vsync after drawing, possible use a
> separate rendering thread, etc.) An easy solution would of course to create
> a new UI toolkit but there are many downsides to this also.”*
>
> Romain doesn’t elaborate on what the downsides are, but it’s not difficult
> to speculate:
>
> - All Apps would have to be re-written to support the new framework
> - Android would need a legacy support mode for old apps
> - Work on other Android features would be stalled while the new framework
> is developed
>
> However, I believe the rewrite must happen, despite the downsides. As an
> aspiring product manager, I find Android’s lagginess absolutely
> unacceptable. It should be priority #1 for the Android team.
>
> When the topic of Android comes up with both technical and nontechnical
> friends, I hear over and over that Android is laggy and slow. The reality
> is that Android can open apps and render web pages as fast or faster than
> iOS, but perception is everything. Fixing the UI lag will go a long way to
> repairing Android’s image.
>
> Beyond the perception issue, lag is a violation of one of Google’s core
> philosophies. Google believes that things should be fast. That’s a driving
> philosophy behind Google Search, Gmail, and Chrome. It’s why Google created
> SPDY to improve on HTTP. It’s why Google builds tools to help websites
> optimize their site. It’s why Google runs it’s own CDN. It’s why Google
> Maps is rendered in WebGL. It’s why buffering on Youtube is something most
> of us remember, but rarely see anymore.
>
> But perhaps the most salient reason why UI lag in Android is unacceptable
> comes from the field of Human-Computer Interaction (HCI). Modern touch
> screens imply an affordance language of 1 to 1 mapping between your finger
> and animations on the screen. This is why the iOS over-scroll (elastic
> band) effect is so cool, fun, and intuitive. And this is why the touch
> screens on Virgin America Flights are so frustrating: they are incredibly
> laggy, unresponsive, and imprecise.
>
> A laggy UI breaks the core affordance language of a touch screen. The
> device no longer feels natural. It loses the magic. The user is pulled out
> of their interaction and must implicitly acknowledge they are using an
> imperfect computer simulation. I often get “lost” in an iPad, but I cringe
> when a Xoom stutters between home screens. The 200 million users of Android
> deserve better.
>
> And I know they will have it eventually. The Android team is one of the
> most dedicated and talented development teams in the world. With stars like
> +Dianne Hackborn <https://plus.google.com/105051985738280261832> and +Romain
> Guy <https://plus.google.com/111962077049890418486> around, the Android
> rendering framework is in good hands.
>
> I hope this post has reduced confusion surrounding Android lag. With some
> luck, Android 5.0 will bring the buttery-smooth Android we’ve all dreamed
> about since we first held an HTC G1. In the mean time, I’ll be in Redmond
> working my butt off trying to get a beautiful and smooth mobile OS some of
> the recognition it deserves.
>
> *Credits*
>
> Parts of this post was inspired by this reddit comment by ddtro who
> explained the UI thread and real-time issue:
>
> http://www.reddit.com/r/Android/comments/mztwk/facts_and_fiction_about_android_graphics/c358f0x
>
> This explanation of Android versus iOS UI compositing on Hacker News by
> Corun was illuminating:
> http://news.ycombinator.com/item?id=3310475
>
> Information about Android’s historical roots taken from *In the Plex* by 
> +Steven
> Levy <https://plus.google.com/109074857816744029470> and *Steve Jobs* by
> Walter Isaacson
>
> --
> "Indonesian Android Community" Join: http://forum.android.or.id
>
> ===============
> Download Aplikasi Kompas versi Digital dan Keren
> https://market.android.com/details?id=com.kompas.android.kec
> ---------------------
> Gunakan Paket Unlimited Data XL Mobile Broadband
> http://www.xl.co.id/XLInternet/BroadbandInternet
> --------------------
> PING'S Mobile - Plaza Semanggi
> E-mail: i...@pings-mobile.com Ph. 021-25536796
> --------------------
> i-gadget Store - BEC Bandung
> E-mail: a...@i-gadgetstore.com Ph. 0812-21111191
> --------------------
> Toko EceranShop - BEC Bandung
> E-mail: wi...@eceranshop.com Ph. 0815-56599888
> ===============
>
> Aturan Jualan dan Kloteran ID-Android http://goo.gl/YBN21
>



-- 
Regards,

Ali Ramdani | Thoa
Past is experience, Present is experiment & Future is expectation. Use
experience in your experiments to achieve your expectations.

-- 
"Indonesian Android Community"  Join: http://forum.android.or.id

===============
Download Aplikasi Kompas  versi Digital dan Keren 
https://market.android.com/details?id=com.kompas.android.kec
---------------------
Gunakan Paket Unlimited Data XL Mobile Broadband  
http://www.xl.co.id/XLInternet/BroadbandInternet
--------------------
PING'S Mobile - Plaza Semanggi
E-mail: i...@pings-mobile.com Ph. 021-25536796
--------------------
i-gadget Store - BEC Bandung
E-mail: a...@i-gadgetstore.com Ph. 0812-21111191
--------------------
Toko EceranShop - BEC  Bandung
E-mail: wi...@eceranshop.com  Ph. 0815-56599888
===============

Aturan Jualan dan Kloteran ID-Android http://goo.gl/YBN21

Kirim email ke