Slashdot Mirror


The Android Lag Fix That Really Wasn't

jfruh writes "When Android was first introduced, it got much of its buzz in the open source community, and despite it being a mobile juggernaut backed by huge companies, it remains an open source project that anyone can submit code to. Thus, when a community patch that claimed to reduce the lag that still plagues the platform was created, it rocketed around various community code sites and was widely praised. The only problem: it didn't actually speed Android up."

226 comments

  1. Open Source by cashxx · · Score: 0

    I wasn't aware you could add code to the next release of Android? Where is the current nightly build?

    1. Re:Open Source by ByteSlicer · · Score: 4, Informative
    2. Re:Open Source by Flipao · · Score: 1

      Here's another http://replicant.us/

    3. Re:Open Source by Anonymous Coward · · Score: 0

      Here you go: http://download.cyanogenmod.org/?type=nightly .

      I've been using android since Gingerbread, and honestly i don't even notice the difference between ICS and JB. Butter didn't really do anything. I have been running CM since v7 though, maybe they're just that good?

    4. Re:Open Source by hairyfeet · · Score: 1, Insightful

      Uhhh...since when does having a non mainline spin off count as being "open to user additions"? Has the world suddenly gone crazy or is this just another "We let them get away with it because they are Google and said 'do no evil' which we totally bought" kinda thing? That would be like saying "Oh anybody can contribute to Solaris, here is Open Indiana!"...well does the mainline users get their code from Open Indiana? No. Does the mainline branch take all their code from Open Indiana, like how Red Hat uses Fedora as a testing ground? No. Well then they ain't contributing to the mainline project are they?

      --
      ACs don't waste your time replying, your posts are never seen by me.
    5. Re:Open Source by ByteSlicer · · Score: 1, Insightful

      since when does having a non mainline spin off count as being "open to user additions"?

      There's no requirement for an open source project to be open to "user additions".
      When was the last time you added something to the Linux kernel? Maybe you did, but that process is tightly controlled by the kernel maintainers.
      Same thing for Firefox.
      You are free to fork Android, like CM did, and make your additions there. Or fork CM.
      I'm not saying Android couldn't be more open. But it's understandable that Google tries to keep control so they won't get sabotaged by Apple, Microsoft and others.

    6. Re:Open Source by jrumney · · Score: 1

      Butter didn't really do anything.

      Butter only works if it has been ported to your device; many devices have had JB ported without enabling butter, especially those with proprietary graphics drivers. Depending on the spec of your device and the way you use it, you may not see any improvement even if it is enabled, and possibly even a degradation (as with any double buffering, the CPU ends up doing more work overall).

    7. Re:Open Source by hairyfeet · · Score: 0

      Then you had NO RIGHT to bitch about Open Office or Java or anything else that tells you to piss off when it comes to user contributions, after all you have the source so you can just fork it!

      Wanna know why I hate FOSSies? Its THIS, this right here, the blatant hypocrisy that runs through the community like a cancer. Its total fangirl bullshit, some companies are labeled "good" no matter what they do, some are labeled evil, again no matter what they do, and logic and evidence? has no place in hypocrisy land. I could find article after article nailing Sun and Oracle for the EXACT SAME SHIT that Google is doing, but because Google pays a little lip service to FOSS and says "do no evil" the FOSSies will find ANY excuse they can to cover bad behavior by Google, even when the same behavior is condemned when others do it.

      Nothing I hate worse than fucking hypocrites and that isn't aimed at you, its aimed at the FOSSies that have a screaming shitfit if anybody but Google were to pull this crap. Look at how they screamed bloody murder at MSFT and SecureBoot, checked the new ChromeBooks? They locked the bootloader, you can't do shit without a shitload of CLI hacking to get around the locked boot, hear them scream? Nope, because Google is God and can do anything, fucking hypocrites.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    8. Re:Open Source by ByteSlicer · · Score: 1

      Then you had NO RIGHT to bitch about Open Office or Java or anything else that tells you to piss off when it comes to user contributions, after all you have the source so you can just fork it!

      Why do you assume I did? It sounds like you desperately want to prove your point.

      If you seriously want to add code to mainstream Android, feel free to follow the procedure:
      http://source.android.com/source/submit-patches.html .

    9. Re:Open Source by hairyfeet · · Score: 1

      Did not read before posting, did you? if you had you would have seen I said quite clearly it was NOT directed at you but the blatant hypocrisy of the FOSSie faction. MSFT locks the OS through UEFI? "ZOMFG where is antitrust? Whargarbl!" Google locks THEIR OS with UEFI? /crickets chirping/

      If I felt like bothering Slashdot has carried articles of Oracle and Sun doing THE EXACT SAME SHIT and the threads was FULL of FOSSIes having a royal shitfit, Google? The FOSSies trip all over themselves to apologize like a battered wife, "he don't mean it, he's just going through a bad time".

      Nothing I hate more than a God Damned hypocrite and I hate to fucking say it since I really do loathe the man but this is one place where I give RMS credit, he has NEVER waffled and he pointed out when Google was being a douche just as he pointed to Apple and MSFT when they were being douches, its too bad that even St. iGNUcious can't get the FOSSies to quit fawning over Google like a bunch of 14 year old girls over Justin Bieber.

      --
      ACs don't waste your time replying, your posts are never seen by me.
  2. How important is "true" randomness, anyway? by 14erCleaner · · Score: 5, Funny

    If the problem is that they can't generate "random" number fast enough, maybe they could just return 42 when the entropy pool is empty.

    --
    Have you read my blog lately?
    1. Re:How important is "true" randomness, anyway? by Bogtha · · Score: 4, Funny

      No, they should return 4 - it's guaranteed to be random.

      --
      Bogtha Bogtha Bogtha
    2. Re:How important is "true" randomness, anyway? by fuzzyfuzzyfungus · · Score: 4, Interesting

      If the problem is that they can't generate "random" number fast enough, maybe they could just return 42 when the entropy pool is empty.

      It depends on what you are doing with that entropy. Cryptographic applications, probably best not to mess with. Mathematical simulation work? Please consult your handy local PHd, spawning little spaceships in your arcade game clone? Probably not an issue.

      Because it's really application dependent, Linux has two ways of asking the kernel for entropy: Reading /dev/random will pull from the kernel entropy pool and block if the pool is empty. How fast the pool refills depends on the hardware platform, presence/absence of dedicated cryptographic hardware, interrupts and network activity, etc. Reading /dev/urandom will never block; but the results may be unsatisfactorily random if the entropy pool is low.

      In either case, applications are also free to use material from /dev/random or /dev/urandom to seed their own PRNGs.

    3. Re:How important is "true" randomness, anyway? by gmuslera · · Score: 2

      Or maybe 9. Being random don't mean to be all different, or even to be evenly distributed.

    4. Re:How important is "true" randomness, anyway? by networkzombie · · Score: 3, Funny

      The generation of random numbers is too important to be left to chance.

    5. Re:How important is "true" randomness, anyway? by Rockoon · · Score: 4, Funny

      "The generation of random numbers is too important to be left to chance." - Robert Coveyou.

      --
      "His name was James Damore."
    6. Re:How important is "true" randomness, anyway? by TechyImmigrant · · Score: 1

      Intel's Digital Random Number Generator has a Dilbert mode (not available to mortals) in which it only outputs 9.
      I had to choose between xkcd mode and Dilbert mode. Dilbert mode won.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    7. Re:How important is "true" randomness, anyway? by TechyImmigrant · · Score: 1

      >In either case, applications are also free to use material from /dev/random or /dev/urandom to seed their own PRNGs.

      Just because they can, it doesn't mean they should.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    8. Re:How important is "true" randomness, anyway? by Anonymous Coward · · Score: 0

      just use real randomness to seed something like RC4, 3DES-CBC, AES-CBC or the like. This kind of PRNG is good enough for almost anything, including physics simulations. Just DO NOT use the libc rand() function or an LFSR. These are utter shite.

    9. Re:How important is "true" randomness, anyway? by Thumper_SVX · · Score: 1

      Funniest truism I have ever seen. Bravo :)

  3. You mean that the placebo effect still works? by toygeek · · Score: 5, Informative

    This is why "vortex" generators for carburetors are still sold http://www.vorteccyclone.com/ , Magnets for your fuel lines to "align the molecules" http://en.wikipedia.org/wiki/Fuel_saving_device are still sold, and oddly shaped bicycle cranks http://z-torque.com/ are still sold. Its really no surprise that it happens in the software world too. Really, its been happening for a long time. Regcure, anyone?

    1. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 0

      Don't forget the biggest software (software specific, in general terms it's Scientology) placebo (or scam) : DoubleRAM.

    2. Re:You mean that the placebo effect still works? by fuzzyfuzzyfungus · · Score: 5, Insightful

      The surprising thing, in both this Android case and the assorted car-widgets, is not that the placebo effect works; but that the "If it was that easy, why didn't it come from the factory that way" argument hasn't held more sway.

      In the case of the 'vortex' device you link to, the argument is essentially that ~$1 worth of stamped metal could markedly improve the performance and fuel economy of most vehicles without other notable modifications. Short of a full-scale Petroleum-industrial-complex coverup, why aren't these things being bolted on at the factory?

      In the Android case, it's not like entropy related issues are news to linux users or hardware makers. Devices that do lots of crypto(ie. network gear designed to support a lot of VPN users, http load balancers designed to serve a lot of SSL sessions, etc.) are frequently provided with dedicated hardware RNGs precisely to prevent performance issues on entropy depletion. VIA's more recent CPUs come with an on-die hardware RNG, and you can buy assorted RNGs for various expansion busses if your applications require it.

      The issue isn't so much that you can entropy-starve a system and cause it to respond badly; but that(against a background of people already knowing that) Google went and released an OS that is somehow radically more demanding on /dev/random than most linux variants and didn't even notice? That would be a bit of a surprise.

    3. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 0

      I think you mean "RAMDoubler" which supposedly compressed your virtual memory, but did so ineffectively.

      However VMWare currently advertises a similar feature.

    4. Re:You mean that the placebo effect still works? by Noughmad · · Score: 2

      I've never heard of DoubleRAM, so it can't be that big. The biggest software scam has to be anti-virus.

      --
      PlusFive Slashdot reader for Android. Can post comments.
    5. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 0

      I wonder if this could be solved by using a ghetto PRNG which may be less cryptographically secure, but faster. Of course, /dev/random is the best place, and /dev/urandom is good, but if one needed a ghetto source of unpredictable numbers, there is always grabbing a 256 bit salt and a 256 bit key from /dev/random, then just using AES-256 on a stream of zeros, re-seeding the stream every few meg or so... perhaps using a hash function like SHA-512 as a "bit blender" to further add some unpredictability.

      It is ghetto, but it does give some fairly unpredictable numbers.

    6. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 0

      If you were in the market for computers during the days of the 486 or Pentium, you would have heard about it. Couldn't step into a CompUSA without at seeing an advertisement. Yes. Hyperbole.

    7. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 0

      "If it was that easy, why didn't it come from the factory that way" argument hasn't held more sway.

      Remove your cat converter from your car, fits your question, provides a provable performance increase, and is easy.
      One year of Mustang came out designed for a chip swap that added like 20-40 hp, took about 5 minutes, was really easy.
      Remove governor from carburetor on gas powered golf carts.

      There are plenty of cases where its "that easy" and the factory didn't do it. Two of my examples were because of government regulation, one is safety related. The chip on the Mustang was the best one because with the proper chip it couldn't pass fuel economy, and Ford couldn't sell the proper chip. Ford made the programming available to other companies and I doubt there are any of that year's model still running on the road with the factory chip, it was actually that well known at the time.

    8. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 0

      Whooops. Yep. I meant RAMDoubler. Mea culpa.

    9. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 0

      There's also price discrimination -- Pro GPU cards are identical to consumer GPU cards but the driver enables extra features, 1GHz chips are identical to 2Ghz chips (but only tested/guaranteed at 1Ghz), etc.

    10. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 0

      Google went and released an OS that is somehow radically more demanding on /dev/random than most linux variants and didn't even notice? That would be a bit of a surprise.

      It would indeed, especially because it didn't happen. Brought to you by... the article: "only wpa_supplicant opens /dev/random, and it doesn't continuously do that."

    11. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 0

      I don't use android, but on my Panda board (small ARM based board) running linux, I use rngd to add entropy to /dev/random from /dev/urandom. After doing this, hostapd no longer would hang with no entropy (one or more of the wireless interfaces would stop accepting authenticating new users until the associated hostapd instance was restarted or, interface(s) would never start on initial power on). I didn't really notice any other differences, but having a reliable access point where it wasn't before demonstrates that this does "fix" some things. So, maybe an underlying linux /native daemon fix that actually does help things even if davlik doesn't use /dev/random.

      I don't know about this android app to do this seeding, but rngd tests the source data before using it to seed /dev/random to make sure it is decent random data which is good enough for my purpose and with the mix of true entropy is probably better than using /dev/urandom directly. BTW, rngd is _supposed_ to be used with a hardware random number generator.

    12. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 0

      The issue of /dev/random and /dev/urandom crops up periodically on real systems. Its very hard to predict this will happen - the sum of activity of all apps can lead to this effect. If its bad enough, people investigate and simply swap /dev/random for /dev/urandom, thus defeating the purpose of /dev/random. This issue, on Android, can certainly occur if lots of background apps are periodically/continuously connecting for updates, e.g. email, facebook, twitter. So, users are likely to find the device slows down as the cruft accumulates.

      The problem can/could get worse. As phones have 2GB RAM, more active apps can be left running.

      Now its known about, hopefully, it will happen "less".

    13. Re:You mean that the placebo effect still works? by BitZtream · · Score: 1

      RAMDoubler created a compressed swap partition. It actually worked as advertised, depending on your setup it may actually make things faster for you, but buying more ram was ALWAYS the proper solution.

      VMware stores duplicate memory pages between OSes in a single instance across multiple running VMs. This is no different than what Linux, BSD, or Windows do with things like EXE backing stores already except VMware has to search out duplicate pages as it doesn't really know how the underlying OS does its thing but it DOES know how the translation buffer is configured. This also works as advertised and is why I have twice as much RAM allocated to virtual machines on my VMware server as they actually consume. Windows machines all doing essentially the same thing have ... lots of duplicate pages.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    14. Re:You mean that the placebo effect still works? by Bruce+Perens · · Score: 0

      Maybe you should review RamDoubler on Amazon, where it's still for sale! here.

    15. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 0

      RAMDoubler created a compressed swap partition. It actually worked as advertised, depending on your setup it may actually make things faster for you, but buying more ram was ALWAYS the proper solution.

      It was helpful in printing the ransom note when we captured Clippy.

    16. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 0

      RAM Doubler for Mac was a pretty well-regarded product because it completely replaced the crapola System 7 virtual memory subsystem. They then "leveraged their brand" into a Windows version which supposedly was no better/faster than Win3.1's VM -- and it got a lot of terrible press.

      VMWare (some versions) not only de-duplicate but also do some form of memory compression.

    17. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 1

      Was that a reverse car analogy? Bravo sir.

    18. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 0
    19. Re:You mean that the placebo effect still works? by Plumpaquatsch · · Score: 1

      I think you mean "RAMDoubler" which supposedly compressed your virtual memory, but did so ineffectively.

      However VMWare currently advertises a similar feature.

      No, RAMDoubler at least had some effect, the scam was SoftRAM

      --
      Of course news about a fake are Fake News.
    20. Re:You mean that the placebo effect still works? by Jah-Wren+Ryel · · Score: 1

      I've never heard of DoubleRAM, so it can't be that big. The biggest software scam has to be anti-virus.

      It was called "RAM Doubler" - A-V is probably the longest lasting scam. but RAM Doubler burned very bright for a couple of years.

      --
      When information is power, privacy is freedom.
    21. Re:You mean that the placebo effect still works? by denzacar · · Score: 1

      In the case of the 'vortex' device you link to, the argument is essentially that ~$1 worth of stamped metal could markedly improve the performance and fuel economy of most vehicles without other notable modifications. Short of a full-scale Petroleum-industrial-complex coverup, why aren't these things being bolted on at the factory?

      Because Company/Lobby X paid them $$$ NOT to include thingamajig that would save you money by not buying the product X or by buying less of it - making less money for the Company X.

      It's all a part of the plan.

      --
      Mit der Dummheit kämpfen Götter selbst vergebens
    22. Re:You mean that the placebo effect still works? by bill_mcgonigle · · Score: 1

      I think you mean "RAMDoubler" which supposedly compressed your virtual memory, but did so ineffectively.

      my recollection is that it patched the Toolbox Memory Manager with a proper virtual memory system - giving OS9 shared pages, efficient swapping and some compression on the pages. It was done by the same folks who did the PC emulator and the various mags of the day saw very positive benchmark results ... why does everybody here seem to regard it as snake oil?

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    23. Re:You mean that the placebo effect still works? by tlhIngan · · Score: 1

      In the Android case, it's not like entropy related issues are news to linux users or hardware makers. Devices that do lots of crypto(ie. network gear designed to support a lot of VPN users, http load balancers designed to serve a lot of SSL sessions, etc.) are frequently provided with dedicated hardware RNGs precisely to prevent performance issues on entropy depletion. VIA's more recent CPUs come with an on-die hardware RNG, and you can buy assorted RNGs for various expansion busses if your applications require it.

      Intel CPUs have hardware RNGs as well. As do most ARM SoCs as part of their security accelerators.

      And some of these are pretty fast - a coworker of mine worked on one that generated about 20Mbits/sec of random bits in normal operation, and a special "double speed" mode that works at 40Mbits/sec (don't ask me why it's not on all the time). It takes a few seconds to start up from cold, but that just means the kernel starts it up and the by the time Android finishes booting, it's ready.

      Unless you're using a lame cheap Chinese ARM SoC, there should be no reason why the kernel entropy pool runs out - the kernel can be rather wasteful and still have a large entropy pool.

      And I've also learned there are apparently tests on how random an RNG is - NIST has a set of tests to analyze how random the output is and can tell you if there's a bias.

    24. Re: You mean that the placebo effect still works? by Anonymous Coward · · Score: 0

      This is not really related to the placebo effect, as that describes a scenario in which a real, objectively-measurable effect is produced. The subjective illusion of a reduction in lag is more like confirmation bias.

    25. Re:You mean that the placebo effect still works? by strikethree · · Score: 1

      In the case of the 'vortex' device you link to, the argument is essentially that ~$1 worth of stamped metal could markedly improve the performance and fuel economy of most vehicles without other notable modifications.

      What is even funnier is that the swirling effect is indeed effective against detonation in the cylinder and is ALREADY implemented as a "gouge" in the piston head.

      Here is an example:

      http://media.caranddriver.com/images/12q4/482258/2014-chevrolet-corvette-lt1-v-8-vvt-di-piston-head-assembly-photo-482395-s-1280x782.jpg

      My piston heads look different but you can get the idea.

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
    26. Re:You mean that the placebo effect still works? by tlhIngan · · Score: 1

      my recollection is that it patched the Toolbox Memory Manager with a proper virtual memory system - giving OS9 shared pages, efficient swapping and some compression on the pages. It was done by the same folks who did the PC emulator and the various mags of the day saw very positive benchmark results ... why does everybody here seem to regard it as snake oil?

      Because it sounded too good to be true.

      Thing is, the MacOS (classic) memory manager sucked. It was designed in an era where MMUs were optional and thus only allocated contiguous areas of RAM. You may have had 8MB of RAM free, but if it was fragmented, there was a chance you couldn't launch the program that needed 2MB, and things only got worse from there. (it's why there's two memory limits reported - the first was total ram, the second was largest free block).

      RAM Doubler was basically a rewritten memory manager that actually used the MMU and could handle fragmented memory, it also handled pagefiles much more effectively and a bunch of other things that we take for granted.

      Or think of it this way - when the PowerPC Macs first came out 20 years ago - people found out turning on swapfile was ESSENTIAL because it made the OS faster. On a 68K Mac you never turned it on because it killed performance. On a PowerMac, you did because it made the system faster.

      Heck, the RAMDoubler guys (Connectix, bought by Microsoft for the VirtualPC product which actually differs on Mac and Windows - they only share a name) mentioned it wasn't for increasing a too-little RAM situation so you can run a larger app like Photoshop, but so you could run multiple apps together - Photoshop AND something else AND other stuff at the same time. As long as each could fit in your Mac's RAM alone, RAMDoubler worked wonders.

    27. Re:You mean that the placebo effect still works? by Anonymous Coward · · Score: 0

      The exception to the rule:

      http://www.ambrosiasw.com/ambrosia_times/january_96/3.1HowTo.html

      The reason Connectix RAM Doubler for Mac wasn't scammy was that it was working around some of the badness of "classic" MacOS memory management. On an application level, memory allocation was static. Each running app had a fixed memory size and that was that -- if you wanted that app to have more, you had to quit the app, change its memory allocation in the Finder, then relaunch it. Classic MacOS didn't have a demand paged lazy-allocating VM, so any unused memory inside an app's partition was truly wasted.

      Connectix RD essentially jacked up MacOS and slid some VM features underneath, allowing the system to reclaim and use that wasted memory. I remember it actually working pretty well, for the most part. You could multitask more programs, and it also helped reduce the amount of juggling you had to do. (If you knew you occasionally needed to edit a huge document in Word, with RD you could just leave Word's allocation on a large value and not worry about it chewing up too much memory to run other programs.)

      Connectix was also responsible for a number of other interesting low-level hackery programs for Macs in the 1990s, like a significantly faster-than-factory 68000 CPU emulator for PowerMacs (called CPU Doubler IIRC), VirtualPC (eventually bought by Microsoft, killed as a Mac product, and ported to Windows to become Microsoft's VMWare competitor), and Virtual GameStation (a high quality PS1 emulator which Sony sued into oblivion).

      But yeah, usually a product claiming to double your RAM is a total scam. Operating systems badly in need of VM features to make more efficient use of available physical RAM resources are not the common case.

  4. First Post by Anonymous Coward · · Score: 5, Funny

    but sent using Android, so...

  5. article doesn't make sense. by darkHanzz · · Score: 5, Interesting

    The butter project was about latency with user interaction. The issues talks about /dev/random, which is totally unrelated.

    1. Re:article doesn't make sense. by sribe · · Score: 1

      The butter project was about latency with user interaction. The issues talks about /dev/random, which is totally unrelated.

      Well, you'd hope it was unrelated, but sometimes I'm no so sure ;-)

    2. Re:article doesn't make sense. by hey · · Score: 2

      Look at the first sentence of the linked page: The Linux entropy pool is frequently empty as Dalvik appears to always use /dev/random, which depletes the entropy pool and will block when the pool is empty. This blocking results in user perceived poor performance.

    3. Re:article doesn't make sense. by Nerdfest · · Score: 1

      I was under the impression that the fix did actually speed it up, but at the cost of battery life. You could have got effectively the same performance enhancement by changing the process scheduler to 'performance' rather than 'on demand'. As someone with an older phone running Cyanogen, I was hoping this fixed helped. My performance problems tend to be more memory related though as the older phones are quite short on RAM.

    4. Re:article doesn't make sense. by n30na · · Score: 2

      The original fix in question was feeding /dev/urandom into /dev/random because the entropy pool was running low and sometimes running out, which is what was causing ui hitching.

      Of course, it was actually just an old android bug that'd been fixed ages ago, iirc.

    5. Re:article doesn't make sense. by V!NCENT · · Score: 0

      man random gives: reading too much chunks of entropy will cause slow down for other users. Every app in Crapdroid is 'sandboxed' by creating a new user session per app.

      The evidence for why Android sucks, can be read in the internal emails, used in the Oracle Vs. Google "ahmygod they stole our APIs!" court case.

      --
      Here be signatures
    6. Re:article doesn't make sense. by thegarbz · · Score: 2

      Look at the first sentence of the linked page: The Linux entropy pool is frequently empty as Dalvik appears to always use /dev/random, which depletes the entropy pool and will block when the pool is empty. This blocking results in user perceived poor performance.

      The problem is that XDA-Developers seem to have attracted a lot of script kiddies who've done Java / C / Programming 101 and think that they know everything. Despite endless threads about this Google's own developers have come out said that Dalvik does not use /dev/random for anything.

      Better still none of the proposed fixes had any measurable improvement in performance except for one which quickly drained the battery (and likely kept the CPU awake at all times and running at full speed).

    7. Re:article doesn't make sense. by thegarbz · · Score: 1

      Which "fix"? There have been many proposed. The only ones with a measurable effect have been ones which caused battery issues. What these did were renew the entropy pool quite frequently and as a result the CPU never went to sleep. The effect it had was changing the CPU governor to always keep the device awake. No wonder that improved performance.

      This entire debatable has been nothing but one great placebo, and really at this point I think it actually reflects quite poorly on the XDA community who are full of people who should know better. Even Google's engineers came out and said there's no way entropy in /dev/random is causing the lag as /dev/random isn't used by Dalvik.

  6. We need more Linuses by Anonymous Coward · · Score: 0

    At least as a project leader, Linus tells people off when they go all hair-on-fire about some wingnut idea.

  7. the placebo effect by slew · · Score: 1

    Apparently, the placebo effect also works to cure percieved computer ailments...

    1. Re:the placebo effect by nomel · · Score: 1

      I don't get it. There were no numbers posted in the thread. This doesn't mean placebo, this just means there are no numbers posted. The claim that it's placebo has just as much foundation that it's not. Write a benchmark and test it, you could get exactly 2 minutes of fame.

  8. Re:Does it matter? by Anonymous Coward · · Score: 0, Troll

    Ah yes. I guess that's why Google desperately launched Project Butter to make Android smoother and less laggy. 'cause it doesn't lag, right?

    gSheeps. You gotta love them.

  9. Re:Does it matter? by sqlrob · · Score: 3, Interesting

    My Google Nexus tablet begs to differ with your assessment.

  10. Re:Does it matter? by jtownatpunk.net · · Score: 4, Interesting

    I've only been using Android since 2011 and my devices have never had any kind of lag. Maybe because I have Nexus devices that aren't encumbered by third party skins and interfaces.

  11. Beware of more of this stuff on XDA by Freggy · · Score: 4, Insightful

    The problem is that xda is full of this kind of crap. Kernels which disable fsync (libEAT-MY-DATA, anyone?), exotic I/O schedulers and CPU governors, overclocking processors and other hacks... Very often, they do not have any measurable effect, or even cause new problems, such as freezes, hangs, sleep of death,...

    1. Re:Beware of more of this stuff on XDA by AdamWill · · Score: 4, Informative

      yep, the place is cargo cult central. stick with builds of the major ROMs from affiliated devs, is my advice. Run like hell from the threads which are kangs of those builds with some kid's AWESOME BLACK THEME and a bunch of kernel patches he picked up somewhere.

    2. Re:Beware of more of this stuff on XDA by Anonymous Coward · · Score: 3, Insightful

      The funny thing is those dweebs spill out onto the general internet and tell everyone they need to hack their phones.

      Then you read a 45 page thread only to find that their wicked sweet ROMz don't support the camera and give the phone 30 minutes battery life. Gee thanks, Melvin.

    3. Re:Beware of more of this stuff on XDA by Rich0 · · Score: 1

      Honestly, the one thing that I wish people/groups would bother to do (both major and minor) is publish build instructions. Not just a link to some repository that doesn't actually work without a bunch of overlays (not mentioned anywhere) - actual build instructions. By all means start with step one being set up pre-reqs as documented on the AOSP page and all that, but give a series of steps that actually gives you a repository identical to what was used to post the ROM (including all configuration), and build it.

      If I want to rebuild Ubuntu or Debian from source I'll have no trouble finding detailed docs on how to do this. AOSP does a reasonable job with this, though they don't actually have build instructions for any Nexus phone that is still being manufactured (a MAJOR omission if you ask me, and the fact that the Nexus 4 is STILL unsupported is a bit of a tarnish on the brand). Cyanogenmod has this for SOME of their phones, but it seems like it takes them 6-12 months after they start publishing nightly build to follow through. Heck, if they just published whatever scripts they're using to autobuild the nightlies that would at least be deterministic.

      It just seems like nobody really embraces the community mentality in the Android world. It is almost an afterthought.

  12. when did you stop beating your wife? by terec · · Score: 0, Troll

    Slow phones are slow, fast ones are fast, and occasionally things stick on Android, but no more than on comparably priced hardware using "the other" platform. You know, the platform whose fanbois try to smear Android by placing stories about supposed fixes for supposed problems on Android.

    1. Re:when did you stop beating your wife? by Anonymous Coward · · Score: 1

      hurr durr, yes this is all an Apple 'fanboi' conspiracy.

    2. Re:when did you stop beating your wife? by Anonymous Coward · · Score: 0

      yes, it is

    3. Re:when did you stop beating your wife? by priceslasher · · Score: 1

      There is indeed a plethora of android devices making them difficult to compare meaningfully. http://en.wikipedia.org/wiki/Comparison_of_Android_devices

    4. Re:when did you stop beating your wife? by BasilBrush · · Score: 1

      Slow phones are slow, fast ones are fast, and occasionally things stick on Android, but no more than on comparably priced hardware using "the other" platform.

      A statement for which you have no evidence. But you say it hoping it's true.

    5. Re:when did you stop beating your wife? by terec · · Score: 1

      A statement for which you have no evidence. But you say it hoping it's true.

      No, I say it based on my iPod and my Galaxy S3.

  13. Re:Does it matter? by Anonymous Coward · · Score: 1

    Yeah, since Android 2.1 I haven't got any lag on my Android phones and I have used from 107€ to 370€ smartphones (those are retail prices without contract and CPU was from ARM6 600Mhz to 1.2Ghz ARM7 etc).
    Only problem what was between 2.1 and 2.3 (2.1 & 2.2) was that it could take 1-2 seconds to cold start a application but then it was fast.

    And now when I have upgraded to 4.1 (on 2.1 phone) I have got only more speed and more nice animations.
    The results of "Project Butter" was noticeable when I scrolled lots of different animations on webpage, but problem was not a lag, but the frame drops what the project fixed.

    Lag = non existed
    Frame dropping = rare cases before 4.1

  14. Re:Does it matter? by poetmatt · · Score: 1

    And? My google nexus tablet begs to differ with your assessment, you insensitive clod!

    no really - mine runs quite smooth, even if battery life went to crap after the latest patch.

  15. Re:Does it matter? by Lussarn · · Score: 2

    I believe I stated modern. I would have no problem to tell you if my Nexus 7 or HOX lag, but they don't... I'm sure you can dig up a case where they lag, but normaly, they are fluid.

  16. Re:Does it matter? by Noughmad · · Score: 0

    The point of all such projects is purely PR. Google had to look like they were doing something about it.

    --
    PlusFive Slashdot reader for Android. Can post comments.
  17. Re:Does it matter? by Anonymous Coward · · Score: 0

    Which was not the source of the lag. The lag was endemic to Android itself.

  18. Re:Does it matter? by sqlrob · · Score: 1

    Links coming up in Chrome from external apps are slow as heck. Once Chrome starts it's fine, but it just sits there. *Tap* 5-6 seconds, then Chrome.

    Haven't noticed anything about battery life, although I had previously disabled Currents, which is the supposed cause.

  19. The only placebo I need by mykie242 · · Score: 0
  20. It's InfoWorld by Anonymous Coward · · Score: 0

    Remember these are the guys who cant even understand what their laptop AV software is reporting.

  21. Just finished reading the whole thread by godrik · · Score: 3, Interesting

    There are a lot of comments on the bug report page. Clearly this is not a dalvik bug since dalvik does not use the /dev/random. But the other commentatros are still unsure that there might not be some issue in how randomness is generated in android from user input, which might induce lag.
    Right now, some folks still investigate.

    1. Re:Just finished reading the whole thread by Anonymous Coward · · Score: 1

      Yep, it seems the jury is still out on whether this is a real bug or placebo. Too early to call it. The trolls on each side are in full effect though, and nobody seems willing to do any real empirical testing.

  22. Well yeah... by kiriath · · Score: 2, Insightful

    Because you can't fix stupid.

  23. Hey, RAMdoubler worked for Johnny Mnemonic by billstewart · · Score: 1

    Ok, it only works if you've got a cybernetic dolphin who can use SQUIDs to read you brain, but you could still become a very technical boy...

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  24. Re:Does it matter? by nxtw · · Score: 4, Interesting

    I can only speak for the Galaxy Tab 2 7.0, but modern Android devices are faster in part because of software performance improvements. Android 4.1 and 4.2 both have performance improvements, and upgrading the Tab 2 from the 4.0 it came with to 4.1 or 4.2 makes the OS visibly faster. The Nexus 7 comes with Jelly Bean (can't recall if 4.1 or 4.2 out of the box), so everything is fast to begin with.

    In this way, Android is similar to Mac OS X - initial releases were rather slow, and subsequent versions (10.1, 10.2, maybe 10.3) were faster simply because there was a lot of easy optimization work to be done.

    As an iOS user I didn't really like Android until Jelly Bean.

  25. Jury is still out by CNeb96 · · Score: 2

    >> "didn't actually speed Android up."

    If you actually read the bug mentioned in the summary - most devs are arguing that explanations about why the fixes work don't make sense in terms of Dalvik (java) that the android bug was filed against - not that it doesn't improve latency or that it doesn't work or there isn't a lower level issue. One developer https://code.google.com/p/android/issues/detail?id=42265#c162 (sorry I don't know enough about android to know if he is part of the core team or not) - is doing testing to measure results of a patch from the mainline linux kernel https://patchwork.kernel.org/patch/1745611/ plus some re-arranging of the android code to see if he has found a lower level solution.

  26. Re:Does it matter? by nyctopterus · · Score: 1

    All touch devices have lag, including iOS, and it's significant. Anyone that's tried to draw using these devices knows this. Check this out: http://www.engadget.com/2012/03/10/microsoft-cuts-touchscreen-lag-to-1ms/

  27. Looks like a real bug to me by loufoque · · Score: 1

    This looks like a real bug to me.
    The problem is that many apps use /dev/random instead of /dev/urandom, which of course causes them to be unnecessarily slow.

    A "hack" was to make /dev/random behave like /dev/urandom, but it's not clean, which is why it's not done in the official version.

  28. Re:Does it matter? by Mathematiker · · Score: 3, Interesting

    This might be related to chrome.

    Maybe you want to try firefox for android - it works quite well for me. If it turns out to be faster, it's still google's fault, but then you know the chrome guys are responsible, and not the android guys...

  29. The jury seems still out on this by DeathToBill · · Score: 3, Interesting

    Having slogged through the linked discussion, there is no conclusion either way whether this effect is real or not. There are several theories on mechanisms that could cause an increase in responsiveness, but no conclusion. The most plausible seems to be that when the entropy pool is near empty, each input event causes a context switch as it is used to refill the entropy pool. Slower input handling obviously leads to poor responsiveness.

    The summary seems to just be random android-bashing.

    --
    Slashdot - News for Nerds, Stuff that Matters, in ISO-8859-1 Has just realised that beta makes this signature redundant
    1. Re:The jury seems still out on this by Tablizer · · Score: 1

      The summary seems to just be random android-bashing.

      Nice pun

  30. Re:Does it matter? by beelsebob · · Score: 0

    If it didn't exist, then why the need to do something about it, or look like they were doing so?

  31. Don't ever write one yourself by billstewart · · Score: 2

    Bad crypto can cause you no end of trouble. There are people out there who know what they're doing who've written PRNG systems in the general direction that you're talking about, but understand what to do and not do in the designs. Some of it's pretty subtle, like only bringing in new entropy in big chunks rather than trickling it in, and knowing what crypto algorithms work well for applications like this and what don't. And some of it's tuning.

    Go read the "/dev/urandom" Wikipedia page. If you need Yarrow, use it.

    The general speculation is that something in Android is using /dev/random when it would probably be ok with /dev/urandom, but nobody's sure quite what. Google Maps was mentioned; maybe it's using https to fetch map segments or something?

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
    1. Re:Don't ever write one yourself by mlts · · Score: 1

      This is good reading. There is good reason why people don't invent the wheel with cryptographic protocols.

      Maybe it is time for a patch to the Linux kernel to make /dev/urandom non-blocking as well?

    2. Re:Don't ever write one yourself by Anonymous Coward · · Score: 0

      Stream ciphers are nothing more than PRNGs XORed to the plaintext. So just use RC4 to get proper random numbers. If you are paranoid, drop the first 50000 bytes.

      For all the bitching about "RC4 weaknesses" it has not been broken at this point. Then, you can convert any block cipher easily into a stream cipher. For all the bitching and whining about "statistical imbalances", a strong cipher is automatically a strong PRNG. That's all.

    3. Re:Don't ever write one yourself by billstewart · · Score: 1

      RC4 stream cyphers get broken all the time. The problem isn't the RC4 - it's using the stream cypher carelessly, for instance restarting a stream from a known point with different data. (That's one of the half-dozen things that killed PPTP, for instance.)

      --

      Bill Stewart
      New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  32. Its like a train wreck... by Luthair · · Score: 2

    Reading that bug report makes me incredibly glad that I've only worked on open source developer tools, if the comments on that bug report are typical I imagine Google must have high turn-over of developers on the project.

  33. Re:Does it matter? by XaXXon · · Score: 1, Insightful

    If you've used an apple device then an android device, you realize how slow android is. It's not terrible, but it greatly diminishes the user experience because the screen isn't glued to your finger.

  34. Confirmation bias! by Anonymous Coward · · Score: 0

    I think confirmation bias can easily kick in in a situation where the problem is intermittent or hard to discern.

    If the platform only sometimes lags, it is easy to take the non-lagging episodes when the system is functioning well as confirmation of the nonexistent fix, and write off the lagging episodes as remaining issues that are not yet addressed.

    If the system had had consistently bad response to every event, then a non-fix would not be accepted so easily.

    1. Re:Confirmation bias! by Flipao · · Score: 1

      The lag was always obvious all the way up until ICS, where they introduced proper hardware acceleration for the UI (i.e. actually using triangles to render UI elements), however it was still not quite as good as it was on other platforms, they addressed this on Jelly Bean and the difference is pretty obvious to anyone who's used the same device on both versions.

      http://www.youtube.com/watch?v=V5E5revikUU

  35. Re:Does it matter? by Alomex · · Score: 4, Interesting

    but modern Android devices are faster in part because of software performance improvements.

    Historically you can always get more performance improvements out of software than hardware. Software improvements of 100x on bottlenecks are not uncommon (Google for example has made a ton of them in search, http, maps, etc). This is the same as running on hardware that is five or six generations in the future.

    The classic quote is that primality testing has benefited more from better algorithms than from 40 years of Moore's law.

  36. Re:Does it matter? by BitZtream · · Score: 2, Interesting

    Bullshit fanboy.

    Even the Nexus 7 lags. I'll buy that you don't' notice it, but it most certainly does. I've had and returned two Nexus 7s hoping to find the lag had been fixed, but it hasn't.

    Part of the issue is the way apps are written rather than the OS at this point I think. The play store is a prime example of visible lag that exists due to a poor app design.

    Scroll through the play store on a nexus 7 device quickly and it'll scroll fine then stop cold in its tracks, which a sliver at the bottom of the screen saying 'loading' or something to that effect. Technically its not lagging, but it sure as hell FEELS that way. The simple solution is to get a total count at the start, then calculate how far you can scroll total and not stop scrolling to display the loading screen, just scroll into blank space.

    This scrolling into black space and loading later is what you'll find on Apple written apps for iOS and is why iOS doesn't get the same perception.

    Yes, I'm an iOS fanboy, but I've TRIED to be a Android fan and I just can't do it. Put them side by side and the built in Apps on iOS will feel far better than those built into Android. Actual performance is irrelevant. How they feel matters.

    The only people I know that say Android isn't laggy are people who don't use iOS devices. If you have nothing to compare with, you just don't notice.

    Yes, 4.1 is smoother than 4.0, Yes, 4.2 is smoother than 4.1. But the apps need worked now that the OS isn't as bad as it once was. I've seen Android apps that don't lag, but the default ones due. Chrome has the same sort of shitty lag when scrolling, where mobile Safari doesn't.

    Perception is far more important than reality when it comes to user interface. Another thing as an iOS user that makes Android 'feel' laggy is the lack of rubber banding on scroll. Yes, the Nexus 7 has the blue glowy thing when you try to scroll past the end, but again as an iOS user, it feels like lag to me as the blue glowy isn't all that noticeable compared to the rubber banding. Yes, I understand Android previously couldnt' do rubber banding due to patent issues, but my point is that while Android may not ACTUALLY be laggy, it still is perceived as such due to the UI.

    You can deny the perception, but it doesn't change it to most people and it will certainly remain one of those things that you're going to hear from iOS users until it changes.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  37. Re:Does it matter? by BitZtream · · Score: 4, Interesting

    Or you just don't notice it.

    I find that anyone used to an iOS device can pick up a Nexus 7 and notice the lag.

    If all you use is Android devices, you probably don't notice.

    Its not actual lag so much as poor UI choices that are perceived as lag at this point in my opinion, but I most certainly can 'feel' the lag.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  38. Re:Does it matter? by Xenna · · Score: 3, Informative

    Possibly. I never had a 'nexus', just the basic Samsung stuff. One problem that I noticed is when running 'drum kit' apps. I have tried some on my Android phone and several on my iPad (1st generation). On the iPad the drums react almost instantaneously. On the androids there's a noticable (and fatal) delay.

    Did you ever try anything like that on you nexuses?

  39. Re:Does it matter? by Anonymous Coward · · Score: 0

    I have a Galaxy Nexus and I notice the lag mostly when browsing the web.

  40. Did you even read the thread you linked to? by buser · · Score: 5, Informative

    Apparently the OP didn't read the thread he alleges disproves the performance increase. There is actually a very lively discussion going on about it, and while there's a general agreement that it's not as simple as the /dev/random pool getting depleted, there is some evidence that it is related to locking in the UI (see comment 162).

    1. Re:Did you even read the thread you linked to? by Flipao · · Score: 1, Flamebait

      The OP is simply yet another MS shill trying to spread the usual FUD.

      Speaking from personal experience I own an Ipad 2 and a Nexus 4, the UI in the iPad 2 is smooth as silk as usual, the UI in the Nexus 4 is even better in terms of speed and responsiveness. Switching between applications is seamless and the UI will not drop a single frame.

      The user experience in Android was lacking until Matias Duarte took over the UI, in modern phones it's as good if not better than anything on the market, period.

  41. Re:Does it matter? by Anonymous Coward · · Score: 1

    Especially when there can be situations where if someone taxes an iPhone enough it'll show occasional stutters or quirks as well, especially when using third party applications. It's a comparison to a nonexistent ideal that is assumed to be true of iOS, and is all the more noticeable when using a past-gen iDevice using the more modern OS versions. My 4 lags regularly even within Apple's in-house crafted applications. Jelly Bean on older hardware is, shocker, the same way. There's optimizations which can be made but there'll almost certainly always be examples of lag or stuttering or UI quirks on any platform.

  42. So remove something that is not there by Anonymous Coward · · Score: 0

    Typical uneducated dumbdroid. Don't even know what he/she is using.

  43. Re:Does it matter? by Xenna · · Score: 4, Interesting

    I like to try drum kit apps ( I have kids ). But on my Android phone there's a perceivable (and intolerable) lag when you tap the drums with all the apps I tried. On iOS (1st gen iPad) they're all nearly instantaneous.

    Ever try anything like that?

    Don't get me wrong, I'm not an Apple fan, I'd like Android to win, but not by closing my eyes for its faults.

  44. Sometimes it *IS* that easy. by Anonymous Coward · · Score: 0

    http://finance.yahoo.com/news/southwest-orders-more-mileage-stretching-222419202.html

  45. Re:Does it matter? by ozydingo · · Score: 1

    Interesting research, seemingly terrible reporting by Engadget. Seems to me that MS did not "[cut] touchscreen lag to 1ms", they simply demonstrated via a test device (which appears to be projecting light from above) what different amounts of lag look / feel like.

  46. Re:Does it matter? by jedidiah · · Score: 1

    They have to address all the trolls.

    Otherwise they look like they don't give a damn about the end user. Most companies in a free market have to wory about that sort of thing. (pissing off customers)

    --
    A Pirate and a Puritan look the same on a balance sheet.
  47. Re:Does it matter? by jedidiah · · Score: 0, Flamebait

    > I find that anyone used to an iOS device can pick up a Nexus 7 and notice the lag.

    I find that you're full of shit. We're people that were used to PhoneOS devices and then defected to Android devices. I was actually a little surprised how quickly the non-geek iFan in the household took to Android.

    I figured that "ecosystem" would at least hold her back.

    "lag" has never been an issue.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  48. Re:Does it matter? by Anonymous Coward · · Score: 0

    A lot of people (like me) would say you are wrong about the Nexus 7. Once we got 4.2.1, they got slow and laggy again. Supposedly there is a fix in the works. But there are lots of threads on it - so it is not just an anecdote. Here's a link to one of the bug reports with a little over 100 people saying they have it too: http://code.google.com/p/android/issues/detail?id=39737. So something is causing that. I've actually been dismayed by how slow my 32 GB Nexus 7 got after the latest updates. I still like the device a lot, but it can be frustrating sometimes waiting for the screen to draw or waiting to turn a page when reading a book on it.

  49. Re:Does it matter? by Anonymous Coward · · Score: 1

    You are correct - however, I'm not sure if it's android issue of a hardware issue. I remember something like windows doesn't have any 0lag drivers, but linux did, but yiou had to use jax or something, not alsa. OSX has 0 latency and is great for musicians.
    I wish someone else will come in here and state something like: yes, its software, lets build a new kernal for your android phone, or no its the hardware, buy this phone over here, it has no latency.

  50. There are four things that make Android laggy by Miamicanes · · Score: 5, Interesting

    There are basically four things that make Android laggy. The good news is that most of them can be overcome by user-modified firmware. The bad news is that manufacturers and Google are unlikely to ever fix them directly, because it would increase the manufacturing cost of phones by a few cents.

    ONE: KILL-VS-SWAP

    Android's normal behaviour is to aggressively kill activities and suspended background tasks, then respawn them from scratch when brought back into the foreground or reactivated. The LINUX (and Windows) norm is to simply quit giving them CPU cycles, stash their state into swap space on the hard drive, and resurrect them later.

    One reason why this is done is because Android devices, while not necessarily STARVING for flash, don't have it in quite the abundance that a normal computer has hard drive space. There are also concerns about prematurely wearing out flash. The problem is that flash rewrite life estimates are based upon general use of the entire block of memory... but a swap partition gets created in a specific chunk of flash, and that one tiny chunk gets relentlessly hammered. If your erase-rewrite activity gets spread across the whole flash, it would usually take months of active efforts to be destructive before you really caused damage. However, if you create a 256mb swap partition and hammer it relentlessly, you can permanently damage it in a weekend. For this reason, few at XDA will advocate ever using internal flash for swap.

    That brings up catch #2... if you swap to microSD (because it's cheaply replaceable should you end up damaging it), you really need class 6 or better. Swapping to class 2 flash will leave you running more slowly than if you left Android to its default behavior. Guess what class of flash invariably comes with the free microSD card shipped with the phone? Class 2.

    Making matters worse, the users in the best position to experiment with swap enhancements are Nexus owners. Unfortunately, Google has this near-religious aversion to microSD, and I don't think any Nexus device since the original Nexus One has shipped with a microSD slot. All that said, if you have a rooted and reflashed Android phone with class 6-10 microSD that has a swap partition and a custom ROM that uses it, you MIGHT see a big reduction in lag if you frequently run apps that have "expensive" startup costs (ie, apps that always begin by trying to make a http request to somewhere, or generate cryptographically-secure random numbers, etc).

    TWO: DISDAIN FOR 2D GPU ACCELERATION

    Historically, Android hasn't done a good job of putting 2D acceleration to good use ICS was a step forward, but you can't help but feel like the GPU support is more symbolic, half-assed, and buried under 400 abstraction layers that fritter away most of its potential. At least, for simple and straightforward "scroll and/or pan the viewport across a large virtual bitmap" type operations.

    Compounding the problem is Android's architectural bias towards generating content on the fly, instead of generating humongous virtual bitmaps and keeping them available for instant viewport rendering.

    THREE: ANDROID'S MEMORY-MANAGEMENT SUCKS

    Building upon 2, and being completely blunt... Dalvik's memory-management totally fucking sucks compared to Java's. ESPECIALLY the way it handles short-lived objects that get repeatedly created in large numbers, and discarded almost immediately.

    I dare anyone to disagree. Half the Android API bends over backwards to tiptoe around Android's shitty heap-management by trying to avoid creating and discarding objects for use as short-lived containers.

    No, don't give me crap about mobile devices having limited resources compared to desktop computers. That's bullshit, and everyone knows it. Java mostly solved the worst of its memory-management problems around 1.5. Compare the specs of a high-end laptop circa ~2002 with the specs of a Galaxy S3, and arguments about Android devices being "severely resource limited" just kind of fall on the ground and thrash aroun

    1. Re:There are four things that make Android laggy by Anonymous Coward · · Score: 1

      The Android kernel multitasking kernel doesn't behave that way.

      On minimizing to background, it keeps the task in memory until the OS begins to require more. On low RAM devices, it might seem like Kill-always but it's definitely not the case. You can see this clearly when you quickly step out of an application to say, answer a text message. The messaging application doesn't take much RAM, and as such, probably doesn't need to kill the original application. This multitasking method is largely copied by i devices, with the exception of instead of asking applications to shut down, the application MUST suspend when backgrounded.

      Most of your argument also doesn't include the "battery life" aspect (like the set up and tear down of objects). The more stuff you do, the faster the battery discharges. Even creating one large object or loading one list in it's entirety in the core OS could drain the battery like there's no tomorrow if it's executed repeatedly.

    2. Re:There are four things that make Android laggy by Anonymous Coward · · Score: 1

      I dare anyone to disagree. Half the Android API bends over backwards to tiptoe around Android's shitty heap-management by trying to avoid creating and discarding objects for use as short-lived containers.[..](more about scrolling lag)

      But that's how the iOS API is designed too, you have a reusable identifier for disposed cells. In fact, the only best thing you can do at that point is to flatten your cell drawing into a single unrolled function call. This is advised on iOS, and the only thing I've found most Android apps lack implementling.

      True story: Coming from iOS I implemented my first Android scolling table and moaned and grinned about how shitty the performance was on a simple table scrolling where I implemented even custom drawing. After two days of curses I happened to try the app without eclipse being connected and it was butter smooth. Yep, big facepalm, eclipse debugging sucks the life out of your performance, yet I had been trying to optimize that scenario. Imagine my surprise when I later found out my app was more smooth/responsive that the Google Play store... it's really discouraging how big companies release shit software, just like iOS 6's app store, laggy, buggy, doesn't cache stuff and crashes.

      I don't understand how with so much money to waste they can't hire at least one competent developer who cares for user experience.

    3. Re:There are four things that make Android laggy by Anonymous Coward · · Score: 0

      I dare anyone to disagree. Half the Android API bends over backwards to tiptoe around Android's shitty heap-management by trying to avoid creating and discarding objects for use as short-lived containers.[..](more about scrolling lag)

      But that's how the iOS API is designed too, you have a reusable identifier for disposed cells. In fact, the only best thing you can do at that point is to flatten your cell drawing into a single unrolled function call. This is advised on iOS

      Firstly, that is how the iOS API is designed to work ONLY for UITableView or UICollectionViews and not for more fundamental objects - not like the Android API where it's everywhere. And iOS provides API to minimise the construction of the (possibly short-lived) objects (e.g. UINib or a Storyboard UITableView) to help developers to get to a 60 frames per second UI.

      Secondly, it is NOT advised to flatten your cell-drawing into a single unrolled function call (i.e. drawRect: ) because this is NOT guaranteed to give a better performance than using API designed to speed up the UITableView/UICollectionView (e.g. UINib again or ensuring no transparent PNGs are used etc...). Again, the simulator and Instruments provide debugging tools to assist in speeding up your interface or code. In fact, if you go direct to drawRect: then you are performing premature optimisation. You should only use drawRect: when ALL other options have failed - and it may still not be faster.

      As an example, all the following methods (and there are more that can speed up your UITableView / UICollectionView enormously without the massive and unwieldy effort of using drawRect:):

      1. Cache the height of the rows (the table view can request this frequently) or simply hardcode in IB if known
      2. Create a least-recently-used cache for the images used in the table (and invalidate all the inactive entries when you receive a memory warning)
      3. Use images of an appropriate size (downscaling images on the fly is expensive especially for large images)
      4. Make your UITableViewCell's layer opaque (same goes for the content view if you have one and this also applies to a UICollectionView)
      5. Use the dequeueReusableCell functionality as recommended by the examples/documentation
      6. If using Nibs, use the UINib caching functionality (or, more simply, the Storyboard with custom cells)
      7. Avoid gradients/complicated graphical effects that aren't pre-baked into UIImages

      Finally, if you have no other option, test if drawing everything in the UITableViewCell's drawRect: makes the scrolling quicker at the expense of maintainability.

    4. Re:There are four things that make Android laggy by Anonymous Coward · · Score: 1

      ...or you can buy an iPhone and save yourself time and trouble.

    5. Re:There are four things that make Android laggy by Solandri · · Score: 5, Interesting

      That brings up catch #2... if you swap to microSD (because it's cheaply replaceable should you end up damaging it), you really need class 6 or better. Swapping to class 2 flash will leave you running more slowly than if you left Android to its default behavior. Guess what class of flash invariably comes with the free microSD card shipped with the phone? Class 2.

      This is a common misconception. The class of the SD card is a rating for sequential write speed, nothing more. It's important for cameras and camcorders - in fact it was developed for camcorders because some memory cards simply couldn't write the video data as quickly as the device was sending it to the card.

      For an Android device you're more interested in its 4k random read/write performance. It's basically a computer reading/writing lots of small files, so it'll be most impacted by 4k read/write speeds.

      As it turns out, manufacturers can tune a flash card for a certain type of performance. If you tune it for faster sequential speeds, random speeds suffer. Likewise if you tune it for random speed, sequential speeds suffer. The class 10 cards I've benchmarked typically hit 10-20 MB/s on sequential writes, but will bog down to as slow as 0.004 MB/s on random writes (yes, 4 kB/s - it was the card I bought before I learned all this. It took 4 hours to copy 4 GB of sheet music and MP3s to that class 10 card - a blissful 0.28 MB/s). Here are the CrystalDiskMark scores I got for a 32 GB class 4 card I have:

      seq: 22.9 MB/s read, 4.3 MB/s write
      512k: 22.0 MB/s read, 1.3 MB/s write
      4k: 3.3 MB/s read, 1.3 MB/s write

      Yikes! Only 4.3 MB/s write speed. Who would ever want that? Well look at the benchmarks for a 16 GB class 10 card I have:

      seq: 21.8 MB/s read, 12.0 MB/s write
      512k: 21.5 MB/s read, 0.9 MB/s write
      4k: 5.7 MB/s read, 0.008 MB/s write (not a typo)

      So yeah it's 3x faster at sequential writes. But it's slower at 512k writes, and more than 160x slower at 4k writes. It's definitely a very bad choice for an Android device despite being class 10.

      The sweet spot for Android is around class 4 or 6. That gets you good 4k write speeds without punishingly poor sequential write speeds (which are important if you're doing something like copying a movie to the card). That said, not all cards are created equal. The "class 2" Samsung card which came with my phone is hands down the best card I've tested overall. It peaked at 11 MB/s sequential writes (meaning it could've been rated class 10), while 4k random writes were still above 1 MB/s. Sandisk is another company which seems to underrate their cards (and their class 10 cards have better if not stellar 4k random write speeds), which is why they're usually highly recommended for Android devices.

      tl;dr - You want a class 4 or 6 card, or a good class 2 card for your Android device. Not a class 10 card.

    6. Re:There are four things that make Android laggy by kryps · · Score: 2

      There are lots of other issues. Two examples:

      A) The Dalvik JIT is stone-age technology compared to modern JITs. We are not even talking about profile-guided optimization like the HotSpot VM does. No, it does not even inline getters or setters,

      B) The GPU acceleration layer sucks even worse than you think. For example it requires the app to emit display lists for all graphical objects without allowing you to clip those objects first. That means if you have a huge number of objects (say an editor with thousands of lines of text) all have to be created and passed to the rendering layer.

    7. Re:There are four things that make Android laggy by dcl · · Score: 1

      This explains A LOT. My apps are extremely laggy when using A2SD on my HTC Desire with a class 10 SD card.

    8. Re:There are four things that make Android laggy by ShakaUVM · · Score: 1

      So when I click to dial someone on my DroidX, and I can fast count to 20 before the phone connection screen even launches, which of the four problems above do you think it is? I'll experiment with your solutions (does CyanogenMod help?), but I'm curious what you think the main culprit is with something as simple as calling - or worse, answering - using the default phone app.

    9. Re:There are four things that make Android laggy by fa2k · · Score: 1

      FOUR: ANDROID'S DEFAULT CPU GOVERNORS MAKE AN ANNOYING PROBLEM INTOLERABLE

      This is very interesting, as almost all desktop computers use ondemand too. My old CPU was a Phenom II quad core at 3400 MHz and it was noticeably slower on "ondemand" for interactive stuff. I ended up writing a script to pin it at performance, and switch to ondemand when the screen saver was on. Now I'm using a Xeon and I haven't noticed any difference. The Xeon only clocks down to 1600 MHz, while the AMD went all the way down to 800 MHz.

      I wonder why the "interactive" governor isn't available on my desktop. I would happily trade a little power use on my desktop for better responsiveness. I'm worried the the "turbo" mode for the Intel CPU will not work if all cores are running at nominal speed alt he time, but then again I don't think turbo works (now) without some tweaking anyway. There are also some tunable parameters to ondemand, maybe it's tuned worse for Android and that's why people care more.

    10. Re:There are four things that make Android laggy by gTsiros · · Score: 1

      you reach a concluding advice while ignoring the very thing you yourself said: class is for seq writes.

      which means that if you write many small things in your card, you need a class 4. However, what if you need your card to write large files?

      of my 32GB card in my arc, 28GB are FLAC and the rest is mostly empty (perhaps 10 photographs at most, far *far* less than even 1GB)

      so your idea of using a class 4 (which i did, the 32GB it came with was class 4) would be torture for me when i update its library.

      think again.

      --
      Looking for people to chat about multicopters, coding, music. skype: gtsiros
    11. Re:There are four things that make Android laggy by Paul+Slocum · · Score: 1

      Android audio also has unusually high latency, adding to the perception of lag. I'm an iOS music app programmer, and many audio developers have tried to get low-latency audio working on Android, but I've yet to find anyone who has succeeded.

    12. Re:There are four things that make Android laggy by fa2k · · Score: 1

      Just a correction: turbo mode happens automatically. Here's a good program to see the real frequency.

    13. Re:There are four things that make Android laggy by BasilBrush · · Score: 1

      I don't know about the rest of your post, but this is nonsense:

      There are also concerns about prematurely wearing out flash. The problem is that flash rewrite life estimates are based upon general use of the entire block of memory... but a swap partition gets created in a specific chunk of flash, and that one tiny chunk gets relentlessly hammered.

      Flash does not work like a hard disk. Flash has wear leveling, and it works at the block level. Ever time a block is written to, it uses a different physical block in the flash. Regardless of wether the block happens to be part of a swap file or any other kind of file. "One tiny chunk" never gets "hammered".

    14. Re:There are four things that make Android laggy by Anonymous Coward · · Score: 0

      tl;dr - You want a class 4 or 6 card, or a good class 2 card for your Android device. Not a class 10 card.

      Does Android reformat the cards for a FS other than FAT32? This can make a difference: I've observed class 10 SD cards becoming horribly slow on OS X when I formatted them with a HFS+ FS, then recovering performance when I formatted back to FAT32. The embedded controllers in flash cards tend to have special case optimizations for FAT32 (and these days, probably ExFAT too), and no attempt at optimizing for other filesystems.

      (This is likely all about compensating for the physical erase block sizes of typical NAND flash memory, which are very large compared to typical 4K FS blocks. Real SSDs have complex controllers which deliver good aligned 4K block performance despite the mismatch. Some go further and target good 512-byte block (1-sector) performance, with no alignment restrictions on 4K blocks. However, SD/MMC/CF cards don't have controllers as sophisticated as that, and I think they're taking shortcuts by being aware of exactly how FAT handles allocation. Also, IIRC, large filesystems on FAT have allocation unit sizes much larger than 4K, which probably helps.)

    15. Re:There are four things that make Android laggy by Anonymous Coward · · Score: 0

      Flash does not work like a hard disk. Flash has wear leveling, and it works at the block level.

      The bolded text is not quite correct. The flash media itself has no wear leveling. The controller it's paired with does.

      Am I nitpicking? Perhaps, but the fact that leveling is implemented in complex firmware running on a moderately fast embedded RISC core means there's lots of ways to do it badly. I'd put a lot more confidence in SSDs (or the built-in eMMC in a reasonably high quality phone) than SD cards. Especially for random write workloads. SD cards are cheap and mostly tested for use as camera media, where they will almost always be written to in large sequential chunks. Count on shortcuts being taken. (I wouldn't be surprised at all if some SD cards etc don't have real wear leveling, just a spare sector pool much like a hard drive. That's probably good enough for camera use in most cases...)

      (One rough evaluation technique: test random write performance, compare to sequential on the same card, try to choose cards where the random penalty is minimized. Wear leveling algorithms write more data to media than the nominal request (aka write amplification), because otherwise you can't wear level, and the worst case is small blocks written to random addresses. SSD firmware designers try to minimize amplification, both to improve write performance and extend media life. Slow random write performance relative to sequential write performance on the same card tends to imply high amplification.)

    16. Re:There are four things that make Android laggy by Zebedeu · · Score: 1

      Who modded this up? This reads like a collection of every snake-oil "fix" plaguing xda.

      ONE: KILL-VS-SWAP

      Swapping, besides the problem of wearing out flash that you pointed out (but strangely dismissed as not being a problem to ruin user's flash memory even if it's replaceable - even desktop OS's tend to disable swapping on SSDs), is also slower and more energy consuming.
      Actually, the effect of swapping would be that you'd get lag in your current application as your device realizes it needs to free up memory and initiates swapping instead of instantly dropping the other app.

      Swapping only really helps re-opening an app faster, but the official recommendation here is that 1) apps start quickly (the dev environment will warn you if your app is doing too much work at launch) and 2) save its state when unloaded from memory and recover.
      Unfortunately, many app devs suck, which will be a theme for the following points.

      TWO: DISDAIN FOR 2D GPU ACCELERATION

      True that GPU acceleration came way too late in the game. There is no disdain however, there's only the fact that having a diverse universe of possible architectures forces the APIs to remain more abstract. This is also true of desktop OS' though, so not really a problem (and the newer Android devices certainly render as smooth as any other device).

      I'm not even sure what you mean by architectural bias to rendering content on the fly.
      True that this happens in the Google Maps app and in the browser (and webview), and I wish they'd fix it, but for lists and every other view container, the architectural design is to reuse the views as much as possible.
      In fact, the API even gives you a cached view and handles the cache for you automatically, so you only have to add a few lines of code to take advantage of it.
      Problem is, again, that many app developers are crap.

      THREE: ANDROID'S MEMORY-MANAGEMENT SUCKS

      Allocations are expensive on any platform. Allocating more than you need wastes power and memory, both of which are limited on a device. Your solution seems to be to throw more memory at devices, but while I'd love if manufacturers started doing that, the sad reality is that they won't. So the OS has two choices: work within the current conditions, or optimize for pie-in-the-sky designs. You seem to prefer the latter.
      And even if your device has a shitload of memory, your app will still need to live in a multi-tasking environment with other apps. Because of point 1, you want every app taking as little of that precious memory as possible in order to conserve the entire system responsiveness.
      Stop being lazy and allocate only what you need.

      FOUR: ANDROID'S DEFAULT CPU GOVERNORS MAKE AN ANNOYING PROBLEM INTOLERABLE

      Wasn't this done for Android 4.2?
      Anyway, my experience with Android hackers is that they'd too gladly trade a lot of battery life for a little performance. I'm not saying the standard Android ratio is perfect, but this will come down to a matter of taste and use-cases.

      To finish off, there's a line in the article which while stated poorly, does have some truth to it: (paraphrasing) when you reinstall your system it's always snappier, simply because you're getting rid of the cruft.
      This (and as someone in another post above said, paranoia), I believe is the real reason behind why a lot of the above ideas have taken so much hold. Someone makes a claim like this, posts a new ROM which "fixes" it, and people will invariably find their system snappier. Then, with time they start installing back their old apps, services, widgets and live wallpapers, and slowly turn the temperature on that frog.
      Then they are ready for the next conspiracy-induced "fix".

    17. Re:There are four things that make Android laggy by rynoski · · Score: 1

      He's not ignoring anything, you are missing the point. They are talking about using SD cards for SWAP.
      Therefore, small files = the focus here, not you mp3s, flac, cat videos
      You can take a hit copying file if it means your phone runs faster day to day.

      --
      There are two types of people in the world: 1) those that can extrapolate from incomplete data.
  51. Re:Does it matter? by JackieBrown · · Score: 1

    I find opera the fastest but I miss my desktop sync

  52. Re:Does it matter? by crizh · · Score: 0, Flamebait

    We've got an iPad 3 and every pdf app is intolerably slow at rendering to the extent that I have almost entirely written it off as a computing device.

    It will clearly be several generations before tablets are a practical replacement for a laptop.

    --
    Trust The Computer, The Computer is your friend.
  53. What lag? by TiberiusKirk · · Score: 1

    Never noticed it myself. Runs smooth as butter.

  54. Re:The solution is simple by Miamicanes · · Score: 2

    Untrue. Modern Java (since 1.6, if not earlier) has nearly native performance on most platforms.

    Android's "Java" problems are specific to DalvikVM inferior heap management strategy. Java 1.5 and newer does a VERY good job of dealing with mountains of short-lived objects that get promiscuously created, then discarded almost immediately. DalvikVM falls flat on its face, and ends up stalling to do garbage-collection.

    Part of the blame lies with Android's strong (if not overwhelming) architectural preference for destroying and restarting activities, vs suspending them to swap. The truth is, Android handles long-lived processes VERY poorly... partly, because its preference for kill-and-relaunch has allowed them to sidestep the larger issue of managing resources with long-lived processes for several years now. That's the REAL reason why Gingerbread began actively killing even well-behaved background services that were running for "too long". Metaphorically, they were like a little old lady with a nice, neat house right smack in the middle of an urban block some developer wanted to bulldoze and redevelop with a skyscraper.

    Sun had to grapple with the problem directly and solve it properly. When you have something like a web server written in Java that needs to be able to run for months without restarting, you MUST be able to hunt down insidious resource leaks, and keep them under control in the long term without being too disruptive at any moment in time. In contrast, Dalvik just ignores them until it runs out of space, then halts everything while it does garbage collection and moves things around.

    This is actually one of the problems people who've experimented with adding support for swapfiles to Android have encountered. In order to make Android swap instead of kill, you have to modify its default behavior. The problem is, when you allow your Activities to live for hours or days instead of minutes, problems due to resource leaks that wouldn't get bad enough to notice start to become visible. As a practical matter, an Android phone with swapfiles forcibly enabled has to be rebooted at least once or twice a day, or the phone will start hanging to do garbage collection more and more often (defeating the point of having the swapfile in the first place).

  55. Re:Does it matter? by nyctopterus · · Score: 1

    Lazy Googling on my part -- I just pasted the first link to the thing I found. I think I originally can across this in a podcast.

  56. Re:Does it matter? by Boycott+BMG · · Score: 1

    It might have to do with the audio lag in the android sound system. Android uses something called audioflinger which had a very high latency. This became apparent to me when I tried running some emulators on my phone a year ago. Android 4.1 (Jelly Bean) seems to have fixed this issue http://www.youtube.com/watch?v=1WQcl4RDl5I

  57. Re:Does it matter? by CurunirAran · · Score: 5, Insightful

    Having spent significant time with iOS devices, I can safely say that the notion that they do not lag is FALSE. Having just installed iOS 6 on an iPhone 4, the lag between just opening and closing basic applications is definitely noticeable. Hell, even my father's iPad 2 lags, and it runs on iOS 4!

    My S2 Skyrocket, on the other hand, runs Jellybean 4.1.2 just fine, and cases of lag are rare, if any.

    The fact is, all devices, get laggy with use, and your bias against Android makes you ignore the lag that the shiny animations of iOS induce.

    There is no perfect, lag-free device.

  58. Re:Does it matter? by Anonymous Coward · · Score: 0

    I have a Nexus 7 and an iPad Mini.

    The Nexus UI is pretty smooth and generally responsive, sure. But the iPad's animations are almost always smoother and input lag is non existent. If I didn't use both I'd probably think the Nexus was good, but really it's just OK and for some things the input lag borders on intolerable.

  59. Re:Does it matter? by AlXtreme · · Score: 4, Interesting

    Its not actual lag so much as poor UI choices that are perceived as lag at this point in my opinion, but I most certainly can 'feel' the lag.

    We're currently finishing up a fairly simple music app for Android with a couple of fun features.

    In the beginning we were fussing around a lot with the Android UI and Audio APIs, as the lag when a user pressed a button widget until audio was played was very noticeable, we couldn't get rid of it. After hitting a brick wall we simply started from scratch using only a blank canvas, manually drawing buttons and handling events and the like and things worked perfectly.

    So I the lag we (and probably everyone else) experiences has little to do with Dalvik but everything to do with the Android UI widget event handling, it causes unresponsive UIs.

    I never noticed it before but now I see it all over the place. The only apps that don't have it are games and apps like ours who sidestep most of the Android Widget/Event API and go the manual route.

    --
    This sig is intentionally left blank
  60. Re:Does it matter? by Anonymous Coward · · Score: 0

    I care not for your add Eminem atacks.

  61. Re:Does it matter? by Anonymous Coward · · Score: 0

    My Nexus 7 used to be great until Android 4.2. It's very slow now.

  62. +1 Grandparent post is FUD by Anonymous Coward · · Score: 0

    Android does save Activity state, it's lifecycle 101. Just look at the onCreate method signature. What do you think "savedInstanceState" means?

    @Override
    public void onCreate(Bundle savedInstanceState)

    1. Re:+1 Grandparent post is FUD by Miamicanes · · Score: 1

      > Android does save Activity state, it's lifecycle 101. Just look at the onCreate method signature. What do you think "savedInstanceState" means?

      Yes, it does save its state. But after roughly 30 minutes, Android will become increasingly determined to kill it off at the slightest pretense and first possible opportunity. It's kind of like Windows and virtual memory... you can have 16 gigs, with 13 free, and Windows will STILL swap stuff out to virtual memory. Likewise, you can have plenty of free ram on your phone, and an app with a relatively small footprint, but after roughly 30 minutes, Android wants it dead & gone (even if it means relaunching it from scratch 2 seconds later) so it can scrub the heap clean and reclaim its space RIGHT NOW.

    2. Re:+1 Grandparent post is FUD by Anonymous Coward · · Score: 1

      You have no fucking idea what you're talking about do you?

      >Android will become increasingly determined to kill it off at the slightest pretense and first possible opportunity.

      What the fuck is the "slightest pretense"? You don't know what the criteria is for an app to be killed do you? Do you realize that Activities are all destroyed as soon as they go into the background? This is the NORMAL behavior. Android saves a marshaled Bundle of instance data when onDestroy() is called. At first this is stored in RAM, then the bundle is written to disk. Eventually the bundle is discarded if the user has not used that app for a long period of time.

  63. Re:When your latest gen platforms... by Anonymous Coward · · Score: 0

    Expect everyone to acuse Apple 'fanbois' of making this up. How dare they insult the latest korean superphones!!!!1

  64. Re:Does it matter? by sulimma · · Score: 4, Insightful

    You can't have 0 latency audio drivers. But the latency can vary from system to system due to design decisions.

    The main source of latency in audio drivers is related on how many audio samples are generated for each call to the interrupt handler (buffer size).
    Bigger buffer sizes help avoid gaps in audio due to interrupt jitter. They also reduce the CPU load and energy usage which are very important in mobile devices.
    Driver infrastructer for very small buffer sizes need to be designed very carfully to work reliably. So there are many reasons why android developers decided not
    to use very small buffer. BUT of course for any kind of interactive audio low latency is crucial.

  65. Re:Does it matter? by Anonymous Coward · · Score: 0

    That's a chrome issue. Chrome in 4.2 is crap. Switch to Dolphin Jetpack and it's much faster.

  66. Re:The solution is simple by Anonymous Coward · · Score: 0

    "Native performance" in benchmarks is not the same as "fast smooth responding" software.

  67. Re:Does it matter? by Fallingcow · · Score: 4, Interesting

    It seems like on Android, the less you rely on built-in libraries/APIs the better your app will be.

    Which is the opposite of how things tend to go with iOS development.

  68. Re:Does it matter? by siddesu · · Score: 1

    I am using G-stomper, sometimes on a SGS1 with Gingerbread, all bells and whistles enabled, and I have rarely seen lags, except when Tasker fires something in the background.

    Haven't used any other drum kits or machines, so can't really comment on those, but if one can get it right ...

  69. Re:java is shit by Anonymous Coward · · Score: 0

    And where do you think Android lag problem comes from?

  70. Re:When your latest gen platforms... by AmazingRuss · · Score: 1

    Pretty much. Neckbeard rage will ensue.

  71. Re:Does it matter? by Anonymous Coward · · Score: 0

    > Even the Nexus 7 lags.

    > Technically its not lagging, but it sure as hell FEELS that way.

    Wow. How is this post rated 5?

  72. Re:java is shit by frisket · · Score: 3, Insightful
    Nothing to do with Java. It comes from the same place that all lag comes from: the developers' insistence that their background processes are more important than the user's interaction with the interface.

    When a user clicks (touches, slides, speaks, whatever) an object in the interface, the expectation is that the response will be immediate. Leaving aside communications delays, which users largely understand they have to live with, there is nowadays no excuse whatsoever for the device failing to respond instantly, even if only to provide feedback that acknowledges the interaction (for example when it involves an operation that is known to take measurable time such as opening an image file).

    But the OS's own processes are regarded as sacrosanct, so the user interface just has to wait until they condescend to allow the user a few of their precious cycles. This happens on all end-user systems running multiple processes (leave IBM mainframes out of this :-) — just look at the time it takes to get a response from the Unity Dash, or the Gnome menu button, or the Windows Start button (or whatever it's called this week), or the Mac menu button...the first time you click it. It sits there loading its menus. Finally it lets you see them. You run your application, and for a short while, another click on the dash/start/menu will get a fairly swift response. Leave it a little longer, and it's been swapped out and takes another age to reload.

    Developers, achitects, engineers, and programmers need to grasp the fact that their background processes must take a back seat when the user wants to do something. Their reply, quite naturally, is that their background processes are vital, essential, cannot be delayed or interrupted, etc etc. And quite right, some of them are. But it's their job to see to it that they are written and scheduled in such a way as not to interfere with the interface. Anything else is a design failure.

  73. Lag is not in the start/stop of an app by Anonymous Coward · · Score: 0

    Lag is in the time it takes between a user pressing a UI widget and the time it takes the OS (or app) to react to it.

    For example, in Android when you scroll the lag is very visible. Your finger is half way into the screen by the time Android reacts. That issue is not that highly visible in ANY other mobile OS.

    1. Re:Lag is not in the start/stop of an app by CurunirAran · · Score: 1

      Actually, when you have just a a couple of apps open at the same time on a iPod Touch on iOS4, say Safari and a game in, say Temple Run in the background, I notice significant lag when Safari renders webpages. In fact, even when I don't have any any other app open, just a couple of heavy pages, Safari lags. A lot. I take good care of my device, and ensure that memory usage isn't high by clearin RAM through SbSettings. Scrolling the through the song list on the music player on a touch is certainly laggy when you have 1000+ songs. I have experienced lag firsthand on iOS devices, and on poorly designed Android devices. As I said, there is no perfect OS. iOS devices, by virtue of their powerful GPUs, make iOS feel smooth, but when the system is strained just a little, you do notice the lag.

  74. Re:Does it matter? by Cinder6 · · Score: 1

    I'm going to be honest, but I'll probably be modded into oblivion, and/or called a shill.

    I bought a Nexus 7 because I wanted a tablet, I didn't want to spend $329 on an iPad mini, and Jelly Bean was supposed to fix the lag issues. I wound up returning it for a variety of reasons, but one of them was that the UI performance felt about on-par with a first-generation iPad (which I also sold, though for different reasons). I really wanted to like it. For all I know as someone who doesn't use Android, Jelly Bean is a massive improvement in this area. For all of the things Android does well, its UI performance and subjective responsiveness are still not on the level of iOS.

    --
    If you can't convince them, convict them.
  75. Re:Does it matter? by Cinder6 · · Score: 1

    Probably because the mods read the entire post in context.

    --
    If you can't convince them, convict them.
  76. Re:Does it matter? by rolfwind · · Score: 3, Insightful

    Don't get me wrong, I'm not an Apple fan, I'd like Android to win, but not by closing my eyes for its faults.

    Can I root for no one to win, but for it to remain a stalemate with several competitors?

    Or do we all need to wave the flag for one uncaring corporate juggernaut or another?

    (Also, do we have to present credentials like this with every opinion we post? Would the validity of your opinion change if you were an Apple fan? Are we reddit?)

  77. Re:Does it matter? by dimeglio · · Score: 0

    I think we all know you get what you pay for.

    --
    Views expressed do not necessarily reflect those of the author.
  78. Re:java is shit by russotto · · Score: 3, Insightful

    But the OS's own processes are regarded as sacrosanct, so the user interface just has to wait until they condescend to allow the user a few of their precious cycles.

    You do understand, don't you, that the reason the user interface has to wait isn't because developers think our processes are more important than the users.... but because the user interface DEPENDS ON THOSE PROCESSES TO BE ABLE TO DISPLAY!

    Car analogy: You're complaining the the engine management computer insists on doing its fuel map calculations before responding to the throttle.

  79. Re:Does it matter? by Anonymous Coward · · Score: 0

    it'll scroll fine then stop cold in its tracks, which a sliver at the bottom of the screen saying 'loading' or something to that effect.

    Me thinks its better to tell the user whats happening and only someone extremely biased or entrenched to how Apple does things would call this lagging..

    Put them side by side and the built in Apps on iOS will feel far better than those built into Android.

    You mean like Apple Maps?

      Another thing as an iOS user that makes Android 'feel' laggy is the lack of rubber banding on scroll.

    You mean the 'feature' over which Apple was suing Android handset makers? Yup thats a real bright idea.

  80. Re:Does it matter? by vakuona · · Score: 4, Interesting

    The time between clicking an app and it appearing on your screen is not lag. That is just the OS being a little slow. Lag is scrolling on the screen and having the graphics catch up with your finger. It's there and it has been perceptible on every Android phone I have used.

  81. Yeah, I have noticed some lag. by seebs · · Score: 1

    I have a G2. Not rooted or anything. Most of the time it's fine. Every so often, when I touch keypad buttons during a call, Nothiing Happens. A few seconds later, any and all buttons I've hit will play back very very fast.

    It really is quite noticeable.

    --
    My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
  82. Re:java is shit by marnues · · Score: 1

    I think you overstate your case. When I click the Windows Start button on XP it does respond. What I want of course must wait for the data to be available and rendered, but at least the Start button appears in a different state than prior to clicking. It gives me reason to believe the computer has acknowledged my action and will respond.

    Often my interactions on my Android phone take time to give me any response. That is a failure and any app should work diligently to fix it as I am happy to use a different app. My phone is not a person, I do deserve to lord over it.

  83. Re:Does it matter? by Anonymous Coward · · Score: 0

    Who is the bigot? You're the one spouting ad hominems. Perhaps the GP is opposed to Apple's shiny walled garden? Perhaps he is pro Freedom? I would submit that it's Apple Fanbois like yourself that are the real bigots.

  84. no lag on Galaxy Note 2 by herojig · · Score: 1

    Have not seen this problem, but I have a problem with external mouse not scrolling. It's a registered bug in the database, closed, with a patch - but I have no idea what that means or when/if Samsung will roll that out - ha!

    --
    I think therefore I can't be ~TTNH
  85. Re:Does it matter? by bill_mcgonigle · · Score: 1

    Linux can provide realtime (guaranteed latency - zero latency doens't exist on a Von Neumann machine) services (hard realtime even with a proper microkernel) but the issues Android has aren't general to linux driver latency, they're special Android issues.

    And boy would I like to see them get cleaned up! Google must have profilers...

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  86. Re:Does it matter? by Swampash · · Score: 1

    Its UI performance and subjective responsiveness are still not on the level of iOS as iOS was 3 years ago.

    My old iPhone 3G is more touch-responsive than my Galaxy Note.

  87. Re:Does it matter? by Xenna · · Score: 4, Insightful

    I have nothing against Apple perse, but I have serious issues with the closed nature of their iOS devices and especially how I don't have the ability to control what gets transfered on or off the device. Everything has to go through iTunes or some cloud solution.

    Android has no such restricting policies, that's why I'd like to see it 'win'.

  88. Re:Does it matter? by Anonymous Coward · · Score: 0

    Perhaps you type slow. I frequently get out ahead of the display by a word or two and have to sit and wait for the display to catch up with what I'm typing. Another annoying feature is clicking something and it has no effect, so you click it again only to find out that the first click went and now your second click was on something that wasn't even displayed at the time. Every damn hour. Galaxy Nexus.

  89. Re:Does it matter? by marnues · · Score: 1

    No opinion lives in a void. Knowing that someone uses a particular device or not, or even if they are preferential to a company or not, gives important information that should not have to be gleaned from an opinion. And no, you don't have to root for a team, but what's the fun in watching? Seeing some good fundamentals? Ok, we are nerds, that is a great reason to watch!

  90. Re:java is shit by thoughtsatthemoment · · Score: 1

    Fast UI response requires multi-threading. There are many reasons that programmers are not implement it more often, but Java added one more: GC, which usually stops the world when it collects. Also programmers who replie on GC are often unable to plan resource usage very well, a skill crucial to multi-threading.

  91. Re:Does it matter? by thoughtsatthemoment · · Score: 1

    Not necessarily a bad thing though. On windows you can build very bloated applications using many libraries but you can also build http://news.slashdot.org/story/13/01/12/1332204/the-android-lag-fix-that-really-wasnt#state of the art stuff going low level yourself.

  92. Re:java is shit by nyet · · Score: 1

    You have no idea what a mutex is, do you?

  93. Re:Does it matter? by thoughtsatthemoment · · Score: 1

    hmmm, how did the link get in there?

  94. Re: java is shit by grrzes · · Score: 1

    Why leave mainframe out of this? Mainframe's amaizing ability to stay perfectly responsive even at 100% CPU utilization, while it is runnig multiple and dissimilar heavy workloads (which inludes a LOT of java processing nowdays) should make some people at least look at it's workload management concepts and solutions.

  95. Re:Does it matter? by jimbo · · Score: 1

    I sincerely hope that nobody will "win". I'd like to continue to see some choice and competition.

  96. Re:Does it matter? by Noughmad · · Score: 0

    Exactly this, I don't know why GP or GGP were modded down. Basically, when accused of some vague problem that is hard to determine, you have two options:
      - say "You're holding it wrong" and do nothing about it
      - say "Ok people, you are right, but we fixed it" and again do (almost) nothing about it

    Google went with the second option. Yes, they probably made some small changes, but considering rapid advances in hardware, spending major resources just for removing small delays is a bad decision.

    --
    PlusFive Slashdot reader for Android. Can post comments.
  97. Mac OS X /dev/random by tlambert · · Score: 1

    Uses AES. You can perturb it by writing "entropy" to the device to reseed it, but obvious it never runs out like the Linux /dev/random.

    1. Re:Mac OS X /dev/random by Anonymous Coward · · Score: 0

      Just curious: does it use the hardware RNG incorporated into recent Intel CPUs to seed/reseed itself?

  98. Re:Does it matter? by Anonymous Coward · · Score: 0

    4.1.2 was amazing!!! 4.2 screwed everything up on my galaxy nexus. Nexus 7 is less effected. Basically the amazing jump in speed when project butter was released was effectively undone in the 4.2 update.

  99. Re:Does it matter? by gTsiros · · Score: 1

    how do you manage the audio glitches when the garbage collector is run?

    It's incredible. An ARM running at 1.6GHz with half a gig of mem and it can't play an mp3 without glitches.

    --
    Looking for people to chat about multicopters, coding, music. skype: gtsiros
  100. Re: java is shit by ZosX · · Score: 1

    I agree with you. The real issue is that a PC has a much narrower bus to move all of that data around. You can throw all the cores in the world in one box, and something like a modern mainframe will still stomp it because it is so much more massively parallel.

  101. Re:java is shit by ZosX · · Score: 1

    Have you ever used OS/2? Under a full load, even constantly swapping, it would be very responsive. Rarely did the UI feel like it was lagging. Compare to my windows 7 laptop. Under massive swap or a heavy load sometimes it takes ages just to get the interface to respond so I can switch a task or dial down priority and make the system usable again. That I have to manually turn down the priority of applications that slow my system to a crawl so other tasks can run says a lot about how much windows fails on multitasking compared to better operating systems. I like windows 7, but when I think back to OS/2, I still yearn for something that is as responsive.

  102. Re:java is shit by joseprio · · Score: 1

    That's not a good analogy; almost everybody would complain if those calculations were slow, but car companies spend tons of time and resources making sure that the throttle response is as quick as possible.

    Also, I disagree with your statement; I think it would be true if you were talking about booting up the computer, but once things are showing, the computer doesn't really need most services or processes to display things to the user; responding to a user action could be instantaneous is almost all circumstances, but the problem is partly that the GUI will wait for the information synchronously (instead of showing some reaction and then load the data once it's ready), loading everything before starting to render the results, and also resource starvation due to low priority of the UI part (specially when running other things in the background, or when booting up).

  103. Re:Does it matter? by Anonymous Coward · · Score: 0

    It's exactly the same on the Nexus S.

  104. Re:Does it matter? by asaa00 · · Score: 1

    it's definitely an issue my on my galaxy s3 and on my old galaxy s1. as a music producer I would give my firstborn to see this fixed

  105. Re:java is shit by BasilBrush · · Score: 1

    You do understand, don't you, that the reason the user interface has to wait isn't because developers think our processes are more important than the users.... but because the user interface DEPENDS ON THOSE PROCESSES TO BE ABLE TO DISPLAY!

    Where there are systems where that is true, then that only confirms his point. There should be nothing holding up the UI between a user interaction and the display of some feedback to that interaction. Whatever processes are necessary to that should be loaded at startup, never unloaded, and never have a delay of more than a single video frame. 8 bit computers could provide instant feedback to any user interaction. What went wrong?

  106. Re:When your latest gen platforms... by Anonymous Coward · · Score: 0

    Funny. Mine works just fine. Perhaps idiot users installing a bajillion apps are the problem, rather than the OS or device.

  107. Re:Does it matter? by Anonymous Coward · · Score: 1

    "lag" has never been an issue.

    So the discussion here is based on nothing, everyone reporting differences here is wrong, and all the people discussing lag here are wrong and that project butter was completely unnecessary and does nothing and google are lying because "Android lag" is just one huge conspiracy? Blind fanboys are one thing, but idiots like you are in such denial you take it to a whole new level of ridiculousness.

  108. Re:java is shit by Admiral+Llama · · Score: 1

    Meanwhile the old classic MacOS systems would stop the world whenever you held the mouse down. Have a BBS running in the background? Watch the modem literally stop blinking just because you're holding down the mouse button.

  109. Re:java is shit by Anonymous Coward · · Score: 0

    Could be done, "by design"
    - as Microsoft likes to point at bug reports that will not be fixed
    - as BeOS / Haiku developers did in their "lag free" os

  110. Re:Does it matter? by mjwx · · Score: 2

    Or you just don't notice it.

    I find that anyone used to an iOS device can pick up a Nexus 7 and notice the lag.

    If all you use is Android devices, you probably don't notice.

    I found the opposite.

    I only used Android up until work made me carry an Iphone 1 week out of every 4. Found that IOS was so slow compared to Android 2.3 (Gingerbread) but they just covered it up by using animations. It too longer to open the messaging application on IOS than on Android.

    I timed them side by side, Android was much faster to open the application. The phones in question were an Iphone 3GS and a Motorola Milestone (Moto Droid) so they had fairly similar specs. This was on IOS version 3, when we updated to IOS 4 it slowed down horribly.

    I tried it again recently comparing an Iphone 4GS to my (Samsung) Galaxy Nexus, there was an even bigger gap between Android 4.2 and IOS 4 (the owner hadn't updated to IOS 5 yet)

    but I most certainly can 'feel' the lag.

    Here's the problem. You "felt" it, you didn't test it. I actually tested it.

    If you get lag on a Nexus device, you're almost certainly imagining it.

    Now beyond this, I find IOS far more infuriating to use as it forces me back to the home screen every time I want to use another application where as Android has rapid task switching, not to mention the lack to text reflow. Even if Android lag was as bad as you said (and having run some really bad community ROMs on my Milestone and Desire Z, I've seen bad lag) it would not slow me down anywhere near as much as IOS is _designed_ to slow me down.

    --
    Calling someone a "hater" only means you can not rationally rebut their argument.
  111. Re:java is shit by BasilBrush · · Score: 1

    There's nothing in his post to suggest he doesn't.

  112. Re:Does it matter? by jedidiah · · Score: 1

    I was responding to the assinine notion that there can't be a satisfied Android user.

    Some people just can't handle a satsified customer using something other than their own pet brand.

    YOU are just that kind of idiot.

    The same goes for any of you other MORONS that modded down my original response as "flamebait". A contrary opinion or experience is not flamebait.

    Also, the idea that Android "problems" are any more consistent than Android itself should seem absurd to anyone with any functioning brain cells. That whole dreaded "fragmentation" thing works both ways.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  113. Re:Does it matter? by Anonymous Coward · · Score: 1

    I actually tested it.

    Then show us the test results.

    If you get lag on a Nexus device, you're almost certainly imagining it.

    Wrong.

  114. Re:Does it matter? by Anonymous Coward · · Score: 0

    The time between tapping a key on the virtual keypad and the character appearing is and I've seen that often enough on an iPad1 running both iOS 4 and 5.

  115. Re:Does it matter? by dotar · · Score: 1

    That's an interesting assertion, considering that we were using the MR primality test for 30 years.

  116. Re:Does it matter? by Anonymous Coward · · Score: 0

    I was responding to the assinine notion that there can't be a satisfied Android user.

    Some people just can't handle a satsified customer using something other than their own pet brand.

    Nobody said that you fool, you're so blinded by your apologist views that you're imagining a situation where everybody is against you where clearly no such situation exists. There are plenty of satisfied Android users, lag isn't the be-all and end-all of user satisfaction but denying the existence of it on Android when it clearly does exist and clearly is a problem is just outing yourself as an apologist and fanboy when there is no need to be either.

    Apple has a similar problem with input lag but it often manifests itself when upgrading a ~2 generations-old device to the latest version of the operating system, iOS is hardly devoid of this problem either, it's just it only appears on older devices.

  117. Re:Does it matter? by Anonymous Coward · · Score: 0

    the shiny animations of iOS

    They're not shiny, they're smooth, which is far better than the jerky transition you get in a lag situation on Android. Yes both platforms have lag, iOS just handles it better.

  118. Re:java is shit by strikethree · · Score: 1

    Car analogy: You're complaining the the engine management computer insists on doing its fuel map calculations before responding to the throttle.

    No. Not at all. What he is saying (at least what I think he is saying) is the ECU is insisting on checking the electric signal to the headlights, verifying that the DRM for the disc in the in-dash entertainment system is functioning correctly, and verifying that the brakes are still working, before it can bother to respond to the silly user input of pushing the throttle.

    Having brakes that work is important. Having headlights that work is important. Having DRM that works is important (to someone anyways)... however, none of that is important (even the brakes!) in relation to pushing the throttle. Just fucking accelerate damnit. Seriously.

    --
    "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
  119. Re:Does it matter? by Sigg3.net · · Score: 1

    Can I root for no one to win, but for it to remain a stalemate with several competitors?

    Or do we all need to wave the flag for one uncaring corporate juggernaut or another?

    No.no.no
    If you want to wave a flag, you're talking semaphore, something like the kinect.
      This is touch.

  120. Re:Does it matter? by Kashgarinn · · Score: 1

    While that was a very nice argument, and even a legitimate hypothesis of what's going on, there's no corroboration to what is actually happening, so take this with a grain of salt if you start discussing this at your local watercooler. It sounds authoritative though, so you might get away with it if you have stupid colleagues.

  121. 0:00.4 vs 0:00.5 ? by Anonymous Coward · · Score: 0

    ...I find IOS far more infuriating to use as it forces me back to the home screen every time I want to use another application where as Android has rapid task switching...

    Does it really take that long? My Android phone lacks the dedicated task-switch-menu button so I have to hold the home button for 1 second to bring up recent apps. Even clocking in at a mere 1 second, it's still slower than double-taping the home button on an iOS device. Even if your Android device has the dedicated button, I think complaining about such trivialities is just that--complaining about trivialities.

  122. Re:Does it matter? by iampiti · · Score: 1

    I'd vote you if I had mod points.
    I completely agree with you. Apple software and hardware is great, and I have nothing against them in principle but...the way they try to control the user is horrible and the artificial limitations they impose on their hardware for business reasons is irritating.
    Let's not kid ourselves, Google is no saint, they are a corporation too seeking their own benefit but their software is more open and that's why I want them to grow.
    The ideal situation would be that there wouldn't be a dominant player so that the smartphone companies would have to give the users what they want. Monopolies are bad for the consumer. Always

  123. Re:Does it matter? by snadrus · · Score: 1

    Root for each maintaining their separate Linux environments then using QtQuick as their standard. It's something most are trying. That way with any corporate result, users win.

    --
    Science & open-source build trust from peer review. Learn systems you can trust.
  124. Re:Does it matter? by Anonymous Coward · · Score: 0

    Nobody said that you fool, you're so blinded by your apologist views that you're imagining a situation where everybody is against you where clearly no such situation exists. There are plenty of satisfied Android users, lag isn't the be-all and end-all of user satisfaction but denying the existence of it on Android when it clearly does exist and clearly is a problem is just outing yourself as an apologist and fanboy when there is no need to be either.

    He's not so much an Android fanboy as he's an anti-Apple fanboy. FYI, "jedidiah" has been around on the web and Usenet for decades, reacting angrily whenever anyone says even the most mildly positive thing about Apple or Apple products.

  125. Re:Does it matter? by Anonymous Coward · · Score: 0

    absolute fud. the ipad halts up often enough. i've used one and it aint a perfect daisy. you're seeing it through rose colored shades son.

  126. Re:Does it matter? by Anonymous Coward · · Score: 0

    Funny. Anecdotal evidence is hilarious that way. My 3G would crash, freeze, lag, and not respond most of the time. I switched to android specifically because of how bad the responsiveness on the 3G was. Never looked back.