01-04-2011 12:04 AM
38 12
tools
  1. green's Avatar
    lol, you're not crazy. I totally agree. Even older iphones have smoother scrolling and browsing. It bothers me too. No one here wants to admit it though I think. Pinch zoom on stock modern android phones looks choppy compared to the iphone. I want this fixed!
    This^

    I know exactly what the OP is talking about. I have a Droid X but after playing with a WP7 and iPod touch, I noticed how much smoother and refined the browsers were on them compared to my X.

    The Android browsers are great at rendering but on a lot of graphic/intense websites they start to get choppy. For example, this site is smooth on my X when I pinch/zoom and scroll but if I go to PS3, PS2, PSP, Wii, DS, Xbox 360, Used, PC Games and Consoles | GameStop, that site is so laggy (with flash disabled btw).

    These phones definitely have the hardware to be smooth but the OS is just not being optimized for it. That's why you never hear WP7 or iOS owners looking forward to dual core phones because their phones are already smooth. Heck, the Tegra 2 LG Star isn't even out yet and its still not as smooth as a WP7 phone or iPhone.

    This is just one of the drawbacks to having an open OS.
    12-30-2010 08:40 AM
  2. sniffs's Avatar
    Usage of GPU acceleration, depends...phone to phone...

    Generic Android phones, like HTC Magic, G1, Nexus One...the generic Android OS itself doesn't do much GPU acceleration. The Qualcomm Adreno 200 can be slower than the CPU on some operations, and the OS should avoid hardware dependencies by coding to the GPU. This way, it makes it easier by another party to take the OS and optimize it to the GPU of their choice.

    HTC Sense and Samsung TW, on the other hand, are hardware accelerated. That is why the Galaxy S can deliver very smooth graphics. If you compare the Droid Eris or HTC Hero with HTC Sense vs. the HTC Magic with raw UI--- both the same CPU, same GPU --- the Eris has much smoother swipes and scrolls. Compare the Nexus One with the HTC Desire or Droid Incredible and you have similar parallel experience.

    If you have the Desire Z or Desire HD, try swiping and scrolling, and its even smoother than the Desire or Droid Incredible. The first and second generation Snapdragons used by these phones are equal when it comes to all general CPU operations. Where they differ is that the second generation Snapdragon has a much faster GPU. The reason why an 800MHz Desire Z can swipe and scroll smoother than a 1GHz Droid Incredible --- noticeably so --- is because the GPU is that faster. By extension, we know the GPU is being used in the interface.

    Even without running benchmarks, get the Coca Cola holiday Live Wallpaper. This wallpaper can truly tax the GPU with anything from particles to 3D. You can see it relatively go from choppy to smooth in that order of phones:

    Nexus One, Droid Incredible, HTC Desire (choppy)

    Nexus S, Samsung Galaxy S, HTC Desire Z (smooth)

    Since they all have a GHz processor, the performance difference is due to GPU differences and therefore use of the GPU is involved.

    Using the GPU in HTC Sense and Samsung TW do result in hardware dependencies and it does make porting a new Android OS slower, since the generic Android OS lacks the specific optimizations, and its the vendor's job to do the optimizations to the CPU/GPU of their choice.

    When you optimize for one GPU, these optimizations don't work on another. We don't expect optimizations for nVidia to be the same for Radeons either. That's why HTC has to do the optimizations for the Qualcomm CPUs, while Motorola does for the TI OMAP6 series, and Samsung for the Hummingbird. And now we got new factors coming in, with the nVidia Tegra2.

    So yeah, Google using a Galaxy S/Hummingbird platform to build their Gingerbread, which appears to have GPU optimizations, means Gingerbread as it exists on the Nexus S is Hummingbird optimized. This version of the OS as it is, has its hardware dependencies to the Hummingbird and its PowerSGX 540 GPU.

    Does it surprise you it would take longer for Gingerbread to be ported to the Nexus One? You have to take all these optimizations and make them work on the Qualcomm Adreno 200 GPU. It will also be another bit of work for the Adreno 205 GPU used in the newer Snapdragon like the G2. Since the OMAP6 uses a lower form of PowerSGX compared to the Hummingbird, I wonder how the work will be for Gingerbread to go into OMAP6 equipped devices like the Droid 2 and X?
    The live wallpapers aren't a good comparison because there are aspects of the Android OS that is GPU accelerated, such as live wallpapers.

    However, the underlying stock launcher and stock browser are not gpu accelerated...and some apps still aren't making use of opengl.

    Side by side comparisons of apps on iPhone vs DroidX and you'll see the difference.
    12-30-2010 10:05 AM
  3. green's Avatar
    I noticed live wallpapers make my X's homescreen and app drawer sluggish but when I load them on a Galaxy S phone they run much better. This is just one example of why fragmentation can be a bad thing. Some games that are coming out can't even be played on single core devices.

    Android is such a good OS but it would be MUCH better if it was going the way WP7 is - which is all phones running similar hardware but optimized for the OS and Microsoft sends out updates directly to phones instead of the carriers.

    I think I'm starting to prefer the way Apple and WP7 are going which is locking down their OS to make sure everything runs smooth and well instead of just slapping their OS onto different devices and letting manufacturers and carriers put whatever they want on them.
    12-30-2010 11:49 AM
  4. sniffs's Avatar
    Well there's a reason it'll be sluggish.. the Galaxy S phones run a PowerVR SGX 540 GPU.. the Droid 1, 2 and DroidX run a PowerVR SGX 530..

    rumor has it that the 540 GPU is ten times as powerful as the 535.. so that means the 530 is just that much slower.. =(
    12-30-2010 11:51 AM
  5. green's Avatar
    Well there's a reason it'll be sluggish.. the Galaxy S phones run a PowerVR SGX 540 GPU.. the Droid 1, 2 and DroidX run a PowerVR SGX 530..

    rumor has it that the 540 GPU is ten times as powerful as the 535.. so that means the 530 is just that much slower.. =(
    Yeah I knew it was the GPU. The sad part is that if Google made the entire OS and apps (without carriers/manufacturers) they could probably make live wallpapers run well on even an Adreno 200.
    12-30-2010 12:06 PM
  6. Guamguy's Avatar
    You make A LOT of interesting claims, but I find some of them doubtful

    Lets start with the hardware accelerated UI's HTC Sense and Samsung TW, do you have any references to back up your claim that they actually use the GPU? Sure Samsung claims their Galaxy S is 'hardware accelerated' but they are not specific. Indeed Sense and TW are both rather smooth, however the framerate still appears lower than what we see from IOS. If the Galaxy S UI is really hardware accelerated I would expect at least IOS-like smoothness since the iphone and the galaxy S both use the PowerVR GPU if I'm not mistaken, but there is a difference in my opinion.
    Actually the SGS does, when new. It starts lagging for other reasons when there is too much apps on it. But do a clean reset, and see how it feels when its new. As for me, I got three iOS devices here.

    Lets continue with the Adreno GPU. When I compare a Adreno 200 with a Adreno 205 (Desire / Desire HD) I don't see a lot of difference.
    Really. In both Nenamarks and Neocore, the 205 is scoring at least double of the 200, despite the 205 is running only with a 800MHz CPU and the 200 is running with a 1GHz CPU.

    This could be because the 205 is just an optimization of the 200. Qualcomm claims an enormous performance boost for the 205, well maybe that's true for some low-level routines, but definitely not for the FPS in general applications. Furthermore you would not expect a choppy UI at all when the UI is hardware accelerated even with the Adreno 200. I mean you get an acceptable FPS with 3D applications, a simple slick 2D UI should be no problem for any GPU if programmed well(which is not that easy though, Apple did a good job there I think).
    Acceptable performance on 3D applications? On a simple 3D benchmark like Nenamarks, the Adreno 200 scored a miserly 14 FPS, while the 205 (Desire Z) scored 31 FPS, and the SGS scored 49 FPS. My own tests. Anything under 26FPS is considered visually choppy.

    Then you claim every Android port is optimized for its specific hardware, which is true. But again, where does is it stated the the GPU is involved in these ports? I cannot find any references in the SDK that drawables or animated menu's are possibly accelerated. Of course that doesn't mean it isn't happening, but the general scrolling experience in Android doesn't feel that way.
    What scrolling experience are you talking about? Try scrolling with an app like Twicca or Tweetdeck. Smooth. Very smooth. In fact, it does a very fast kineitc scroll that borders on blurring. i'm not exactly using stock browsers, since these are the browsers on HTC Sense and Touchwiz, but with my experience on browsers like Dolphin, Skyfire, Opera Mini and Mobile and even Firefox has smooth scrolls, even glass smooth zooms and pinches.
    12-31-2010 07:58 AM
  7. Guamguy's Avatar
    This^

    I know exactly what the OP is talking about. I have a Droid X but after playing with a WP7 and iPod touch, I noticed how much smoother and refined the browsers were on them compared to my X.

    The Android browsers are great at rendering but on a lot of graphic/intense websites they start to get choppy. For example, this site is smooth on my X when I pinch/zoom and scroll but if I go to PS3, PS2, PSP, Wii, DS, Xbox 360, Used, PC Games and Consoles | GameStop, that site is so laggy (with flash disabled btw).

    These phones definitely have the hardware to be smooth but the OS is just not being optimized for it. That's why you never hear WP7 or iOS owners looking forward to dual core phones because their phones are already smooth. Heck, the Tegra 2 LG Star isn't even out yet and its still not as smooth as a WP7 phone or iPhone.

    This is just one of the drawbacks to having an open OS.
    I opened that site, Gamestop.com, with my Dolphin browser using my Droid Incredible. Glass smooth. Kinetic scrolling too. Actually put me in the iPHone optimized format page too.

    The iPhone browser checkers a lot of areas (it doesn't render them at all) on a web page, and only a small part of the page is allowed scrolled or enlarged with pinch and zoom and then the browser fills up these areas quickly after the operation is done. By checkering portions of the display, the iPhone browser is actually moving less bits than the Android browser.
    12-31-2010 08:04 AM
  8. runeks's Avatar
    Using the GPU in HTC Sense and Samsung TW do result in hardware dependencies and it does make porting a new Android OS slower, since the generic Android OS lacks the specific optimizations, and its the vendor's job to do the optimizations to the CPU/GPU of their choice.

    When you optimize for one GPU, these optimizations don't work on another. We don't expect optimizations for nVidia to be the same for Radeons either. That's why HTC has to do the optimizations for the Qualcomm CPUs, while Motorola does for the TI OMAP6 series, and Samsung for the Hummingbird. And now we got new factors coming in, with the nVidia Tegra2.
    Thanks for taking your time to explain these things, it can be quite frustrating to just not understand why they don't just enable GPU acceleration. It seems so simple. But of course things are rarely as simple as they seem.

    What I don't understand though, is why these optimizations can't just be contained in the driver for a specific GPU? I presume neither HTC nor Samsung produce their own GPUs, but license a driver from an SoC-manufacturer (or so I've heard). Why can't these optimizations just all be put in the driver, thus letting the GPU manufacturer worry about these optimizations?
    Or are you talking about higher-level optimizations, ie. even enabling GPU acceleration in Skia, for example? As I understand it, Skia has so far been software (CPU) only, so if HTC or Samsung would like to use a GPU to render the 2D user interface of Android, they'd have to dig inside Skia and change the code to take advantage of the GPU - are these the optimizations you are talking about?

    On the same note, when Googling for "skia gpu" earlier, the first result that came up was the Skia source code repository, showing a new commit that adds a "gpu backend" to Skia:
    trunk/gpu/src - skia - Project Hosting on Google Code

    Is this what the manufacturers are waiting for, so they don't have to go through all the hoops of enabling GPU acceleration themselves?
    01-02-2011 02:47 PM
  9. anon62607's Avatar
    I've got a number of phones here, a number of android and iOS devices. I'd say generally that iOS does seem much smoother than Android. I've been trying to substantiate this through the UI and in stock browsers between the two so I've been videoing them at 240 fps (8x) in various tasks. Here's a sample:


    In this case between the iPhone 4 and Tmobile G2. The things that stand out for me is in most cases the G2's actual screen "swipe" doesn't start until my finger has left the display, which is something like a 375 millisecond delay - which is perceptible - between when you think the action is supposed to start and when it actually does. The iPhone's worst case is better than 125 milliseconds and I think that's part of what give it it's more "snappy" feel.

    I'll see if I can come up with some more examples. The browser examples are dramatically worse for the Android too, you can clearly see drag lag even without time acceleration and it becomes obvious at 240 or even 120 fps.

    Even worse in my view is the Lag Of Death that happens now and then - which I describe as the phone appearing to lock up to the point that I am about to battery pull when suddenly it catches up for itself - haptic feedbacking like mad for all of the events it seemingly stored up while it was in a coma and I was trying to revive it.

    I love android but it's things like this that (in comparison to iPhone) make it seem not quite ready for prime time.
    01-02-2011 04:51 PM
  10. Guamguy's Avatar
    Thanks for taking your time to explain these things, it can be quite frustrating to just not understand why they don't just enable GPU acceleration. It seems so simple. But of course things are rarely as simple as they seem.

    What I don't understand though, is why these optimizations can't just be contained in the driver for a specific GPU? I presume neither HTC nor Samsung produce their own GPUs, but license a driver from an SoC-manufacturer (or so I've heard). Why can't these optimizations just all be put in the driver, thus letting the GPU manufacturer worry about these optimizations?
    Or are you talking about higher-level optimizations, ie. even enabling GPU acceleration in Skia, for example? As I understand it, Skia has so far been software (CPU) only, so if HTC or Samsung would like to use a GPU to render the 2D user interface of Android, they'd have to dig inside Skia and change the code to take advantage of the GPU - are these the optimizations you are talking about?
    Yes, I think what's happening appears to be what you are describing in the last paragraph.

    I'm not sure if the driver model might produce the performance you need. That's why Android appears to go increasingly "native". Let's put it in another way, WP7 has a provision to create native apps that directly access the hardware.

    Is this what the manufacturers are waiting for, so they don't have to go through all the hoops of enabling GPU acceleration themselves?
    The SOC makers definitely would have their reference code.

    The case of Android has been like this. It has been a big advantage for the SOC manufacturer if the latest Android version appeared on it first.

    If Android 2.x appears on SOC Chip A, Chip A has the initial advantage, since it would take some time to port, test and debug Android 2.x on Chip B and C. Do people ever wonder why an Android port sometimes take longer for one chipset? It has nothing to do with the UI like Sense or Touchwiz. Its the whole job of porting Android to all the different chipsets.

    Android 1.0 to 1.6
    First appearance - Qualcomm MSM7200 series

    Android 2.0
    First appearance - OMAP 3630 (CPU used on Droid)

    Android 2.1
    First appearance - Qualcomm MSM8250 Snapdragon (Nexus One)

    Android 2.2
    First appearance - Qualcomm MSM8250 Snapdragon

    Android 2.3
    First appearance - Samsung Hummingbird

    Android 2.4 (Honeycomb)
    Likely first appearance - nVidia Tegra 2

    When the first Android version appears for one SOC maker, the others gets a little ticked because of it, but grumble is all they do and just work on porting the new Android version to their chipsets as soon as they can.

    So Google tries not to create as much hardware dependencies into Android to make it as easier and quicker to port into different chipsets. The FRG83D Froyo on the Nexus One is practically the same that is being ported to Droid and the MyTouch 3G/HTC Magic.

    This leaves the SOC makers to write references for these optimizations so the handset makers can follow and adopt to their own UIs.

    That has been the case until Android 2.2.

    Android 2.3, Google broke its own rules and did hardware optimizations to the Hummingbird / PowerSGX 540. Does it surprise you the Gingerbread port will take a while to appear on the Qualcomm Snapdragon powered Nexus One? I'm pretty sure Qualcomm, nVidia and Texas Instruments (maker of the OMAPs) is pretty miffed with that but in the end, all will just suck it up.

    But the customers (who don't really know what's going on behind the scenes and what's really good for them) want optimizations and you get optimizations but as a result don't expect the latest Android version to come their way just as quickly.
    01-03-2011 12:07 AM
  11. Guamguy's Avatar
    I've got a number of phones here, a number of android and iOS devices. I'd say generally that iOS does seem much smoother than Android. I've been trying to substantiate this through the UI and in stock browsers between the two so I've been videoing them at 240 fps (8x) in various tasks. Here's a sample:


    In this case between the iPhone 4 and Tmobile G2. The things that stand out for me is in most cases the G2's actual screen "swipe" doesn't start until my finger has left the display, which is something like a 375 millisecond delay - which is perceptible - between when you think the action is supposed to start and when it actually does. The iPhone's worst case is better than 125 milliseconds and I think that's part of what give it it's more "snappy" feel.

    I'll see if I can come up with some more examples. The browser examples are dramatically worse for the Android too, you can clearly see drag lag even without time acceleration and it becomes obvious at 240 or even 120 fps.

    Even worse in my view is the Lag Of Death that happens now and then - which I describe as the phone appearing to lock up to the point that I am about to battery pull when suddenly it catches up for itself - haptic feedbacking like mad for all of the events it seemingly stored up while it was in a coma and I was trying to revive it.

    I love android but it's things like this that (in comparison to iPhone) make it seem not quite ready for prime time.
    What you're seeing is more a factor of the UI caching non displayed data to the disk, in this case, slow flash memory, then pulling the same data out fast (but not nearly enough) from the flash memory.

    This is especially so with browser pinch and zooms. The iPhone browser is clever that it has a relatively small buffer so it can quickly redraw all those bits. Anything that falls out of the buffer becomes the checkerboard.

    Android uses the YAFFS file system meant to handle Flash memory. Its slow. Whatever the iPhone uses, must be very fast. But that's also the reason why they sealed the memory since it won't allow for hot swaps.

    Now note the same thing happened on WP7. They got a new and fast file system there. Note, its also not hot swappable.

    Now the same thing happened to Android 2.3 Gingerbread. Yes, its very fast too. They changed the file system from YAFFS to ext4. And guess what, they also sealed it up so no more hot swapping.
    01-03-2011 12:15 AM
  12. Rol's Avatar
    Actually the SGS does, when new. It starts lagging for other reasons when there is too much apps on it. But do a clean reset, and see how it feels when its new. As for me, I got three iOS devices here.

    Really. In both Nenamarks and Neocore, the 205 is scoring at least double of the 200, despite the 205 is running only with a 800MHz CPU and the 200 is running with a 1GHz CPU.

    Acceptable performance on 3D applications? On a simple 3D benchmark like Nenamarks, the Adreno 200 scored a miserly 14 FPS, while the 205 (Desire Z) scored 31 FPS, and the SGS scored 49 FPS. My own tests. Anything under 26FPS is considered visually choppy.

    What scrolling experience are you talking about? Try scrolling with an app like Twicca or Tweetdeck. Smooth. Very smooth. In fact, it does a very fast kineitc scroll that borders on blurring. i'm not exactly using stock browsers, since these are the browsers on HTC Sense and Touchwiz, but with my experience on browsers like Dolphin, Skyfire, Opera Mini and Mobile and even Firefox has smooth scrolls, even glass smooth zooms and pinches.
    Thank you for your response.

    Well lets not go too much into 3D benchmark and tweaking controversy and subjective notion of what fps is acceptable. I don't see my phone as a gaming device anyway. My point is that I can write a simple OpenGL app and push the framerate to 60 even with textures. So that tells me that in theory an ios-like smoothness should be possible.

    Now, I also don't like to fall in a game of contradiction either. However, my perception tells me that HTC phones using either the Adreno 200 or the 205 or a clean Galaxy S is not as smooth as the Iphone, that goes for both the stock browser, Sense and TW UI. (why does the galaxy S gets slower with a lot of apps, garbage collection should be good in Android?). I also still have no reason to believe that TW or Sense are fully hardware accelerated, it probably isn't accelerated at all. Of course there could be something wrong with my perception and that of most people in this thread and all the people in the Google code thread. Maybe you can make a movie like Valeuche and show us that your galaxy s runs a complex page (lots of pictures) just as smooth as one of your IOS devices (I assume one of them is a 3G or higher not running ios 4) and show all of us what you mean. Without the leaked Samsung lag-fix of course (which presumable employs the GPU). Or even just try Google Maps.

    I sometimes get the feeling that especially for the tweakers, Android has become more of a religion. They just don’t want to see that there are any drawback to android and preach it as if the world is flat. Don't get me wrong I find Android overall superior to ios, but there is something to this issue, most end-users who try an Iphone and a high-end Android device for the first time will think the Iphone is faster because its smoother.

    Finally to respond to your last remark. Some apps are smooth, I never denied that. Especially the Opera Mobile beta, someone at this forum mentioned it felt a bit like the responsiveness of the Iphone. And that’s funny because the beta is in fact using some kind of hardware accelerated engine, at least that's what I've read. Too bad it still feels very beta, movement is very awkward.
    01-03-2011 06:55 AM
  13. Guamguy's Avatar
    Not smooth as an iPhone? Depends what graphics operation you mean.

    If you are talking about kinetic scrolls with long lists, certainly you see this in Android browsers and they are as smooth as on the iPhone. Kinetic scrolling is also graphics accelerated. Pinch to zoom is smoother on the iPHone due to a smaller buffer size (iphone checkerboards display data out that is not part of the buffer), but nonetheless, in Android its smooth enough to suggest its graphics accelerated. You can try pinch and zoom on another app like Google Sky Maps; they would have to call on the same APIs.

    In HTC Sense and in other UIs, if you see a transparent, translucent or frosted glass overlay move seamlessly over a background, especially a moving background, especially if the overlay has display data like text on it, that's definitely graphically accelerated because CPUs cannot render overlays, much less bit map them fast and seamlessly enough over graphics memory that has display data on it. Examples of this aer HTC Sense widgets like Friendstream or Samsung's social Feeds and Updates on the Touchwiz.

    In fact, even in the stock UI, you can find transparent or frosted glass widgets, and they will display seamlessly with live wallpaper drawing underneath it.

    You can clearly see graphics acceleration is very evident on these apps:

    Google Maps
    Google Sky Maps
    Google Earth
    Twicca
    Tweetdeck
    Photo Gallery (the stock one)
    The Samsung Galaxy S music player
    Layar
    01-04-2011 12:04 AM
38 12
LINK TO POST COPIED TO CLIPBOARD