Slashdot Mirror


The Care and Feeding of the Android GPU

bonch writes "Charles Ying argues that Android's UX architecture has serious technical issues because, unlike the iPhone and Windows 7, Android composites the interface in software to retain compatibility with lower-class devices. Additionally, Android runs Java bytecode during animation, and garbage collection blocks the drawing system. Google engineers dismiss the desire for hardware-accelerated compositing and cite more powerful hardware and an avoidance of temporary objects as a solution to the collection pauses, but Ying argues that will just lead to [a lower] average battery life compared to devices like the iPhone."

307 comments

  1. I've complained about this more times than i care. by Anonymous Coward · · Score: 2, Insightful

    the interface never seems as polished without hardware acceleration, Just look at Mesa and a full linux desktop running ATI or Nvidia drivers with compiz.

  2. Doesn't Optimizing for GPU Exacerbate Fragmenting? by eldavojohn · · Score: 2, Insightful

    Look at Samsung's Galaxy S browser. GPU accelerated and tile-based. I’m told it’s a result of Samsung’s PowerVR GPU optimizations.

    Doesn't that require that the device have a PowerVR GPU on board? What about devices without PowerVR like the NexusOne, does it run on that?

    When you optimize to GPUs, you have to optimize to all GPUs. I realize there are common instruction sets but the main selling point of Android is its versatility. If I start coding for only Snapdragon processors with PowerVR GPUs because it has a better UX, then it sort of destroys any benefit I get from Android and I might as well code for iOS because I know what that hardware will always be. A lot of the benefits of Android applications being Java byte code completely independent of the hardware are overlooked in this proposition.

    The developers don't know what future devices are going to use for GPUs or their instruction sets. From one of the links Romain says:

    New devices might allow us to overcome the past limitations that made GPU support a not-so-good solution.

    Doesn't optimization for particular hardware exacerbate their issues with fragmentation?

    Well, it's open source, there's always the smug answer that Charles Ying can go fork Android himself and add this and watch all the handset manufacturers flock to his side. If you think it's best, get a team together and do it.

    From Ying's article:

    Wake up, Android team. Windows Phone 7 just lapped you.

    Can anyone tell me why that AnandTech article from March is evidence that Windows Phone 7 has lapped Android? And why it just happened?

    --
    My work here is dung.
  3. Lead to... as in the future? by Servaas · · Score: 1

    So instead of supporting a wide range of products they should pull support cause in the future all those wasted cycles will lead to an average battery life? In the future...

    1. Re:Lead to... as in the future? by bonch · · Score: 0

      "Supporting a wide range of products" is leading to animation pauses and jerky scrolling. That's a bad thing for a touchscreen smartphone.

    2. Re:Lead to... as in the future? by ByOhTek · · Score: 1

      There's this thing called 'modular programming'. You program things in coherent chunks. For example, you could program a good bit of the lower-level UI level stuff in a chunk (window/panel handling, for example) to handle any system. Now later, you could say "Wait, we could make this faster with Accelerated Hardware X) and then make a second module, that can be accessed in the same way, but uses Accelerated Hardware X. Now, at load time (or install time, or configuration time), it could spend a half dozen cycles to determine if Hardware X is available, and run that module or the default based one the result.

      No support is lost, but some platforms will perform better.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    3. Re:Lead to... as in the future? by billcopc · · Score: 0

      Yes. There is no good reason to support the barely-spec bottom rung devices. Chinese chop shops are free to release their filth upon the world, but that doesn't mean discerning customers and developers are forced to support them.

      The mere fact that you can even buy an Android phone with a *capacitive* touch screen is an absolute mockery of the industry, when the primary competition has made multi-touch resistive touch screens the de-facto standard for YEARS. Combine that with a processor that can't even render the static home screens without lagging, and the result is a device that does not deserve to be called a smartphone in today's market. These cheap phones make the 8-year-old Palm Treo look futuristic.

      If developers can exert enough influence to drive these inferior devices out of the market, or at least relegate them to the unadvertised "freebie phone" segment, I'm all for it. The iPhone, good Androids, and the Palm of yesteryear, have all shown that apps are the driving force behind any mobile platform. The hardware should be specced to support the apps, not the other way around.

      --
      -Billco, Fnarg.com
    4. Re:Lead to... as in the future? by h4rr4r · · Score: 3, Informative

      All the expensive devices uses capacitive screens, nice multitouch ones too.

      Resistive is usually the cheap kind.

    5. Re:Lead to... as in the future? by DragonWriter · · Score: 1

      There is no good reason to support the barely-spec bottom rung devices.

      Actually, there is a pretty good reason to support "barely-spec" devices, since, by definition, those devices meet (if only just) the specification for which a support commitment has been made.

    6. Re:Lead to... as in the future? by s73v3r · · Score: 1

      Resistive touchscreens suck, because most of the ones being used are the cheap ones, that you have to actually push down to register your touch. People don't want to do that.

    7. Re:Lead to... as in the future? by Eunuchswear · · Score: 1

      Yeah, that was why my N900 was so cheap.

      --
      Watch this Heartland Institute video
  4. Java, the original sin by Scareduck · · Score: 0, Redundant

    Additionally, Android runs Java bytecode

    Is there some reason people continue to think Java is a good idea in handhelds? It's almost a religion, and no amount of dissuading seems enough to change people's minds.

    --

    Dog is my co-pilot.

    1. Re:Java, the original sin by teknopurge · · Score: 2

      Because it's not bad at all. A shoddy workman blames his tools.

    2. Re:Java, the original sin by Desler · · Score: 1, Insightful

      A shoddy workman blames his tools.

      And a great workman knows that certain tools are shitty and worthless.

    3. Re:Java, the original sin by Anonymous Coward · · Score: 0

      Additionally, Android runs Java bytecode

      Is there some reason people continue to think Java is a good idea in handhelds? It's almost a religion, and no amount of dissuading seems enough to change people's minds.

      Android does not run Java bytecode. http://en.wikipedia.org/wiki/Dalvik_%28software%29

    4. Re:Java, the original sin by Lunix+Nutcase · · Score: 1

      A shoddy workman blames his tools.

      Unless the tool is the thing that is shoddy.

    5. Re:Java, the original sin by alen · · Score: 3, Informative

      until the iphone came around RIM and others would have low end, mid and high end devices with different hardware. i've even seen dumb phones run java. it allowed hardware makers to have a ton of devices out there for every niche and cut down on dev costs. Java was cool since you only write the app once.

      then the iPhone came and killed that model. the cost of the iphone is something like $2200 over 2 years. Droid is about the same. any other smartphone on AT&T or VZW will be within $200. i tell people to get the best phone they want since the cost is negligible over 2 years.

    6. Re:Java, the original sin by whiteboy86 · · Score: 1

      Even the less bright execs are starting to realize that there is something stinky about Java, the problem is that the average IT exec is still somewhat brainwashed by the original Sun's marketing and ploys, the clever namings of things. For example the pesky buzzword "managed code", any software exec loves that phrase, unfortunately running "managed code" is usually disastrous on a low-power and inefficient mobile platforms, not to mention any time critical or performance applications that can't cope with execution stalls and uncertain memory conditions provided by the dreaded "automatic garbage collection".

    7. Re:Java, the original sin by Anonymous Coward · · Score: 0

      Actually, Android does not run Java bytecode at all. It runs Dalvik bytecode.

    8. Re:Java, the original sin by davidbrit2 · · Score: 1

      And an idiot workman pounds nails with a pile driver.

    9. Re:Java, the original sin by Anonymous Coward · · Score: 0

      A shoddy workman blames his tools.

      Unless the tool is the thing that is shoddy.

      A particular hammer might be shoddy, but hammers in general are not. A good workman might blame a particular hammer, and switch to a different hammer, but only a shoddy workman would blame hammers in general, and starting hammering with a crowbar.

    10. Re:Java, the original sin by The+End+Of+Days · · Score: 1

      Yeah, that Android platform is barely working at all, huh? Might as well fold up the tent. Stupid execs.

      Or maybe you're trying the old "if it doesn't work for everything, it doesn't work for anything" ploy? I can't tell, I have a hard time deciphering which particular stupidity you people get up to at any given point.

    11. Re:Java, the original sin by Desler · · Score: 1

      And in this case the particular programming language, Java, is shoddy.

    12. Re:Java, the original sin by bennomatic · · Score: 1

      A shoddy workman blames his tools.

      Unless the tool is the thing that is shoddy.

      A particular hammer might be shoddy, but hammers in general are not. A good workman might blame a particular hammer, and switch to a different hammer, but only a shoddy workman would blame hammers in general, and starting hammering with a crowbar.

      Of course, the OP might be suggesting that Java on mobile devices might be like using a sledgehammer for hanging a picture frame. I'm not sure I agree with that assessment, but your rebuttal is a straw man argument.

      --
      The CB App. What's your 20?
    13. Re:Java, the original sin by alvinrod · · Score: 1

      Java may not make as much sense right now, but it will again in the future. Technology is going to keep marching on and today's smart phones are tomorrows feature phones and eventually dumb. Not all apps will need to be more sophisticated.

      Android is going to get even more fragmented in the future, but that's not a bad thing. It just shows how versatile Linux can be.

    14. Re:Java, the original sin by Anonymous Coward · · Score: 0

      Are you kidding? We now have Ghz processors in handhelds and my old 33Mhz Palm is still more responsive when editing a text document. Android is ridiculously inefficient.

    15. Re:Java, the original sin by Fnkmaster · · Score: 1

      Java failed on the desktop because it tried to do too much and failed to provide a consistent, native-like user experience.

      Dalvik on Android provides a very consistent, native experience because the platform is built around it.

      And it provides a level of abstraction away from hardware that allows an Android app to run on any number of Android devices, if it's well written (i.e. can handle different screen resolutions, etc. - if you hard code tons of shit, you can still write apps that suck or don't work well on certain devices).

      So yeah, in this context, there's nothing wrong with Java (or rather Dalvik). As to the question of the best way to accelerate basic UI stuff - I sort of thought this issue was already solved on the Android platform.

      Yeah, first gen Android devices were stutter-y and had kinda laggy feeling UIs (i.e. the G1 - ugh). But my year-old Nexus One running a recent MIUI ROM is as smooth as butter in terms of touchscreen sensitivity, animation, etc.

      Likewise with my Viewsonic G Tablet running on a hot-shit Tegra 2 - with the updated drivers and software on it, it's ridiculously smooth and pleasant to use - better than an iPad any day.

      Furthermore, I understand that Gingerbread has even more improvements in GC and event handling stuff, so should be even better things ahead.

      Does the original story's argument about battery life hold up? Maybe, not sure. My G Tablet's one weak area, compared to the iPad, is battery life. One hardware-accelerated tasks like video playback they are comparable. But in terms of app-running and general usage, and particularly standby time, the iPad definitely wins out. But the Tegra 2 platform is fresh, to say the least - have to see how the drivers, suspend-resume and so on improve over the next few months. Battery life may improve quite a bit yet.

    16. Re:Java, the original sin by dgatwood · · Score: 1

      Because it's not bad at all.

      Actually, it is. Garbage collector stalls have been a problem that has consistently plagued Java for as long as it has existed. Those of us who have been around long enough still remember Java apps hanging for tens of seconds at a time while the garbage collector ran. These days, the user would force quit long before the app came back to life if an app were to hang that long. It isn't nearly as bad these days, of course, but on a slow CPU, it can still be a problem. That is why Apple wisely chose to use explicit memory management instead of garbage collection when designing iOS. Garbage collection means choosing rapid application development over performance, which can be an acceptable tradeoff on the desktop, but is rarely an acceptable tradeoff on a small mobile device with limited CPU performance.

      A shoddy workman blames his tools.

      You're right. A good workman, upon determining that the tools are bad, throws them out, gets better tools, and then goes back and fixes whatever he/she screwed up with the old ones.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    17. Re:Java, the original sin by tixxit · · Score: 2

      The language itself has 0 to do with its speed. As for the JVM, well Android uses the Dalvik VM. As for whether or not it is fast, there is really no technical reason it would be any slower than any other byte-code interpreter (eg. .NET). So, given that, I take it you have a problem with any sort of bytecode, preferring only natively compiled software? That kind of goes against the hardware agnostic nature of Android, doesn't it? What would you suggest that an OS, whose major feature is cross-device compatability, do?

    18. Re:Java, the original sin by Mongoose+Disciple · · Score: 1

      Is there some reason people continue to think Java is a good idea in handhelds? It's almost a religion, and no amount of dissuading seems enough to change people's minds.

      Probably because for the mobile market, a managed environment and relatively easy hardware compatability trump performance as concerns.

      Which doesn't make you feel any better when an app runs like crap on your phone, but, there it is.

    19. Re:Java, the original sin by Carewolf · · Score: 2

      Of course, the OP might be suggesting that Java on mobile devices might be like using a sledgehammer for hanging a picture frame.

      At least a sledgehammer is an actual hammer. Using Java on a mobile devices is more like using a whale to hammer in screws.

    20. Re:Java, the original sin by bonch · · Score: 1

      So yeah, in this context, there's nothing wrong with Java (or rather Dalvik).

      What about the collector pauses?

    21. Re:Java, the original sin by bonch · · Score: 1

      Java may not make as much sense right now, but it will again in the future.

      If you say so, true believer.

      Android is going to get even more fragmented in the future, but that's not a bad thing. It just shows how versatile Linux can be.

      How does it show how versatile it can be? Running with different hardware capabilities isn't something operating systems haven't done before. It is a bad thing because it increases development and support costs for app developers and forces bugs and design compromises onto consumers. There's a reason consoles and mobile devices are replacing desktop PCs in most people's lives.

    22. Re:Java, the original sin by h4rr4r · · Score: 1

      Yet perl does not have that problem. Almost as if GC is not the problem, but the particular implementation is.

    23. Re:Java, the original sin by KZigurs · · Score: 1

      As opposed to what? Python? Ruby? PHP?

      Unless you want to get down and digging into mallocs Java works just fine. And as long as your little tetris clone doesn't depend on spring webapp supplying the board representation each frame to canvas via CORBA on localhost (can be done, can actually be done...) will probably won't differ all that much from what can be done by writing the app in assembler.

      And if you really are incapable writing code that doesn't feed off heap constantly - you can develop in C on android as well.

    24. Re:Java, the original sin by KZigurs · · Score: 1

      Hmm. I guess the fact that java* has been working just fine on mobile devices from a decade ago bears no relevance to discussion I guess?
      Can we please stop mixing up the java APIs (and some of them do contain horrible bloat), "libraries" (but nobody really forces you to build your app around that 30MB OpenGL/DirectX software renderer), and the language itself (that allows to implement memory-copy-less networking stacks, in example, and once you've cleaned your critical execution paths from needless memory allocations (just like you would do in C/ASM) runs like a charm)?

      *J2ME - java w/o reflections and with a trimmed down API.

    25. Re:Java, the original sin by KZigurs · · Score: 1

      Don't blame java for that...

    26. Re:Java, the original sin by KZigurs · · Score: 1

      Well, how about not allocating memory left and right then? Of course you'll need to spend a little bit more time to get it done nicely, perhaps think ahead a little bit and preallocate some memory where you'll need it, perhaps jump down to actually couple of arrays of primitives, etc... Almost like if you'd be using a 'proper' tool...

      And still have a choice to quickly throw together those parts of app that are non-critical to users experience.

      If android was implemented in 'proper' low level stuff, we would still be looking at version 1.5.3.

    27. Re:Java, the original sin by Atzanteol · · Score: 3, Funny

      If one is incapable of writing Java/Dalvik code that runs well then I pitty the C code they will churn out.

      --
      "Ignorance more frequently begets confidence than does knowledge"

      - Charles Darwin
    28. Re:Java, the original sin by gbjbaanb · · Score: 1

      possibly not, Symbian devs have worked with C for years on all sorts of chipsets. They squealed more about rewriting their code in Java than cross-chip compiling.

      Most Androids come on a few chip architectures anyway (or are they all ARM based?), and the API provided by Google would be standard so I can't see much problem with cross-compiling for all known Android devices. Hell, you could set up a build server in the app store so when you uploaded your code, it would auto-compile for all devices Google knows of. And it would optimise each for the particular platform - that would be a good option, IMHO.

      People are writing code for Android using C++ and Qt, so they must be handling the cross-platform problem somehow.

    29. Re:Java, the original sin by iinlane · · Score: 1

      I believe the original answer to "java in handhelds" is "java is safe". Back when running apps on your cell phone (and color screens and polyphonic ringtones) was a novel idea the phone makers were afraid of runaway apps.
      I still believe that security is the original reasoning why apple did not allow third party apps on iPhone at the beginning and only opened tightly controlled store a year later - it's an alternative to java. Now there's more politics than technical reasons.
      I can be wrong tho.

    30. Re:Java, the original sin by Mulder3 · · Score: 1

      Americansand their shitty mobile market. We (Europeans) buy phones... and we buy mobile communications packages...Two different things... When you say "iPhone is $2200 over 2 years", it sounds very ridiculous to me... if you have plan that costs you $2200 over two years, then or you talk to much on phone to justify that price or you're dumb... Buy a fucking phone... then subscribe to whatever plan that fulfills your mobile communication needs... and not more then that...

    31. Re:Java, the original sin by Mulder3 · · Score: 1

      Just to add: I payed $500 for my android(the same thing is also true for an iPhone) smartphone upfront... then i pay an average of $10 of calls/SMS plus $7.5 for a mobile internet package... I would be very dumb to subscribe a $2200 plan over two years just to get my phone for free... $2200 is roughly $91 per month, I bet most(like 90%) people don't have the need to spend over $90 per month of mobile communications...

    32. Re:Java, the original sin by mattcasters · · Score: 1

      I have an HTC Magic phone that I just upgrade to Android 2.1-update1 (2.6.34 Cyanogenmod). Obviously this phone is years old and first generation. It sports a 528Mhz phone with limited GPU capabilities and limited memory (228Mb or thereabouts).

      However, while playing games like Radiant, Labyrinth, X Construct or stuff like that I've never seen it hang because of collector pauses, stutter or anything like that. Home-screen animations are smooth and nice, even with a fish-tank in the background.

      However, a phone like this will suffer when CPU usage spikes when an e-mail, text or twitter message is read in the background. I guess it would be easy to confuse one stutter for another in that respect with a device with limited CPU power.

      --
      News about the Kettle Open Source project: on my blog
    33. Re:Java, the original sin by Anonymous Coward · · Score: 1

      Actually, that's part of the problem. Google officially preaches memory reuse and non-promiscuous object creation, and the official Android API reflects it, but it's a Java programming paradigm that more or less totally goes against everything everybody who majored in computer science was taught to regard as sacred. I force myself to treat objects like reusable containers & pass them to methods as parameters when writing Android apps, but I still feel kind of dirty and unclean every time I do it, instead of defining a proper local class specific to whatever it is that I'm trying to return and neatly wrapping everything in a purpose-built object (complete with implementation of log4j's ObjectRenderer interface... yeah, I broke down and hacked my own wrapper class to make Android's Logger act like log4j) before returning it.

    34. Re:Java, the original sin by mattcasters · · Score: 3, Interesting

      Interesting theory. I've been working with Java since version 1.0 on devices as slow as an embedded 100Mhz device with 128MB RAM and I never remember GC taking seconds.

      Just because I'm curious I tried to push our Java application (Data integration engine) to use both CPUs at 100% and dump the Garbage Collection stats to disk. Here's a typical sample:

      133,091: [GC 30567K->10559K(60160K), 0,0052000 secs]
      133,447: [GC 34943K->10347K(64832K), 0,0036360 secs]
      133,873: [GC 39659K->10347K(63872K), 0,0028940 secs]
      134,286: [GC 38699K->10531K(63104K), 0,0033140 secs]
      134,674: [GC 37923K->10263K(61952K), 0,0019690 secs]
      135,072: [GC 36759K->10351K(61184K), 0,0024490 secs]
      135,462: [GC 36015K->10339K(60352K), 0,0022610 secs]
      135,797: [GC 35171K->10739K(59840K), 0,0039780 secs]
      136,134: [GC 34803K->10679K(59008K), 0,0033120 secs]
      136,479: [GC 33975K->10567K(58048K), 0,0029140 secs]
      136,801: [GC 33159K->10647K(57472K), 0,0026420 secs]

      Note that this is without incremental garbage collection enabled. It might be possible for graphics intensive applications to notice the fraction of a second of delay but something tells me that this just might not be the case.

      --
      News about the Kettle Open Source project: on my blog
    35. Re:Java, the original sin by Daniel+Phillips · · Score: 1

      So yeah, in this context, there's nothing wrong with Java (or rather Dalvik).

      What about the collector pauses?

      "Me too." I also find that I have to tap twice in many situations to get the phone's attention at all (G2/froyo). Not all that impressed to tell the truth, although I'm much happier with it than I would be with a totally locked down Apple product. But my Nokia music phone has a way smoother user interface and way quicker response. Oh, and a way better loudspeaker, the one that comes with the $500 G2 is quite pathetic.

      --
      Have you got your LWN subscription yet?
    36. Re:Java, the original sin by Anonymous Coward · · Score: 0

      Are you kidding? We now have Ghz processors in handhelds and my old 33Mhz Palm is still more responsive when editing a text document. Android is ridiculously inefficient.

      Yeah and my old 3210 could scroll smoother than these new-fangled android devices! Stupid java, no progress, more ignorant things, etc...

    37. Re:Java, the original sin by indiechild · · Score: 1

      Not sure what country you live in where an iPhone or Android phone costs $2200 over two years!

    38. Re:Java, the original sin by dgatwood · · Score: 1

      That's because Perl doesn't have garbage collection. It has a half-assed approximation at implicit reference counting, which is pretty much the worst possible scheme you could construct. It doesn't hang because with the exception of simple data types, it rarely actually releases much of anything unless you go to a lot of trouble to force it to do so. Complex data structure? No problem. Just be sure to mark exactly the right subset out of all of those thousands of cross-references as "soft" so that it actually gets released at the right time and doesn't get released early. Otherwise you either leak memory like a sieve or get incorrect behavior. Alternatively, you can write manual destructor code that zeroes them all. Either way, Perl's so-called "garbage collector" is the essence of hell.

      Having written code that deals with lots of large objects in Perl, let me just say that I'll take the memory management scheme of pretty much any modern programming language over Perl any day of the week and twice on Sunday, where "modern" is defined so broadly that it even includes ANSI C or Pascal. Even Java. And I really don't like Java.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    39. Re:Java, the original sin by Anonymous Coward · · Score: 0

      It sounds like you're paying too much for your iPhone. Although I can't see why it would cost so much more in the states.

      My partner iPhone will cost $1300 over two years including all call and data charges.
      This is with the most expensive provider in Australia too.

      My android phone (LG Optimus one) will only cost $638 over two years including all call and data charges.

    40. Re:Java, the original sin by s73v3r · · Score: 1

      I don't think you can. In the example of J2ME, the ideas behind the language may be fine, but if you have to run it on a bunch of low powered devices, each with their own, different, buggy version of the API, its not going to be a good thing.

    41. Re:Java, the original sin by Daniel+Phillips · · Score: 1

      Android is going to get even more fragmented in the future, but that's not a bad thing. It just shows how versatile Linux can be.

      How does it show how versatile it can be? Running with different hardware capabilities isn't something operating systems haven't done before.

      Show me another operating system that rules both the top 500 supercomputer list and the smartphone market, not to mention many other segments.

      --
      Have you got your LWN subscription yet?
    42. Re:Java, the original sin by s73v3r · · Score: 1

      The USA.

    43. Re:Java, the original sin by gmhowell · · Score: 1

      The USA.

      Never heard of it. Is that one of those little countries that popped up when the Soviet Union fell apart?

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    44. Re:Java, the original sin by zeroshade · · Score: 1

      Buy a fucking phone... then subscribe to whatever plan that fulfills your mobile communication needs... and not more then that...

      Most of us would love to do this. It's just not available in the US on most major Carriers. Which fucking sucks.

    45. Re:Java, the original sin by gyroidben · · Score: 1

      T-mobile prepaid isn't bad. You pay 10c a minute for phone calls and $1.50 per day for data. If you only need to use data every few days then it works out quite a bit cheaper.

    46. Re:Java, the original sin by walshy007 · · Score: 1

      The language itself has 0 to do with its speed.

      Depends, I mean for some algorithms lacking unsigned types in java the language is a hindrance, sure the hardware can do unsigned bytes but without the language exposing it what's the point.

    47. Re:Java, the original sin by Anonymous Coward · · Score: 0

      Working with performance intensive applications. I have seen the GC to take many many seconds, even up to minutes. This is due to a number of factors, but it always seems to be cause of one of the two: Creating to many objects to fast or Having to much memory allocated to the JVM making the GC kick in to late. Also if you manges to fill up the old space you will see GC times going up. Java is a new OOP language with good support libraries, but the GC part can be horrible.

    48. Re:Java, the original sin by Anonymous Coward · · Score: 0

      The slower the device the less stuff GC has to collect. On Android stalls can be 100-200ms which is definitely annoying on a 60fps game. On a game that requires constantly fast reactions it can be a show stopper.

    49. Re:Java, the original sin by Anonymous Coward · · Score: 0

      Your example sucks: J2ME is the very opposite of "working just fine" and that's mostly due to retarded apis/libraries/implementation rather than the language.

      You may think stuff works, but you don't know the plumbing beneath it.

    50. Re:Java, the original sin by MikeBabcock · · Score: 1

      If I had mod points ... but its so true. Linux supports more hardware than Windows ever has, and does it very well. Too bad about those old myths.

      --
      - Michael T. Babcock (Yes, I blog)
    51. Re:Java, the original sin by Fnkmaster · · Score: 1

      Well, I do not observe these on a Nexus One running MIUI or a G Tablet running Vegan ROM.

      But I do agree that there is a theoretical issue associated with these. In fact, it was a practical issue on first gen devices - I used to observe these on my old G1 due to constrained memory and a slow CPU. You'd see the things stutter when the GC kicked in.

      And I am not saying there isn't room to fix up or clean some of the Android UI stuff - accelerated compositing is a good idea, better control of the garbage collection stuff, another one. That wasn't my point.

      Just saying that Java/Dalvik works well on second gen Android devices, and there is nothing fundamentally wrong with Java on a mobile device. The people who think otherwise are generally basing their opinion on experiences with first gen or similarly constrained devices (single core, 500MHz, no JIT, etc.).

    52. Re:Java, the original sin by mattcasters · · Score: 1

      Well, let's be honest, if doing something in a particular way hurts you: stop doing it!

      There is nothing in Java that says that you need to constantly throw out object and create new ones. These days these are object factories and what not out there that you can use to optimize these things.

      --
      News about the Kettle Open Source project: on my blog
    53. Re:Java, the original sin by Anonymous Coward · · Score: 0

      How about you show how to write an object factory that returns dynamically generated strings. Charsequence is not a string.

  5. Waiting for better hardware == Java applet death by vlueboy · · Score: 0

    Waiting for hardware to improve in light of today's slow phone makers just puts things in their hands. Users are lots faster at switching back from an annoyingly slow phone than the company making it is to silently upgrade that product line with faster hardware.
    Outside of academia, JS and Flash became alternatives over the hardware hungry Java Applet segment. Google must be the party best-aware of how fragmentation and lack of telco UPDATES put a hamper on the Android name. That they are stating they want the fragmented market to uniformly float up to levels where the worst phones are not unusably slow just shows that they are not evaluating the markets right. Netbooks have been out ~5 years, yet hardware never got past 1GB of RAM and speeds never got near the raw power to watch Youtube that low-end laptops have had for years.

  6. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by MobileTatsu-NJG · · Score: 0

    Doesn't optimization for particular hardware exacerbate their issues with fragmentation?

    Ssshhhh, fragmentation is a myth!

    --

    "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

  7. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Desler · · Score: 3, Insightful

    There is this new thing called "conditional compilation" which allows one to include code that both optimizes for certain hardware and contains generic code that could work on all devices. I hear it's the new rage of how you make code work on multiple hardware and software platforms.

  8. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by RightSaidFred99 · · Score: 3

    Can anyone tell me why that AnandTech article from March is evidence that Windows Phone 7 has lapped Android? And why it just happened?

    He's talking about the fact that Windows Phone 7 has advanced GPU acceleration built in from the beginning in several facets of the environment. Android doesn't and it's a few years older.

    It certainly hasn't lapped it in terms of sales or momentum, but it could. Android has both the advantage and the curse of being more open and versatile - WP7 has the possibility of a more restrained set of hardware differences and can build in more low-level functionality.

  9. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Anonymous Coward · · Score: 0

    There is this new thing called "conditional compilation" which allows one to include code that both optimizes for certain hardware and contains generic code that could work on all devices. I hear it's the new rage of how you make code work on multiple hardware and software platforms.

    Yeah and now you're talking about a massively different user experience on different devices ... that's really annoying to application developers.

  10. Possible Fix by Anonymous Coward · · Score: 0

    One possible way to fix this, if it is indeed a problem, is to do exactly what Apple is doing. This short writeup describes it well (read the section titled "OpenCL Compiler"):

    http://developer.apple.com/library/mac/#documentation/Performance/Conceptual/OpenCL_MacProgGuide/OpenCLontheMacPlatform/OpenCLontheMacPlatform.html

    Each graphics card is running a low level virtual machine (LLVM, also the name of the compiler used, noteable for this ability) which emits optimized instructions on the target card. A different backend may be required for each graphics card, but each generation is not so different than the last.

    1. Re:Possible Fix by iinlane · · Score: 1

      OpenCL is using GPU for tasks that are normally done by CPU. The problem at hand is exactly opposite: CPU is doing stuff that GPU should do. OpenGL is the solution.

  11. Re:Waiting for better hardware == Java applet deat by h4rr4r · · Score: 1

    I watch youtube on my netbook just fine. It has 2GB of ram and an SSD. WTF are you on about?

  12. What we need... by digitaldc · · Score: 0

    ...are more efficient batteries. Google could save a lot of headache by putting some of its billions in to rechargeable battery research.

    --
    He who knows best knows how little he knows. - Thomas Jefferson
    1. Re:What we need... by Anonymous Coward · · Score: 0

      Power consumption can be controlled. Having video hardware do work is cheaper in energy than a CPU doing it. This has been known for a very long time. Google are being lazy. Their rendering can support both. We've had this in openGL for fscking years. It's nothing new.

    2. Re:What we need... by Anonymous Coward · · Score: 0

      Only an advantage if you are the only one with access to the better batteries. With the current Android ecosystem, that is not going to happen.

    3. Re:What we need... by iinlane · · Score: 1

      No amount of hardware will fix the problem that android is facing, current hardware is way faster than needed for silky smooth UI.

      I'm not really sure but I believe android is using immediate mode graphics for 2D while iOS and WP7 are using retained mode graphics. The advantage of retained mode is that GPU deals with drawing the screen and processor does not have to deal with it meaning that if app is blocked by garbage collector an animation may continue.

  13. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Desler · · Score: 1

    Yeah and now you're talking about a massively different user experience on different devices ... that's really annoying to application developers.

    So basically no different than the current situation?

  14. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by iluvcapra · · Score: 4, Insightful

    I don't know enough about the Android graphics API, but if it's designed properly it should be possible for the client to always call the same function and the underlying implementation to select the code path most optimized for the platform. Mac OS X has one CoreGraphics API, and it either composites on the GPU or on the CPU depending on what's available. I don't see why Amdroiid can't do the same.

    --
    Don't blame me, I voted for Baltar.
  15. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by MobileTatsu-NJG · · Score: 1

    There is this new thing called "conditional compilation" which allows one to include code that both optimizes for certain hardware and contains generic code that could work on all devices. I hear it's the new rage of how you make code work on multiple hardware and software platforms.

    You mean like the rage of having your code get more and more complex every time a handset comes out?

    --

    "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

  16. ... and the expert gets to chose his own tools. by eddy · · Score: 1

    That's great for those who want it, but how about those of us who'd rather bang closer to the metal?

    --
    Belief is the currency of delusion.
    1. Re:... and the expert gets to chose his own tools. by Desler · · Score: 1

      Then don't bother with Android. Even if you use the NDK you are still having your program sandboxed in the VM and you get no real speed benefits.

    2. Re:... and the expert gets to chose his own tools. by Anonymous Coward · · Score: 0

      Android NDK

    3. Re:... and the expert gets to chose his own tools. by Aladrin · · Score: 1

      Then fragmentation really does become a problem because the processor is not guaranteed to be any particular model. You'd have to manually compile for each one.

      That's why the JVM (or .NET CLR) is so nice. You can compile once and have it run on all devices.

      --
      "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
    4. Re:... and the expert gets to chose his own tools. by h4rr4r · · Score: 1

      .NET on all devices? Are you mad?

      No matter what MS likes to claim .NET is not portable in any meaningful way. The day I see MS made virtual machines for linux and mac is the day .NET becomes portable.

    5. Re:... and the expert gets to chose his own tools. by Anonymous Coward · · Score: 1

      Then don't bother with Android. Even if you use the NDK you are still having your program sandboxed in the VM and you get no real speed benefits.

      Entirely incorrect in the facts, though perhaps a decent conclusion.

      The davlik VM does not provide any sandboxing, nor does native code run within it.

      Instead, applications are sandboxed by the linux kernel, each running as it's own userid.

      This does tend to prevent low-level access to the hardware from native code which ordinarily cannot gain the necessary linux-level permissions to the device files, etc. And the provided high-level APIs for talking to services which do have low-level access tend to be java only, requiring native code to go back up through jni before it can do much.

    6. Re:... and the expert gets to chose his own tools. by igreaterthanu · · Score: 1

      Ported != Portable.

      Most of .NET is very platform agnostic.

      --
      I dream of a nation where a man is not judged by his skin color but by an number assigned by a credit rating agency.
    7. Re:... and the expert gets to chose his own tools. by Anonymous Coward · · Score: 0

      For a platform subset of one.

    8. Re:... and the expert gets to chose his own tools. by Anonymous Coward · · Score: 0

      Exactly. While I do have to compile slightly differently to get it to happen, I can write code in .Net that runs on Windows, XBOX 360 and WP7.... thats pretty fucking portable. Not to mention Mono, which does actually work even if it isn't current.

      Isn't the CLI specification open?

    9. Re:... and the expert gets to chose his own tools. by Desler · · Score: 1

      O rly?

      If you write native code, your applications are still packaged into an .apk file and they still run inside of a virtual machine on the device.

      It's funny that you claim it doesn't run within the VM yet Google says just the opposite. Oh who to believe...

    10. Re:... and the expert gets to chose his own tools. by Desler · · Score: 1

      I should add that I was incorrect on the sandboxing part, but the fact is that it runs in the VM and it doesn't gain you any speed as Google itself backs up.

      Using native code does not result in an automatic performance increase, but always increases application complexity.

      So yes, I incorrectly was saying it was sandboxed but everything else is backed up by Google.

    11. Re:... and the expert gets to chose his own tools. by iserlohn · · Score: 1

      The application main loop runs in a VM (as per all Android apps), but the native parts of the application runs, well, natively. According to your interpretation, there is no benefit to using the NDK at all, which is, well.... incorrect..

    12. Re:... and the expert gets to chose his own tools. by TrancePhreak · · Score: 1

      Windows Mobile 5/6 also had .net libraries.

      --

      -]Phreak Out[-
    13. Re:... and the expert gets to chose his own tools. by Daniel+Phillips · · Score: 1

      The statement "run inside of a virtual machine" is misleading, it conflates two different meanings of "virtual machine".

      1. Linux virtualization using namespaces etc or a hypervisor.

      2. Java virtual machine, the bytecode interpreter.

      Android uses neither according to this page. It does however play fast and loose with terminology. I have never heard a linux developer refer to normal Unix style uid security as "sandboxing", whereas the referenced page seems quite comfortable perpetrating that abuse.

      I guess the bottom line is, don't blindly accept something as gospel just because it is posted on a Google site.

      --
      Have you got your LWN subscription yet?
    14. Re:... and the expert gets to chose his own tools. by igreaterthanu · · Score: 1

      Isn't the CLI specification open?

      Yes it is, and it's standardized. Unlike Java.

      --
      I dream of a nation where a man is not judged by his skin color but by an number assigned by a credit rating agency.
    15. Re:... and the expert gets to chose his own tools. by exomondo · · Score: 1

      No matter what MS likes to claim .NET is not portable in any meaningful way. The day I see MS made virtual machines for linux and mac is the day .NET becomes portable.

      Yeah, cos linux and mac are the only other platforms. I suppose you haven't heard of the xbox360? or WP7? Get your head out of the sand.

    16. Re:... and the expert gets to chose his own tools. by s73v3r · · Score: 1

      Portable tends to mean platforms from more than one vendor.

    17. Re:... and the expert gets to chose his own tools. by exomondo · · Score: 1

      Portable tends to mean platforms from more than one vendor.

      No it doesn't, it has nothing to do with the vendor.

    18. Re:... and the expert gets to chose his own tools. by Anonymous Coward · · Score: 0

      Didn't they make Silverlight for Mac? It's a .NET virtual machine...

    19. Re:... and the expert gets to chose his own tools. by Desler · · Score: 1

      The native code still runs inside of the virtual machine which hobbles it to be slower than it should be.

    20. Re:... and the expert gets to chose his own tools. by Daniel+Phillips · · Score: 1

      The native code still runs inside of the virtual machine which hobbles it to be slower than it should be.

      That is not true. A JNI call can do whatever it wants, including calling native libraries, and including forking a separate process or thread. There is no "run inside a virtual machine", there is just "share the address space with Java threads".

      --
      Have you got your LWN subscription yet?
  17. Re:Waiting for better hardware == Java applet deat by Veldcath · · Score: 1

    My netbook may only have 1 GB of RAM, but I watch Youtube, Hulu and Netflix on it in standard definition, no real troubles?

    --


    ... "I read part of it all the way through." -- Movie Mogul Sam Goldwyn (and some slashdot readers)
  18. Re:Failure of lazy open sores developers by the+linux+geek · · Score: 1

    Surprisingly perceptive for a troll......

  19. sounds like a job for JIT by larry+bagina · · Score: 2

    OS X uses llvm just-in-time compilation in the graphics stack. If the hardware supports it, it's sent to the GPU. Otherwise, it's done in software. Since android is based on dalvik, they shouldn't have a problem doing something similar. Sure, they need to support cheap pieces of shit, but that doesn't mean they can't support anything else.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

    1. Re:sounds like a job for JIT by h4rr4r · · Score: 2

      Which means you now have to support how many cards? Are the vendors going to provide drivers that can even go into the android project?

    2. Re:sounds like a job for JIT by Entrope · · Score: 2

      Cell phones are not known for having many kinds of graphic cards available. Heck, they're not even known for using many kinds of discrete graphics chips. I will even go so far as to say that they draw from a rather narrow set of embedded graphics cores.

      PowerVR is pretty much the market leader, ARM is playing catch-up with Mali, and then you get the long tail. GPU core and SoC vendors know how to work together to deliver usable libraries for chip buyers -- witness the OpenGL ES acceleration that is available for the Texas Instruments OMAP series of processors (BeagleBoard, etc.).

      It should not be that hard for Google to get decent acceleration that works on a large fraction of modern phones, while falling back to software rendering for older phones.

    3. Re:sounds like a job for JIT by h4rr4r · · Score: 1

      Usable for chip buyers, which means probably not generally available. Thus meaning as google is not a chip buyer what are the odds they will get gpl, bsd or apache licensed code?

    4. Re:sounds like a job for JIT by Entrope · · Score: 1

      Google gets GPL-, BSD- and Apache-licensed code all the time. If you meant to ask whether Google will get device driver code that falls under those licenses for the various cores and system-on-chip platforms that are out there, the answer is that Google doesn't need that. Google needs an API like OpenGL ES for Android to use. The component vendors typically make sure that OpenGL ES drivers for Linux exist in distributable form.

    5. Re:sounds like a job for JIT by h4rr4r · · Score: 1

      Which means kernel updates become a huge pain. I buy desktops and laptops with open drivers for a reason, I want a GPLed drivers on my phone too.

    6. Re:sounds like a job for JIT by Entrope · · Score: 1

      Good luck with that windmill, Senor Quixote.

    7. Re:sounds like a job for JIT by sjames · · Score: 1

      That depends on how much they'd like to have a market for their products.

    8. Re:sounds like a job for JIT by iinlane · · Score: 1

      The problem is not that hardware is too slow to do it - original iPod touch is much slower than Nexus S - but it's because business logic and UI update are in same thread. No JIT or dual core processor will make the problem go away.

      Microsoft and Apple are using retained mode graphics - app describes what's on screen and drawing is taken care by asynchronous process or GPU. After an animation is dispatched the app itself may suspend if it wants but the animation will complete without an hitch.

      Android is using immediate mode graphics meaning the app must draw every line on screen and if app pauses the animation also pauses. Implementing the draw commands in GPU (as suggested by Roman Guy from android team) does not help to solve the problem because (even if it makes the draw commands faster) when app pauses there won't be any draw commands.

    9. Re:sounds like a job for JIT by yabos · · Score: 1

      Ever heard of OpenGL? IF the handset wants hardware acceleration then they can provide a driver(if it's not a standard GPU). If they don't then they don't. What is so hard about this? The UI gets composited through an OpenGL pipeline and the GPU renders it all. It's not that complicated.

  20. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Desler · · Score: 1

    You mean like the rage of having your code get more and more complex every time a handset comes out?

    So basically the situation that already exists. All these new devices tend to need new drivers added to the kernel and they usually do some sort of tweaking to the kernel. Seriously, if they can't handle complexity then they shouldn't be the ones maintaining and developing an OS. Such work is just inherently complex.

  21. Re:Waiting for better hardware == Java applet deat by Anonymous Coward · · Score: 0

    I agree with you that the product cycle is longer in the mobile phone business.
    If netbooks are still limited it's because intel has strict restrictions on devices using the atom. In order not to cannibalize its own market share on other markets.
    But in the end, the phone maker policy of not upgrading embarked software benefits this approach because software will always have hardware synchronized with. I agrre it's a misery for the user, still hardcore projects enable power users to keep pace. And not that much people needs a phone optimized for "fast latest 3D games". Those people and the crazy geeks will always want to have bleeding edge and will buy. The other people like me will use their phone and its handy apps as long as it is working. By the way, that's how we should behave to save the planet.

  22. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Anonymous Coward · · Score: 0

    Going along this line of reasoning is simliar to what microsoft does, once the basic foundation is mammoth size and wanting,
    complain about everything else all the while expanding the mammoth to a full blown Sauropod.

    Dual core + higher powered procs on a phone = bad idea, you probably need a personalized body electricty generator to keep it juiced.

    I think at some point someone has to decide to support a few GPUs or the companies themselves provide their certified drivers for android.
    Even now with the latest android phone the interface is still choppy compared to the silky smoothness of the iphone you can take it to a dual core but have feeling its going to be the same.

    Its like comparing mesa to running compiz under proper ati/nvidia drivers everything just looks in place.

    -S

  23. Re:Waiting for better hardware == Java applet deat by whiteboy86 · · Score: 1

    Waiting for better hardware

    That was the very purpose of inefficient Java.
    (to sell Sun's 'better' hardware)

  24. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by whiteboy86 · · Score: 1

    Smartphone and no GPU? That is not a smartphone in 2011.

  25. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by bhcompy · · Score: 4, Insightful

    When you optimize to GPUs, you have to optimize to all GPUs. I realize there are common instruction sets but the main selling point of Android is its versatility. If I start coding for only Snapdragon processors with PowerVR GPUs because it has a better UX, then it sort of destroys any benefit I get from Android and I might as well code for iOS because I know what that hardware will always be. A lot of the benefits of Android applications being Java byte code completely independent of the hardware are overlooked in this proposition.

    You mean it's like a real, honest to goodness, computer operating system? Oh no! The horror! Guess you should stop making software for Windows, Linux, and OSX then, since the hardware can provided different capabilities for systems using the same operating system!

  26. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by alvinrod · · Score: 2

    You don't need to optimize for all of them. Go ahead and pick some of the more popular ones that already exist and optimize for those. Manufacturers are still free to choose different hardware or write their own code, which they are perfectly free to do being that Android is open.

    Having a few 'better' options isn't going to be worse than the lowest common denominator crap that's going on now.

  27. Re:java's architecture is broken by design by Anonymous Coward · · Score: 0

    why do you post at zero? why do you pretend to use your real name?

    you're completely pathetic, feeb.

  28. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Anonymous Coward · · Score: 0

    The article gets into how Silverlight uses the GPU to accelerate certain operations as he is referring too in his post.

    I assume using "just" is a reference to the fact that it's not even 3 months old in terms of being on the open market.

  29. And yet, somehow, it's WORKING!? by mcrbids · · Score: 2, Interesting

    OMG Android is making a play that's designed to let lower cost, highly capable devices subsist in the marketplace? How horrible is that?

    I switched from Evil Major Network (TM) to Metro PCS a little over a year ago, and haven't regretted it for a SECOND. It is so nice, getting what you paid for, rather than wondering how much you'll be overcharged for what you aren't even sure you got... it's the ONLY way to survive teen children!

    And even Metro PCS, the low price leader, offers a couple of Android phones that are highly capable and useful. For less than $300 I was able to upgrade my wife's shatty phone with a nice, capable Android phone with GPS, navigation, browser, email, games, full-screen youtube, Facebook, Marketplace et al (AKA "the works") and a good, full day of battery life. She LOVES the phone! In case you are wondering, it was the Samsung LG Optimus. And the network cost went from $40/month to (gasp!) $50...

    Talk about having your cake and eating it too?

    Say what you want, Android's strategy is working, as demonstrated by its continuing skyrocketing market share.

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
    1. Re:And yet, somehow, it's WORKING!? by h4rr4r · · Score: 0

      Do you work for them?

      This reads like an ad, you could just be really happy about them I guess.

    2. Re:And yet, somehow, it's WORKING!? by Anonymous Coward · · Score: 0

      I couldn't agree with you more. The Optimus is a wonderful phone and you can get them for nearly free now (free as in 2-year contract with a major carrier in the US)

    3. Re:And yet, somehow, it's WORKING!? by Anonymous Coward · · Score: 0

      I'm in a similar situation, and this afternoon I'm going to go buy my wife the Samsung Intercept for Virgin Mobile. Phone is $250, and the coverage around us is good (she already has a VM flip phone). But best of all is unlimited data/text/messaging and 300 minutes for $25/month, and no contract. I can't see paying AT&T prices, even though the iphone is a bit nicer.

    4. Re:And yet, somehow, it's WORKING!? by Anonymous Coward · · Score: 0

      a good, full day of battery life.

      That doesn't sound like an advantage. I get a week of battery life out of my mobile phone and it's about four years old. I would have thought that battery life was increasing in newer phones, not decreasing.

    5. Re:And yet, somehow, it's WORKING!? by Anonymous Coward · · Score: 1

      OMG Android is making a play that's designed to let lower cost, highly capable devices force design choices that make faster, better phones still work like shit? How horrible is that?

      FTFY.

    6. Re:And yet, somehow, it's WORKING!? by BitZtream · · Score: 2, Insightful

      OMG Android is making a play that's designed to let lower cost, highly capable devices subsist in the marketplace? How horrible is that?

      Pretty bad actually. Considering we've been using APIs that allow hardware acceleration with fallback to software implementations like OpenGL to handle JUST THIS EXACT PROBLEM for the last 25-30 years, I'd say it was absolutely shitty for Google to fuck up this badly.

      Of course, perhaps thats cause I understand the problem as stated where as you're comparing service providers. You're obviously a fan boy since you're trying to sell everyone on how awesome it is to buy Android devices.

      As far as saying what I want, well, once the hype dies down which has already started, and more and more people start complaining which is already starting, it will suddenly become clear that the holy grail of smart phone OSes really isn't better than any of the others and has its own unique set of flaws ... just like all the others.

      Funny thing is you can do the same thing with an iPhone as far as upgrading for less than $300 and getting all the crap you posted as features for it ... its funny that you mention facebook ... a website ... that any phone with a browser can get too.

      The only advantage you offered was the $50 service fee, however, having been a MetroPCS customer, I can honestly say you get EXACTLY what you pay for. If you never leave your city, it'll kick ass. Those of us who occasionally go outside of the 8 square blocks that Metro PCS covers in a town need something a little more useful.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    7. Re:And yet, somehow, it's WORKING!? by Anonymous Coward · · Score: 0

      Samsung LG Optimus??? Which is it? Samsung or LG?? Have Samsung and LG done a merger on the quiet? of course I am being facetious

      As far as I was aware it was the LG Optimus...

    8. Re:And yet, somehow, it's WORKING!? by Anonymous Coward · · Score: 0

      The tone of your post made me vomit in my mouth a little. Please calm down.

    9. Re:And yet, somehow, it's WORKING!? by Spectre · · Score: 1

      Battery life for "smartphones" is pretty much stuck at "the battery goes flat after 16 hours" if you use the phone very much.

      More if the phone is nearly always in standby.
      Less if you are doing screen intensive stuff for several hours (web browsing, gaming, continual twitter use, whatever).

      Those large hi-res screens and the apps to fill them eat power.

      --
      "Flame away, I wear asbestos underwear"
    10. Re:And yet, somehow, it's WORKING!? by Locke2005 · · Score: 1

      The iPhone had flaws, such as the lack of true multitasking, which were/are being fixed. Android also has flaws, which were/are being fixed. Yes, the Android ecosystem has a disadvantage in that it is subject to fragmentation, and the iOS ecosystem has a disadvantage in that Apple tries to exert too much control over developers. I expected Android to catch up with iOS much more quickly than it did; that was my mistake. By most reports, Froyo is the first Android release that is really ready for prime time -- unfortunately my G1 won't run it without some serious kludging.

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    11. Re:And yet, somehow, it's WORKING!? by Locke2005 · · Score: 1

      More like "battery dies withing 45 to 90 minutes" if you use the phone for turn-by-turn navigation. Nothing like turning on display, CPU, GPS, 3G radio, and audio on full time to run the battery down quick.

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    12. Re:And yet, somehow, it's WORKING!? by Locke2005 · · Score: 1

      But best of all is unlimited data/text/messaging and 300 minutes for $25/month, and no contract. I can't see paying AT&T prices, even though the iphone is a bit nicer.

      Your wife must be different from my wife, who manages to exceed her 1500 minutes/month allocation. Is your wife a deaf/mute, by any chance?

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    13. Re:And yet, somehow, it's WORKING!? by Anonymous Coward · · Score: 0

      Good thing they are installing low-voltage generators in newer automobiles to help offset the increased power consumption of satellite navigation.

    14. Re:And yet, somehow, it's WORKING!? by Locke2005 · · Score: 1

      You are correct, plugging the phone into the "cigarette lighter" jack (or USB jack on newer cars) alleviates the problem... until you get out of the car and put the phone in your pocket without turning navigation off (despite the fact that it being noticably warm is sort of a hint that navigation is on) or try to navigate somewhere by bicycle or on foot.

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    15. Re:And yet, somehow, it's WORKING!? by bonch · · Score: 1

      OMG Android is making a play that's designed to let lower cost, highly capable devices subsist in the marketplace? How horrible is that?

      Horrible enough to hurt the user experience, unless you think it's okay for software-based compositing to inefficiently drain your battery or for scrolling to be choppy years after the iPhone 1 on less powerful hardware was smooth and responsive. If you don't think it's important for animated user elements on a touchscreen to not pause, then you're just being a fanboy. If Android doesn't address these concerns, it will plateau and be overtaken by others willing to compete on Apple's level.

      Say what you want, Android's strategy is working, as demonstrated by its continuing skyrocketing market share.

      Not that it matters, but a Nielsen report just came out showing iOS as the #1 mobile U.S. operating system. Much of the "skyrocketing" marketshare is on cheap, lower-class phones can can barely run things. Hey, it still counts, but it's not some magical revolution in smartphone platforms. It's a Linux OS from an ad company wanting people to run free apps that just so happen to display their ads...

    16. Re:And yet, somehow, it's WORKING!? by h4rr4r · · Score: 1

      Get her a damn job. Both me and the live in girlfriend only use about 150 minutes a month, maybe another 100 verizon to verizon.

    17. Re:And yet, somehow, it's WORKING!? by Anonymous Coward · · Score: 0

      Sorta. If you don't mind a jittery UI.

    18. Re:And yet, somehow, it's WORKING!? by SiChemist · · Score: 1

      Much of the "skyrocketing" marketshare is on cheap, lower-class phones can can barely run things.

      Not according to this.

    19. Re:And yet, somehow, it's WORKING!? by Bigjeff5 · · Score: 2

      The best advertisement a company can get is word of mouth.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    20. Re:And yet, somehow, it's WORKING!? by david@ecsd.com · · Score: 1
      Your wife talks too much. Who in the hell talks that much on the phone? Fucking christ, that's fifty minutes a day she's talking on the phone. Is she giving people a play-by-play? Doesn't she know how to use the texting keyboard? I'm on Virgin Mobile USA, and my cap is $40 for 1200 and I've yet to exceed 400 minutes. I can spring another $20 and get unlimited talk time if my tongue somehow loosens.

      Fuck contracts.

      Fuck Apple and AT&T/Verizon. If I ever have the need for a family plan I'll go to T-Mobile and go month to month with a cheap android phone from craig's list.

  30. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by TeknoHog · · Score: 4, Insightful

    Somebody should really invent a programming interface for graphics. You could use hardware or software rendering for the same code, or generally a mixture of both, depending on the capabilities. It could be called "open graphics library" or something.

    --
    Escher was the first MC and Giger invented the HR department.
  31. Using hardware features better than emulation by Anonymous Coward · · Score: 0

    Google engineers dismiss the desire for hardware-accelerated compositing

    It that one engineer or more than one? Because one can make a mistake, but more than one, that would be a fail! I don't care what hardware does, ASIC solution is always better than emulation. I have to agree with Charles Ying - "On mobile, power efficiency is king"

  32. Yet more Java bullshit by Anonymous Coward · · Score: 0

    Man I hate Java programmers. They're always have to work around the limitations of that craptacular system and act like it's a good thing. No, no it's not. It's a broken, slow, poorly designed piece of crap.

  33. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by 0100010001010011 · · Score: 4, Interesting

    Debian seems to handle it just fine and (based on gcc) they're compiling for 14 different platforms* and 3 different kernels (linux, hurd, freebsd)

    Is it that difficult to setup a similar thing in the app store? "Oh it looks like you're running an ARMv5 and a PowerVR GPU. We'll give you this binary."

    Or, you do what Apple has always done with Fat Binaries. 68k to PPC. PPC to PPC64. PPC* to i386. i386 to x86_64. You could have one single fat binary that supported ppc, ppc64, i386 and x86_64. And it "Just worked". They were literally checkboxes in XCode. How many GPU and CPU solutions are there for the Android? This isn't low level Assembly code, it's compiled Java.

    *alpha amd64 armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel powerpc s390 sh4 sparc sparc64

  34. Feeding the what? by Big_Mamma · · Score: 4, Informative

    Let me tell you one thing about that: Java isn't the problem. In my definition of feeding the GPU: triangles/sec, fillrate and OpenGLES objects/sec, Java is just 10% behind a raw C benchmark like glbenchmark 1.1/2.0. They quoted 880kT/s, I managed 750kT/s in non native code. And to get that, you have to carefully feed the GPU with the right batch sizes, don't issue too many state changes, pack things interleaved in the video buffer, don't use dynamic point lights, etc etc. It isn't as bad as an NDS, but the Snapdragon GPU is quite hard to tame.

    The problem with using the GPU is that every context switch requires a complete reinitialization of the GL context, even on a PC, alt tabbing into and from fullscreen games takes ages - it's fine when specific applications which requires the speed use it directly, but it's not when going from one activity to another gives you a loading screen.

    Animation performance and touch responsiveness? Is that the best he can come up with for such a title? I have no idea what he's talking about, but scrolling the browser works just fine here on a not-so-recent HTC Desire. The only time things break down is when the garbage collector halts everything for a third of a second (see DDMS/logcat messages), and those pauses are reduced to sub 5ms in the new builds. That's tons more useful than rendering surfaces to quads and using OpenGL ES to draw them, and IMO, the Android team made the right decision.

    1. Re:Feeding the what? by dgatwood · · Score: 1

      The problem with using the GPU is that every context switch requires a complete reinitialization of the GL context, even on a PC, alt tabbing into and from fullscreen games takes ages - it's fine when specific applications which requires the speed use it directly, but it's not when going from one activity to another gives you a loading screen.

      Odd, I've never noticed such problems in Mac OS X, even though every window in the OS is composited by the GPU. Maybe it's not so much that GL is inherently flawed so much as that the Windows implementation was hobbled by Microsoft so that game developers would use DirectX instead.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    2. Re:Feeding the what? by Locke2005 · · Score: 1

      On my Android G1 (which can only run Android 1.6), occasional long pauses before responding to touch input IS a problem. But I assumed that was fixed on newer phones with faster CPUs running Froyo or Gingerbread. I haven't seen any problems on the Color Nook, which is really just a cheap Android tablet device. Anybody have experience with the newest Android releases that can say whether or not these problems are already fixed?

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    3. Re:Feeding the what? by h4rr4r · · Score: 1

      The G1 can run Froyo. I would imagine Gingerbread will soon be available for it as well.

      http://forum.cyanogenmod.com/index.php?/files/category/3-htc-dream-htc-magic/

    4. Re:Feeding the what? by Anonymous Coward · · Score: 0

      The problem with using the GPU is that every context switch requires a complete reinitialization of the GL context, even on a PC, alt tabbing into and from fullscreen games takes ages(....)

      (...)Maybe it's not so much that GL is inherently flawed so much as that the Windows implementation was hobbled by Microsoft so that game developers would use DirectX instead.

      I don't have too much insight into OpenGL on mobile devices (I've just started experimenting with OpenGL ES 2.0 on Bada...) or on MacOS (never had any...), but on Windows (I've been programming for years...) a context switch does not require any reinitialization, so I have no idea what are you talking about... Well, if a single app uses several OpenGL contexts, then switching between them comes at a cost, but it's only noticeable when you do it every frame at 50 fps (last time I did it... was it shadowmaps in pbuffers? Doesn't matter, there is FBO now...). On the other hand, DirectX9 (the newest one I used) does require reinitialization of various resources after some stupid stuff like window mini/maximalization. I learned about it the hard way - through app crashes:) Should have read the spec earlier...
      As for reasons for game developers choosing DirectX - well, there are lots of them (some more, some less valid - I still prefer OpenGL) , but I don't know of any context reinitialization/switch ones...

    5. Re:Feeding the what? by exomondo · · Score: 1

      The problem with using the GPU is that every context switch requires a complete reinitialization of the GL context, even on a PC, alt tabbing into and from fullscreen games takes ages - it's fine when specific applications which requires the speed use it directly, but it's not when going from one activity to another gives you a loading screen.

      Odd, I've never noticed such problems in Mac OS X, even though every window in the OS is composited by the GPU. Maybe it's not so much that GL is inherently flawed so much as that the Windows implementation was hobbled by Microsoft so that game developers would use DirectX instead.

      Read the text he wrote - in fact it's the text you quoted - you're not comparing the same scenario.

    6. Re:Feeding the what? by VortexCortex · · Score: 1

      You're right, the GPU isn't the problem.

      The problem is that Java has a built in garbage collector that runs when it wants to -- even occasionally in the middle of your code that is delivering an animation.

      The current solution is to Never allocate or deallocate anything if you require smooth frame-rate. Any time an object is 'new'd or all references to it are lost Java may take the opportunity to garbage collect.

      I've written several GCs for games and real-time applications. IMHO, Java (or Davlik) really just needs a System.deferGC( true ); method that will tell Java (or Davlik) to try NOT to run GC unless it is absolutely necessary.

      Although you can try to make sure your code doesn't accidentally trigger garbage collection -- WHY SHOULD YOU HAVE TO? Not having to worry about GC is one thing, but not giving the developers even a smidge in of control over the GC is one of Java's most frustrating aspects.

    7. Re:Feeding the what? by VortexCortex · · Score: 1

      To be fair, OpenGL context switching is pretty damn fast... It's switching resolutions & color depth that takes ages... even with DirectX.

    8. Re:Feeding the what? by EETech1 · · Score: 1

      Isn't Alt-Enter to go in and out of full screen (no other applications or desktop or taskbars will be visible), and Alt-Tab to change applications (which may or may not be full screen)

    9. Re:Feeding the what? by exomondo · · Score: 1

      That's true, the time taken rebuilding the context depends a lot on the complexity of the context and yes the switching of resolutions and color depth plays a part - a big contribution comes from the monitor switching modes too.

  35. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by morgan_greywolf · · Score: 0

    Show me an issue of fragmentation. No, that one game everyone talks about doesn't count; it's not a result of OS fragmentation, but a result of some devices not meeting minimum hardware requirements.

  36. Given that phones are still an 'embedded' platform by scorp1us · · Score: 1

    It seems like something like Meego (Linux+GL+Qt) would be the best way to go, if you are not an Apple device.

    I never understood why anyone would want to interpret byte-code on a battery powered device. Or give up control of garbage collection. Maybe the VM enforces things like local file system access, but a few lines in the kernel can enforce that too.

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
  37. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Anonymous Coward · · Score: 0

    Yes, a graphics API or HAL with drivers for each GPU is the only real way to achieve parity with other platforms. It makes sense to do that if Android wants to get accelerated graphics (which it should).

  38. Also Poor compared To Symbian Battery life ..... by thaig · · Score: 1

    Symbian^3 also needs a GPU and has very good power management and doesn't support older hardware ... oh, but wait, this is Slashdot....Symbian bad and old fashioned and hopeless...Android good.....

    --
    This is all just my personal opinion.
  39. Average? by grumpyman · · Score: 1

    Well, as expected, Android is targeted at average mass consumers, so average battery life is acceptable. What gives?

  40. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by MobileTatsu-NJG · · Score: 4, Insightful

    That depends on the optimization and how that chipset actually handles throwing stuff on the screen. 'Optimize' may not just mean "format the data this certain way and it'll fly through the processors more quickly", it could also mean "use more polygons and lower-res textures because the chipset is better at moving verts around than filling texels". It doesn't matter that it's not low-level if it affects how the whole engine works.

    --

    "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

  41. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by TheRaven64 · · Score: 5, Insightful

    Add to that, you really don't need to optimise the code that you use for compositing on the GPU. A low-end mobile GPU can render something on the order of three million textured triangles per second. A typical mobile UI has a few dozen UI elements, with one texture and two triangles (one square) each. Even really crappy code is not going to come close to taxing the GPU. That's why we do compositing on the GPU - because it can run in its lowest-clocked mode and still provide fast performance, which lets you use the CPU for something else (or down-clock it too and save battery life).

    --
    I am TheRaven on Soylent News
  42. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by MobileTatsu-NJG · · Score: 1, Informative

    No, that one game everyone talks about doesn't count; it's not a result of OS fragmentation, but a result of some devices not meeting minimum hardware requirements.

    What do you think fragmentation is?

    What I find funny about this argument is that the same group of people claiming fragmentation will never be an issue is also the same group of people that claims that PC games aren't as good as they could be (graphically) because they cater to the lowest common denominator.

    --

    "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

  43. GC vs. temp objects by ThePhilips · · Score: 1

    and cite more powerful hardware and an avoidance of temporary objects as a solution to the collection pauses

    LOL.

    Java is pretty much only GC language I'm aware of where temp objects are passed to GC. Perl (and I'm sure myriad of other GC languages) at compile time takes note what objects are not used outside of the context and destroys them immediately. IIRC Java is the only language where they blankly send all stuff to GC, regardless. Obviously that that in long term hurts latencies: GC has to recycle them eventually and if there is no spare CPU/core, then it has to take the time from other threads.

    --
    All hope abandon ye who enter here.
    1. Re:GC vs. temp objects by Locke2005 · · Score: 1

      Java is pretty much only GC language I'm aware of where temp objects are passed to GC. Perl (and I'm sure myriad of other GC languages) at compile time takes note what objects are not used outside of the context and destroys them immediately. IIRC Java is the only language where they blankly send all stuff to GC, regardless. Obviously that that in long term hurts latencies: GC has to recycle them eventually and if there is no spare CPU/core, then it has to take the time from other threads.

      You're forgetting InterLisp (which probably is best forgotten). When Xerox released the InterLisp D machines, even files were garbage collected, meaning that if you deleted a large file, the machine went into a 10 minute garbage collection cycle, effectively blocking it from doing anything else. I'm sure there are other languages that use poorly-designed GC as well. I've never really liked garbage collection, but the alternative is to use IBM MVS like static preallocation of a "dataset" fpr everything. This guarantees predictable behavior, at the expense of using a lot more memory -- but memory is dirt cheap these days. (IBM used to do it for a different reason: they made huge profits on the disk drives.)

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    2. Re:GC vs. temp objects by voidptr · · Score: 1

      This isn't true with modern JVMs and JIT compilers. Almost all of the modern JVMs perform escape analysis for hot code to determine if an object can become visible outside the local scope, and using stack allocation instead of heap if appropriate.

      --
      This .sig for unofficial government use only. Official use subject to $500 fine.
    3. Re:GC vs. temp objects by ThePhilips · · Score: 1

      [...] but memory is dirt cheap these days.

      On embedded platforms there are no cheap resources.

      I once was asked, as a software developer, by my friend how it could be that iPhone with its measly CPU/GPU has smoother UI animation than the monster of a phone which is the HTC Desire HD. And I have reminded him that long long time ago, in ages when 640K of RAM was a lot and high-end CPUs were 25MHz, animation in games was too smooth. It does depend more on the software developer's skills than on hardware. Apple takes time to polish it to perfection - Google doesn't.

      I've never really liked garbage collection [...]

      I have accepted the GC after I have realized that Perl has it and thus it can be implemented effectively. And yes, not once I have seen the rare cases of how GC affects Perl's performance, but even that was possible to fix by properly situated 'undef'. Yet, in the remaining 99.9% of the cases the single-threaded Perl doesn't even give away the fact that it is GCed.

      --
      All hope abandon ye who enter here.
    4. Re:GC vs. temp objects by ThePhilips · · Score: 1

      Any pointers to the Java specific information?

      We did recently long term latency-centric tests and we clearly have seen that Sun's Java 6 doesn't do it. The stateless network server literally halts for 500ms/more every time GC runs - while the server is supposed to run with latencies >100ms. Memory allocation is also OK as (1) there is no global state/data/etc and (2) the work of the server is to essentially dump to disk some of the incoming traffic and send a response back.

      --
      All hope abandon ye who enter here.
    5. Re:GC vs. temp objects by JackDW · · Score: 1

      Sounds like you need a real-time JVM. These do garbage collection continuously, without creating large latency spikes. You could look at the Jamaica VM from Aicas - it has real-time garbage collection and should be a more reliable platform for your server application.

      --
      You're an immobile computer, remember?
    6. Re:GC vs. temp objects by Anonymous Coward · · Score: 0

      Java is pretty much only GC language I'm aware of where temp objects are passed to GC.

      You can reduce your ignorance on this topic by putting "generational garbage collection" into your favorite search engine.

    7. Re:GC vs. temp objects by ThePhilips · · Score: 1

      Java is pretty much only GC language I'm aware of where temp objects are passed to GC.

      You can reduce your ignorance on this topic by putting "generational garbage collection" into your favorite search engine.

      Done.

      Though when I see that heap growth of "java" process (belonging to a network server) is literally proportional to the amount of incoming traffic, and as soon as the heap limit is hit I clearly see how GC affects latencies, I know that it is either still not implemented or implemented poorly. Not much of a consolation.

      --
      All hope abandon ye who enter here.
    8. Re:GC vs. temp objects by RockGrumbler · · Score: 1

      did you try tuning the survivor space/eden ratios?

    9. Re:GC vs. temp objects by ThePhilips · · Score: 1

      I raised the point because I had very similar problem recently in Java.

      Thus your advice should be also applicable to Android too ;)

      --
      All hope abandon ye who enter here.
    10. Re:GC vs. temp objects by ThePhilips · · Score: 1

      Yes, they did and tested quite a lot. Helped only in a sense that latency spikes now happen rarely but more prolonged and the process eats 4GB RAM all the time.

      P.S. I'm responsible for the C module, Java one is supposed to replace. Java's not precisely my field of expertise. N.B. The C module is pretty crappy and I would be happy to drop in favor of Java one, but testers give no green light yet. It's not a flamewar against Java: the Android's Dalvik problems (which I have also seen too) somehow resonate with the problems I have seen recently with the vanilla JVM. Both are about latencies vs. GC.

      --
      All hope abandon ye who enter here.
    11. Re:GC vs. temp objects by voidptr · · Score: 1

      Here's a start:
      http://en.wikipedia.org/wiki/Java_performance#Escape_analysis_and_lock_coarsening

      http://java.dzone.com/articles/escape-analysis-java-6-update

      Looks like for the Sun JVM, it's experimental in 6u14 and later. I believe IBM's had it in their JVMs a bit longer than that.

      --
      This .sig for unofficial government use only. Official use subject to $500 fine.
    12. Re:GC vs. temp objects by JackDW · · Score: 1

      Right. I'd say real-time GC would be essential for any Java application on a mobile device.

      --
      You're an immobile computer, remember?
    13. Re:GC vs. temp objects by DragonWriter · · Score: 1

      Java is pretty much only GC language I'm aware of where temp objects are passed to GC. Perl (and I'm sure myriad of other GC languages) at compile time takes note what objects are not used outside of the context and destroys them immediately.

      Ruby 1.8.x certainly GCs temp objects rather than treating them specially (refactoring code to mutate string objects rather than creating unnecessary temp strings and the GC overhead associated with them is a common performance-improvement recommendation for Ruby code); I wouldn't be surprised if at least some of the Ruby implementations that use a compilation step rather than an AST-walking interpreter (Ruby 1.9.x, JRuby, Rubinius) do something to optimize the handling of local variables that become unreachable when they go out of scope.

      (Of course, that illustrates another point -- GC behavior at this level usually isn't a language feature, per se, its an interpreter/VM feature.)

  44. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by billcopc · · Score: 1

    Have we not learned anything from the desktop ? In 2011, as an app developer, you shouldn't be optimizing for any specific GPU. The platform's graphics API should be optimizing for whatever hardware it supports. New device ? New drivers! If Samsung's PowerVR implementation makes such a big difference, then we will see other hardware designs adopt the PowerVR. You don't need to reinvent the wheel every single time. Media-minded people will favour devices with faster GPUs, just like we do with PCs.

    I'm only tangentially exposed to Android, but what I've seen so far is an already inconsistent hardware panorama. It seems no two manufacturers support the same version of Android, which leads to situations like today where the Samsung Galaxy S is leaps and bounds above all others. Adding proper GPU support will only widen that gap. As consumers, we benefit from developments that embarass the shitty manufacturers and goad them into releasing better hardware for the money.

    And on a more lateral-thinking level, if you're a fan of Android, you want them to pull together and release something that can adequately compete with iOS and Windows Phone 7. Allowing mediocre hardware manufacturers to completely undermine the OS design is not the way to beat Apple.

    --
    -Billco, Fnarg.com
  45. doesn't matter by LodCrappo · · Score: 1

    no android based system will ever, ever be as great as the iPhone. clearly it is foolish to even dream of such a thing.

    what is becoming more and more obvious with each passing month is that nobody cares. Android is outselling everything else by an ever increasing margin.

    --
    -Lod
    1. Re:doesn't matter by TrancePhreak · · Score: 1

      To me it was greater the day it came out. It had an SDK and I could install things without paying yearly. I could tether without hacking. There are other reasons beyond these, but I thought I'd highlight that not everyone's idea of "great" is the animation on the homepage is smooth. Shouldn't that be the least of one's worries, should be spending more time using it rather than fiddling with icons.

      --

      -]Phreak Out[-
  46. Testing by hey · · Score: 1

    It sounds like the Google engineer is taking the sane approach. He is trying stuff and testing the speed. Sounds like he'd try GPU if it helped.

    1. Re:Testing by bonch · · Score: 1

      Maybe he should try scrolling on an iPhone sometime.

    2. Re:Testing by TrancePhreak · · Score: 1

      Maybe you should try scrolling on a Nexus S?

      --

      -]Phreak Out[-
  47. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by TopSpin · · Score: 4, Insightful

    massively different user experience on different devices

    consider: different user experience on massively different devices

    Why should it be otherwise? Should a quad-core i7 SLI provide exactly the same 'user experience' as an Atom netbook? Obviously not. It is not reasonable to expect the same results from increasingly diverse hardware. Android will be found on the lowest end freebee 'smart' phone China can make, while also appearing on the most outrageous hardware that doesn't present an immediate fire hazard. Where, exactly, was it written that the limits of one must apply to the other?

    This problem has been solved over and over again. An architecture must exist that provides fall-back software implementations of hardware accelerated functions. When some app performs poorly due to inadequate hardware the user may find some other preoccupation or upgrade to a sufficient device.

    What is the problem? At the moment it appears to be Google's obstinacy. This is a losing battle for them; they're creating a differentiating point among the manufacturers because the manufacturers can alter Android, including accelerating stuff with hardware. Marketing will then make claims about how xyz's Android is better than the other Androids because of xyz's special sauce (that may or may not port easily to some other collection of chips.) If the manufacturers don't the users will.

    Lets hope Google wises up and deals with the issue properly.

    --
    Lurking at the bottom of the gravity well, getting old
  48. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by bonch · · Score: 1

    No, that one game everyone talks about doesn't count; it's not a result of OS fragmentation, but a result of some devices not meeting minimum hardware requirements.

    Nice try. You slipped in the phrase "OS fragmentation" when what people refer to is hardware fragmentation, which is what the last part of your statement is describing.

  49. Re:I've complained about this more times than i ca by teh31337one · · Score: 1

    I find it funny that the article mentions Galaxy S, and the browser from the recent JPU/X/Y firmware. I've used the JPU/Y browser on a day to day basis, and it's horrible. Pinch-to-zoom is very smooth, and the tiling isn't really an issue, but the page sometimes gets very distorted when panning. I haven't noticed any improvements when scrolling, it's choppy as it ever was. The JPU/Y browser has made me even consider changing to Opera/Firefox/Miren or something else as my day to day browser.

    Sent from my Galaxy S i9000 running XXJPY and voodoo.

  50. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by bonch · · Score: 1

    You mean desktop computers, those complicated machines that mobile devices and tablets are replacing? People are trying to get away from managing device drivers and hardware compatibility bugs.

  51. Re:Given that phones are still an 'embedded' platf by Anonymous Coward · · Score: 0

    I never understood why anyone would want to interpret byte-code on a battery powered device.

    What processor architecture should android have chosen to be stuck with? Bytecode allows you to change in the future without recompiling your apps, and the threat of change allows phone makers to push chip suppliers on price and power.

  52. Re:java's architecture is broken by design by Anonymous Coward · · Score: 0

    why can't you understand the meaning of the word pretend?

    cower behind your chosen pseudonym.

  53. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by JamesP · · Score: 1

    When you optimize to GPUs, you have to optimize to all GPUs. I realize there are common instruction sets but the main selling point of Android is its versatility.

    Yes

    That's why Apple uses LLVM to compile from 'generic GPU code' to 'GPU code optimized to Blah', that's on Mac OS and maybe on the iPhone as well

    http://llvm.org/Users.html

    --
    how long until /. fixes commenting on Chrome?
  54. My prediction: it doesn'tmatter, Android will win. by Anonymous Coward · · Score: 0

    Like the battle for the desktop, the battle for the portable will be won not by the platform that is the most sophisticated, but by the company that puts the most product in the hands of the most people. I don't see either Microsoft or Apple relinquishing enough control to allow either of their platforms to kill off Android at this point, but keep on dreaming, kids!

  55. Re:Waiting for better hardware == Java applet deat by Locke2005 · · Score: 1

    Try running Skype videoconferencing on you netbook. On an MSI Wind, Skype complains the CPU is too wimpy. Low resolution YouTube is hardly a good benchmark, it runs fine even on a Android G1. Compressed video decoding is much less CPU-intensive than compressed video encoding.

    --
    I've abandoned my search for truth; now I'm just looking for some useful delusions.
  56. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by anethema · · Score: 1

    Actually Android does not use Java bytecode at all.

    Java is the language used to program for Android, but the code compiles into Dalvik bytecode. There is no J2ME support at all, or any Java virtual machine on the device.

    http://en.wikipedia.org/wiki/Android_(operating_system)#Features

    Look at Java Support.

    --


    It's easier to fight for one's principles than to live up to them.
  57. Dalvik, Not Java by Anonymous Coward · · Score: 0

    ...Android runs Java bytecode...

    Bzzzt. Android doesn't run Java, it runs Dalvik. For developer convenience, Google provides a compiler accepting Java source code, but producing Dalvik bytecode. Google also forked Apache harmony so a bunch of the well-known-to-Java-developer libraries are available under Dalvik. Google purposely avoided everything about Java except for its syntax and open libraries. Oracle sued Google anyway, a matter still before the courts.

    1. Re:Dalvik, Not Java by Anonymous Coward · · Score: 0

      Not that it makes any difference in the context of the summary, in fact it could've just been written as 'bytecode'. Try not to lose sleep over it ok?

  58. Re:I've complained about this more times than i ca by Daniel+Phillips · · Score: 4, Funny

    Speaking as a former Googler, the smart people spin is somewhat overrated. Arrogant people is closer to the truth, and "smart" tends to mean "good at avoiding work".

    --
    Have you got your LWN subscription yet?
  59. Re:My prediction: it doesn'tmatter, Android will w by gilesjuk · · Score: 1

    Great, so you want another pile of suboptimal backward compatibility to win rather than a well engineered solution?

    If you want your software to run on really cheap and nasty hardware you have to make some pretty unforgivable software compromises. At least Microsoft, Apple and others have standards.

  60. Re:My prediction: it doesn'tmatter, Android will w by Old97 · · Score: 1

    Will win what? What constitutes victory? Does "winning" mean that something else "loses"? What does "lose" mean in this context? Apple makes more money off of their minority share of cell phone sales than any other company. Their share of the total profits on PC sales is over twice their market share. Is that winning or losing? Microsoft makes even more money (for now) with higher margins and they haven't done much in terms of new products in a decade. Are they winners or losers? The largest device manufacturers whether PC or phone have minuscule profit margins per device. They have to sell millions of these things to stay alive. Are they winners or losers? If Android ends up on 60% of all smart devices and the vendors who make and sell them account for only 30% or less of the profits, are they winners or losers?

    --
    Very often, people confuse simple with simplistic. The nuance is lost on most. - Clement Mok
  61. Who? by Gordonjcp · · Score: 1

    So some random person on the Internet who doesn't appear to have much to do with Android points out a couple of not-really-problems, and suddenly everyone is supposed to drop everything and fix them?

    If you search for "charles ying android" every link comes back with a reference to this single blog post. I could take him seriously if I'd ever heard of him in the context of Android development, or even at all...

  62. Re:java's architecture is broken by design by Anonymous Coward · · Score: 0

    Why can't you read? He asked why you pretend to use your real name.

    You post at zero because you're a troll living in your mother's basement.

    You're an idiot.

  63. Re:Given that phones are still an 'embedded' platf by SlashV · · Score: 1

    I never understood why anyone would want to interpret byte-code on a battery powered device.

    Allowing hardware diversity, while still providing a single binary (VM) interface to apps, might be a good reason.

  64. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by element-o.p. · · Score: 1

    People are trying to get away from managing device drivers and hardware compatibility bugs.

    Maybe I'm just weird, but that's not why my desktop and laptop computers have been getting lonely lately. It's because my mobile device is, you know, mobile.

    --
    MCSE? No, sir...I don't do Windows. Yes, I am an idealist. What's your point?
  65. Re:Waiting for better hardware == Java applet deat by h4rr4r · · Score: 1

    Hmm, let me check, nope no one mentioned that, so I fail to see why it matters. If I want to use skype I do it from the nice beefy HTPC and use the nice camera there too.

  66. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by jedidiah · · Score: 1

    No. You only take the complexity hit on the second device.

    The rest rely on the well known and well used methodology for dealing with diverse hardware you've already constructed.

    It's like the 80s and 90s never happened or some such.

    "mobile" doesn't change any of the problems.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  67. Define Average by Anonymous Coward · · Score: 0

    Ying argues that will just lead to an average battery life compared to devices like the iPhone.

    I really don't understand statements like this. It's obvious from statements like this that Charles Ying has a personal vendetta against the Android platform. By implementing the "average" weasel word (most people thinking average = bad), he is really trying to taint the whole platform. When I read this statement, my pea brain parses it similar to: "An Android phone has battery life +/- 5% within the working range of a comparable iPhone, given similar tasks". Both statements basically say the same thing, one with weasel words, the other without.

    Yes, there are problems with the Android platform, however such is true with all hardware / software platforms.

    1. Re:Define Average by 99BottlesOfBeerInMyF · · Score: 1

      Ying argues that will just lead to an average battery life compared to devices like the iPhone.

      I really don't understand statements like this. It's obvious from statements like this that Charles Ying has a personal vendetta against the Android platform.

      I think what he's meaning to imply is that battery life for Android devices tends to be both mediocre and highly variable in comparison to the iPhone.

      By implementing the "average" weasel word (most people thinking average = bad), he is really trying to taint the whole platform.

      I thought he was trying to be conciliatory and avoid alienating Android fans. By pretty much all proper studies, Android devices tend to do very poorly on battery life when running an average number of third party apps (as compared to iPhones). Take a look at some of Michael Arrington's writings on the subject (he writes for Tech Crunch and is a very outspoken Android fan). Several Android loving reviewers have brought up this point and demonstrated it, but maybe it needs to be said again: Battery life is Android's Achilles heel. The performance can get really, really lousy largely because of the poor performance and design decisions of third party app makers. The big problem for the average user is, they don't have easy visibility into this. They don't know their phone sucks down the juice because they installed a crappy game that is constantly contacting a server to look for updates or new ads. More expert users can use an app to profile battery life, but that doesn't really help phone makers who are the ones losing sales over it.

      ...my pea brain parses it similar to: "An Android phone has battery life +/- 5% within the working range of a comparable iPhone

      With a good phone that has an up to date version of Android and where you're careful to pick your apps based upon battery usage, this might be the case. If you're a normal user that just downloads some apps and uses whatever version of Android is supplied with it, well I seriously doubt you'll get anywhere near that close.

      Self professed Android phone lover Tom Loverro puts it thusly: "Battery life is not just another feature on some specifications checklist. It is the driving philosophy behind every design decision made on the iPhone. I think Android fanboys totally miss this point." He goes on to say, 'producing a great phone that gets six hours of battery life, is like me saying “I love my pet tiger, but he eats babies.'"

    2. Re:Define Average by stewski · · Score: 1

      I have an old Tmoby pulse (huawei 8230) running Android 2.2. I can confirm that the battery usage is very much affected by Screen/GPS/WIFI and 3G connections in that order. The idea that the UI effects is the power sucker is: 1. A crock. 2. If it was true, avoidable by disabling window animations in settings 3. For power consumption, brightness, time out of screen saver, intelligence about wireless devices come so much higher up the list as to make this whole topic so irrelevant it isn't rel. P.S. Other things I like on this thread are people suggesting, what about people on older Android where performance is poor. Good argument, my Tmoby pulse has been on Android 1.6, 2.1 and 2.2 each upgrade adds more flair and makes the battery/performance better. How is this a failing for software development? A failing is when you release a new version of your OS and hardware a couple of years old runs like a total dog and is less efficient (looks at iOS and Apple hmmm). The old fashioned bloat and replace cycle of pay for software and tied in Hardware companies...

    3. Re:Define Average by 99BottlesOfBeerInMyF · · Score: 1

      The idea that the UI effects is the power sucker is...

      Nowhere stated nor implied in my post. Are you sure you replied to the correct post? Mine was mostly about poorly optimized applications being a huge battery drain. It has nothing to do with window animations.

      Other things I like on this thread are people suggesting, what about people on older Android where performance is poor. Good argument, my Tmoby pulse has been on Android 1.6, 2.1 and 2.2 each upgrade adds more flair and makes the battery/performance better.

      This was something I mentioned. Older versions of Android perform more poorly with regard to battery life, but because of the way Android is deployed by vendors, many phones are not updated in a timely fashion (some are never updated). This exacerbated the battery performance issues that are one of Android's biggest weaknesses.

    4. Re:Define Average by stewski · · Score: 1

      Indeed your achieles heel comes in the shape of poor 3rd party apps, though this whole thread is about the need to render the UI via GPU for the sake of power.

      Please name and shame these poorly optimised android apps (that presumably don't exist evenly across mobile platforms?), or accept the fact that the hardware burns through so much power than virtually any trivial (and without the hardware mentioned mobile apps generally are trivial) applications power use is irrelevant.

    5. Re:Define Average by 99BottlesOfBeerInMyF · · Score: 1

      Indeed your achieles[sic] heel comes in the shape of poor 3rd party apps, though this whole thread is about the need to render the UI via GPU for the sake of power.

      That's only one of the topics he brings up with regard to performance in his article, although it is one focused upon heavily in the discussion. Referring to Android phones as having "only average" battery performance when compared to an iPhone, however, is being politic and the AC I was replying to was making some rather spurious claims in that regard.

      Please name and shame these poorly optimised android apps (that presumably don't exist evenly across mobile platforms?)

      I don't have the resources to do large scale testing, nor do I even have an iPhone and Android of my own, just access to them for testing at work. Anecdotally: eBuddy, Qik, ESPN sports center, fring, imovicha. Note several are IM clients that some reason ignore the push APIs and Google has no way to force them to use the push features.

      But as to whether or not they exist cross platform evenly, well no I strongly suspect they don't for a variety of reasons. Apps on the iPhone are limited in dev tools and in access to system resources much more so than Android apps. This is annoying as a developer and even as a power user, but it also means apps can't just start sending pings to a server on a regular interval, but instead are required to use push services and are required to break out only specific types of background threads when running in the background. They can't constantly query the GPS if they aren't in the foreground.

      ...or accept the fact that the hardware burns through so much power than virtually any trivial (and without the hardware mentioned mobile apps generally are trivial) applications power use is irrelevant.

      Perhaps you're laboring under a misunderstanding. Apps are software that makes the hardware do things. ALL battery usage is a combination of software AND hardware. It's a matter of what hardware and how often it is used by an app. Does it use the built in push notification service like a good app or does it waste battery power constantly running a thread in the background and constantly sending unneeded data? (Note I keep coming back to the network usage model, because it is a big differentiator with real, measurable battery ramifications.) There are several other, similar API issues, especially allowed multitasking modes. Remember when Apple came out with a castrated version of multitasking and we all scoffed, well if you read the Google engineering Android blogs, they sure wish they'd come up with the same thing because multitasking as implemented is killing battery as much as any other factor. (Read Larry Page's comments on it if you want an authoritative view from a Google founder.)

    6. Re:Define Average by stewski · · Score: 1

      That's only one of the topics he brings up with regard to performance in his article, although it is one focused upon heavily in the discussion. Referring to Android phones as having "only average" battery performance when compared to an iPhone, however, is being politic[sic] and the AC I was replying to was making some rather spurious claims in that regard.

      So your opinion is that he meant to say "much worse", either way I'm an evidence man. If either the Originator or you have something specific feel free to post.

      I don't have the resources to do large scale testing, nor do I even have an iPhone and Android of my own, just access to them for testing at work. Anecdotally: eBuddy, Qik, ESPN sports center, fring, imovicha. Note several are IM clients that some reason ignore the push APIs and Google has no way to force them to use the push features.

      Thanks for your suggestions of the offenders, albeit with your proviso that you haven't tested your theories. I'd also be interested in how popular the apps you have issue with are with the rank and file Android users you suggest are at such risk.

      But as to whether or not they exist cross platform evenly, well no I strongly suspect they don't for a variety of reasons. Apps on the iPhone are limited in dev tools and in access to system resources much more so than Android apps. This is annoying as a developer and even as a power user, but it also means apps can't just start sending pings to a server on a regular interval, but instead are required to use push services and are required to break out only specific types of background threads when running in the background. They can't constantly query the GPS if they aren't in the foreground.

      I agree the development environments and eco systems are very different, as an Android user I've pointed out what I believe is a major advantage, in that the OS has become tangibly more efficient on older hardware, a trait I have also observed in Linux but never in a proprietary operating system, especially one where the developer gains direct profit from each new hardware sale. As to the idea that apps made for such an open eco system are likely to be lower quality than proprietary ones. This is not a new suggestion but one I've yet to see great evidence for. For example FLOSS often has several active projects with similar goals, whilst some may be poorer/weaker others are often very high quality, that is called competition. It may be possible for Android users to download all kinds of rubbish should it exist, the market is after all relatively free/open, it doesn't mean we will or that we do.

      Perhaps you're laboring under a misunderstanding. Apps are software that makes the hardware do things. ALL battery usage is a combination of software AND hardware. It's a matter of what hardware and how often it is used by an app. Does it use the built in push notification service like a good app or does it waste battery power constantly running a thread in the background and constantly sending unneeded data? (Note I keep coming back to the network usage model, because it is a big differentiator with real, measurable battery ramifications.)

      Perhaps you are labouring under a misconception. All battery usage comes from the flow of current through hardware, software is generally any information, this may be said to be stored on flash (or other non volatile) memory, However information (like an idea) consumes no current. This is why software is generally protected by intellectual property laws, not property laws. Now it's OK to say that hardware usage may be affected by the design of software and you are welcome to argue that on average that popular software is more likely to be flawed on the Android ecosystem than the iPhones. If you have good evidence of this please do show that. My also anecdotal experience is that a clean Android 2.2 is a good deal better than a clean 2.1 or 1.6 at manag

  68. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by jedidiah · · Score: 0

    The Apple fanboy needs to repeat the propaganda that the new messiah (iphone) is some how different from the old messiah (MacOS).

    --
    A Pirate and a Puritan look the same on a balance sheet.
  69. Re:I've complained about this more times than i ca by metamatic · · Score: 1

    Speaking as a former Googler, the smart people spin is somewhat overrated.

    And you say that as an unbiased observer with no axe to grind, right? :-)

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  70. Re:My prediction: it doesn'tmatter, Android will w by jedidiah · · Score: 1

    If success of the sub-optimal solution prevents the ascendancy of a monopoly even worse than Microsoft's then HELL YES.

    Of course pointing to either Apple or Microsoft as the "savior" here is a fallacy. Each has it's own problems, even at the "engineering" level.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  71. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by MobileTatsu-NJG · · Score: 1

    "mobile" doesn't change any of the problems.

    No, but 3D does. But I guess the people following gaming aren't the same people that follow 3D development on handheld devices.

    --

    "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

  72. Re:I've complained about this more times than i ca by Daniel+Phillips · · Score: 4, Interesting

    And you say that as an unbiased observer with no axe to grind, right? :-)

    Right. I still own all my Google shares. However I am now properly disillusioned about a number of Google myths, but don't trust me. Ask any Googler, former or otherwise. In the latter case, make sure to do it out of earshot of other Googlers.

    There are smart people at Google, and if they are really smart they learn early to keep their heads down. This seems to be the main sequence for large tech companies. Microsoft is far advanced on that path and Google seems more than a little determined to follow. The stack ranking system is nearly a carbon copy of Microsoft's, which in turn was copied from GE, and look how well that worked out. The result is inevitable degradation of the engineering culture. Now, warning about the negative consequences is not the same as axe grinding, quite the opposite.

    --
    Have you got your LWN subscription yet?
  73. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by TD-Linux · · Score: 1

    On Mac, it's called CoreGraphics.
    On Linux, it's called QPainter or Cairo.
    On Windows, there are so many APIs that I don't feel like naming them all.

    Android's graphics stack with the policy "let's do everything in software" is possibly one of the worst features of the platform. Most smartphones are capable of at least OpenGL ES 1.1, if not 2.0... and if you don't care about 2.0's features, there's only one API your compositor needs to implement to support ALL of the mobile GPU's out there. How's that for fragmentation? Of course, on dumb framebuffer phones, you'd probably want to implement a software fallback, as most software OpenGL ES implementations would probably be slower.

    So Android needs two compositing backends then... how sad for them. Seriously, the fact that I need a 1.2ghz Cortex A9 to smoothly scroll though a list of icons is just pathetic. I mean, a NES can do that at 60fps... the magic of hardware acceleration.

  74. Anonymous Coward by Anonymous Coward · · Score: 0

    No matter what, there will be people from both sides that come up with some reason why their product is better. It's business, and nothing more. They really don't care about if it is the truth or not, nor do they really care about the customer. Their intent is to get a customer to buy a product, no matter what they have to say to do so.

    Apple never lowers the prices on its products, but instead comes out with 'new' versions of the same product that are nothing more than a software upgrade. How many people reading this post have purchased more than one iPhone, which is in my opinion one of the biggest ripoffs ever? You do this because they convince you that some 'feature' can only be added to a new phone, which 99% of the time is utter crap. The same with other companies.

    It's all business in the end, just remember that.

  75. Re:Waiting for better hardware == Java applet deat by vlueboy · · Score: 1

    Thanks. I just found 2GB netbooks
    do exist. What you own is as good as experimental until it is easier to find on shelves; reminds me of the topic of the Google Nexus. It was just as hard to locate out in the wild in users' hands.

    Meanwhile, here is the projected price of your device in 2009 ($350) and here is how pricewise ($728) it is just it is piled together with the laptop category.

  76. Re:Given that phones are still an 'embedded' platf by TD-Linux · · Score: 1

    How about ARMv5TE and ARMv7-A?

  77. Re:Waiting for better hardware == Java applet deat by kithchung · · Score: 1

    The 1GB barrier is an Intel/Microsoft business decision requirement to allow selling of WinXP/Win7Starter at a reduced cost. It was never a technical issue.

  78. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by bberens · · Score: 1

    I don't have an android phone so perhaps someone can inform me if I'm in the wrong here... but I would assume that the android store has some sort of filtration system that doesn't show games which require a touch screen to users of phones without touch screens. Games that require serious power would similarly be limited from lower end phones. I can't imagine all of the apps currently in the Apple app store work on the original iPod touch/iPhone. I can see how it might be disappointing for someone with a cheap/old phone not to be able to use the new whizbang app someone else has, but I would also assume there'd be some expectation of not being able to do "high-end" stuff on your "low-end" phone. *shrug*

    --
    Check out my lame java blog at www.javachopshop.com
  79. So what? Nobody cared in Vista and Win7 by mick232 · · Score: 1

    Look at WDDM 1.0 in Vista and to a lesser degree WDDM 1.1 in Win7. It fucked up 2D big time. I didn't see anyone warn me about the design flaw that WDDM was, either.

    1. Re:So what? Nobody cared in Vista and Win7 by garethjrowlands · · Score: 1

      2D messed up big time on PCs running Windows 7? I don't think so. WDDM *was* a mess in Vista, since it ate so much RAM but that's fixed in Windows 7 (by using the 3D hardware more). Sure, there are scenarios where Windows 7 needs to read back a bitmap from the GPU but it doesn't impact many people very often. In contrast, GPU-accelerated browsers (2D applications!) are a big win for most everyone.

      Can you give me a scenario that's a problem for you?

  80. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by lowlymarine · · Score: 1

    [appleinsider.com]

    Yeah, I'm sure we'll find a nice, unbiased presentation of the "issue" in there.

    That Apple seems to honestly believe Android's supposed "fragmentation" is a disadvantage versus their complete integration shows a remarkable inability to learn from the mistakes they made that cost them the desktop. Watching Android march past iOS is like watching the 80s and early 90s play out all over again.

  81. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by ChunderDownunder · · Score: 1

    Java2D? :-)

  82. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by MrHanky · · Score: 2

    But how is that any different than the massively different user experience between the iPad and a Touch and an iPhone 4? Rovio's popular Angry Birds game has more choppy animations on the iPad than on some of the unsupported Android devices, btw.

  83. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by exomondo · · Score: 1

    On Mac, it's called CoreGraphics. On Linux, it's called QPainter or Cairo. On Windows, there are so many APIs that I don't feel like naming them all.

    lol...open graphics library

  84. Re:My prediction: it doesn'tmatter, Android will w by Anonymous Coward · · Score: 0

    Winning in this case means "defining the de-facto standard in the industry". Apple and Microsoft will of course remain profitable, just as mainframes for IBM have remained profitable, but none the less they have "lost" in that they do not really matter outside of their established niches.

  85. Re:I've complained about this more times than i ca by TrancePhreak · · Score: 1

    Why those over the stock browser? I haven't really tried any of the others, never had reason to. (Although I played with Dolphin because it had pinch/zoom earlier). I have an N1, btw.

    --

    -]Phreak Out[-
  86. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by node+3 · · Score: 1

    No, that one game everyone talks about doesn't count; it's not a result of OS fragmentation, but a result of some devices not meeting minimum hardware requirements.

    Nice try. You slipped in the phrase "OS fragmentation" when what people refer to is hardware fragmentation, which is what the last part of your statement is describing.

    No, they mean both. Also, carrier fragmentation and app store fragmentation.

    I don't see how you can completely dismiss OS fragmentation, when most handset makers (and carriers) make rather notable modifications to the versions of Android they ship, and often leave their users stuck with obsolete versions.

  87. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by sjames · · Score: 1

    The rage happens when you install HelloWorld and it fills all available storage.

  88. Re:Given that phones are still an 'embedded' platf by scorp1us · · Score: 1

    Qt is compile anywhere, run anywhere. Sure, there is some management of binaries (each platform gets its own) but build scripts take care of this. Scripts then deal with selecting the right binary.
    Imagine an app store where you upload your code, it compiles for each platform and it installs the right version to the device automatically. Want AgryBirds for Android? No problem. iOS? No problem. Desktop, no Problem!

    One app store to rule them all.

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
  89. Re:java's architecture is broken by design by Anonymous Coward · · Score: 0

    Why own firearms? What are you afraid of? Who are you cowering from? Your mum's face?

  90. Re:My prediction: it doesn'tmatter, Android will w by WelshRarebit · · Score: 1

    LOL. You sound like the "IBM guy" in the 80's arguing that the IBM PC-AT will crush the clones due to its obvious technical superiority. Compaq *destroyed* IBM in the PC market, because they realized that great technology can be defeated with even greater business model. In other words, while technical flaws can be fixed, fundamentally self-limiting business models can't. This is not to say that Apple and Microsoft will not continue to be profitable, but that Android will eat their lunch for the same kinds of reasons that other flawed technologies won against their (temporarily) superior competition.

  91. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by node+3 · · Score: 1

    There was such a thing as "IBM compatible" in the '80s and '90s. There no such hardware reference for Android. Apple is correcting many of the mistakes made during that time frame, while Google is making entirely new ones.

    In fact, it's extremely difficult to find all that many ways that this *is* like that time frame. The only thing that is similar is it's Apple's platform vs a platform shared among many manufacturers. In almost every other way, there are notable differences.

    For example, things like price and features are not downsides for Apple. In fact, Apple quite often is the winner in these measures. And cell carriers distort the market. Watch what happens once Verizon carries the iPhone. I really doubt most Android buyers actually specifically want Android. It's just the nicest phone for the cheapest price on their carrier of choice with the least offensive data plan.

    Or put another way, do you think "Android phone" or "iPhone" had the higher place on people's Christmas lists this year?

  92. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by MobileTatsu-NJG · · Score: 1

    Guess you should stop making software for Windows, Linux, and OSX then, since the hardware can provided different capabilities for systems using the same operating system!

    Yeah, instead you can use the phrase 'lowest common denominator' over and over again.

    --

    "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

  93. Java bytecode? by DragonWriter · · Score: 3, Informative

    Additionally, Android runs Java bytecode during animation

    Except in the real world, where Android uses a non-Java VM with its own bytecode, and doesn't run Java bytecode at all.

    1. Re:Java bytecode? by codepunk · · Score: 1

      What is the difference between a rat and a mouse? Not much they are both nasty rodents that should be destroyed.

      --


      Got Code?
    2. Re:Java bytecode? by VortexCortex · · Score: 1

      What is the difference between a rat and a mouse?

      One is stack based, the other is register based, DUH!

  94. Not about battery life by SoftwareArtist · · Score: 5, Interesting

    There's a myth going around that battery life is strongly affected by how efficient your code is. On most phone, it's simply not true. By far the biggest power drains are the screen and the radios (cellular, wifi, bluetooth). On Android, there's even a handy battery monitor built in that you can use to confirm this (Settings->About phone->Battery use). I can spend half an hour playing a high end, graphics intensive game (Hero of Sparta) on my Nexus One, and when I then check the battery use, I find that even while I was playing the screen and the cellular radio standby were still the dominant uses of power.

    --
    "I'm too busy to research this and form an educated opinion, but I do have time to tell everyone my uninformed opinion."
    1. Re:Not about battery life by mveloso · · Score: 1

      As an older article put it, the faster CPU in the iPhone 3GS allowed the iPhone to shut various parts of the CPU down faster, saving battery.

      Battery life is strongly affected by stuff that's powered on and in-use. The longer your components are off, the better your battery life, all other things being equal. It sounds stupidly obvious, but it isn't.

      The example above, translated into a simpler energy-related form, says "when I use my device for an hour the screen and radio use the most power." Well, yes. But power saving more important when you're -not- doing anything. When your phone is in your pocket doing nothing, it shouldn't use very much power at all. Efficient code will help there, because the more efficient your code is, the less it does. Less work = less power = better battery life.

    2. Re:Not about battery life by SoftwareArtist · · Score: 1

      When my phone is turned off doing nothing, I find that cellular standby (i.e. keeping the radio turned on so I can still receive calls) uses far more power than everything else put together. That is the time when the issues discussed in the article (compositing on the CPU, using Java instead of native code, etc.) are least important. The CPU is doing almost nothing at all. Its power usage is negligible, so if you could cut that power usage in half, all you'd save would be half of almost nothing.

      --
      "I'm too busy to research this and form an educated opinion, but I do have time to tell everyone my uninformed opinion."
    3. Re:Not about battery life by Anonymous Coward · · Score: 0

      Standby is actually pretty good power-wise. It's usually measured in weeks for combined CPU+radio power usage in standby. In real world usage, you'll probably get a solid week in pure standby.

      Automatically checking email, or anything that requires data, will drain your battery much quicker. Surfing the web, streaming video, and any other data-intensive activity (or phone calls) even more so.

      The CPU uses little power in standby, but more when it's running at 100% usage; I believe somewhere around half of the power the cell radio uses when transmitting. Heavy CPU usage, especially anything that pegs the CPU at 100% for an extended period of time, will negatively impact power.

    4. Re:Not about battery life by Anonymous Coward · · Score: 0

      In my case the dominant use of power is the facebook app (or tweetdeck), irrespective of what the battery use indicator says when it is installed the battery life is halved. (I admit compared to GPS that's very little but still a big difference, wifi makes almost no difference (seriously - just try it), cellular is always on - I haven't run the phone without it but there'd be no point in having it then). I admit my tests are in the field and are not under strict lab conditions but honestly try it for yourself.

    5. Re:Not about battery life by Anonymous Coward · · Score: 0

      Bullshit: "for (;;) ;" will eat the battery in an hour or two. That's more than a magnitude faster than normal use which lasts for several days, with cell standby on all the time.

      Your methodology is flawed.

    6. Re:Not about battery life by MikeBabcock · · Score: 1

      Turn your screen on. Turn off the screensaver. Turn off all software, and leave just the radio and screen turned on.

      Measure standby-with-backlit-screen power-on time.

      Now measure your for loop power-on time with the screen off (yes, it can do that).

      I think you'll find the screen is a bigger power drain than the CPU still.

      --
      - Michael T. Babcock (Yes, I blog)
    7. Re:Not about battery life by PipsqueakOnAP133 · · Score: 1

      Yeah, and on my Nexus S, I found out that the battery usage logger built into the OS isn't even correct.

      With the cell and wifi radios on and the screen off, letting the phone sit by itself. It dies in a day. The radios barely show up on the logger.
      With all radios off, the phone is 50% dead after 3 days... and I'm even using it to periodically play a bunch of MP3s.

      The VZW iPhone is looking mighty good right now.

  95. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by node+3 · · Score: 1

    massively different user experience on different devices

    consider: different user experience on massively different devices

    Why should it be otherwise? Should a quad-core i7 SLI provide exactly the same 'user experience' as an Atom netbook? Obviously not.

    All you've done here is just restated the fact that Android is fragmented.

    It is not reasonable to expect the same results from increasingly diverse hardware. Android will be found on the lowest end freebee 'smart' phone China can make, while also appearing on the most outrageous hardware that doesn't present an immediate fire hazard. Where, exactly, was it written that the limits of one must apply to the other?

    It's written into the license and business model Google chose for Android. Sure, it's not a universal rule, but it is a good rule of thumb. Just like your Atom vs i7 example, most Windows apps aren't written to take advantage of multiple cores, even those that could really benefit from it. So the i7 gets stuck running software designed for the Atom and its single and dual-core ilk. It's the nature of a fragmented market.

    This problem has been solved over and over again. An architecture must exist that provides fall-back software implementations of hardware accelerated functions. When some app performs poorly due to inadequate hardware the user may find some other preoccupation or upgrade to a sufficient device.

    "Find some other preoccupation" is not a consumer-friendly answer. The alternative you mention is not as simple to do in a market dominated by multi-year contracts and relatively complex upgrade procedures. It's also very difficult to know which device to even upgrade to! It's not like PCs where you can say, "well, this game needs a 5770 and a Core i5 quad" and you can just spec out an upgrade to give you that. It's more like, "this app is slow. which phone can run it better?", which will leave most consumers confounded, and they will be forced to opt for the "find some other preoccupation" route, which is going to really sour their experience.

    What is the problem? At the moment it appears to be Google's obstinacy. This is a losing battle for them; they're creating a differentiating point among the manufacturers because the manufacturers can alter Android, including accelerating stuff with hardware. Marketing will then make claims about how xyz's Android is better than the other Androids because of xyz's special sauce (that may or may not port easily to some other collection of chips.) If the manufacturers don't the users will.

    How exactly do you expect this to work out in the real consumer world? How are people going to know which Android phone is faster/better than the others? It's like that checkout lane story from a couple weeks ago. No matter what you choose, you likely didn't choose the best one. Normal people aren't going to put in the effort to keep up with the latest Android news.

    Lets hope Google wises up and deals with the issue properly.

    They won't. It's essentially impossible to properly deal with this issue, because it's inherent with the very thing that has been so valuable to Android. The openness that allowed Android to spread across so many handset makers has to deal with the effects of being available from so many handset makers. You can't have your cake and eat it too.

  96. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by samoanbiscuit · · Score: 1

    doesn't show games which require a touch screen to users of phones without touch screens

    Luckily, a touch screen is a requirement for Android (although no specifying the quality of the touchscreen), so that's not a problem. And yes, the Market does have a filter in place to only show apps that can run on your phone. Not sure about performance differences, but certainly it filters for hardware features (e.g, cameras, screen resolutions) and OS versions...

  97. Re:java's architecture is broken by design by Anonymous Coward · · Score: 0

    Do you also understand the meaning of the phrase "suck my asshole"? Because that's what you're doing. You're sucking my asshole. And enjoying it. fag.

  98. Re:A comment on LINUX/ANDROID, & Security... a by Anonymous Coward · · Score: 1

    Bloody hell that's difficult to read. Since you're obviously new to the internet you should be aware that using caps generally denotes 'shouting', try reading your post with that in mind and see how ridiculous it sounds.

  99. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by s73v3r · · Score: 1

    Ummm, that would be an example of hardware fragmentation, there.

  100. Re:I've complained about this more times than i ca by Anonymous Coward · · Score: 0

    Heh. Nice to hear, sounds like MS.

  101. Re:I've complained about this more times than i ca by Tacvek · · Score: 1

    I'm running Dolphin HD mostly for better tabbing support, and the ability to download any file (including those I don't have an app for). I know the latter is a feature of Astro File Manager, but I use Root Explorer for my File Manager, and don't really want Astro.

    --
    Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
  102. Re:Given that phones are still an 'embedded' platf by Daniel+Phillips · · Score: 1

    It seems like something like Meego (Linux+GL+Qt) would be the best way to go

    I would be a lot more excited about Meego if it didn't use rpm for package management. While there is not much difference between rpm and deb capabilities technically, deb repositories tend to be a lot better put together and maintained. I use both on a regular basis.

    --
    Have you got your LWN subscription yet?
  103. Re:java's architecture is broken by design by Anonymous Coward · · Score: 0

    Ah, you do not know who you are cowering from. Must be lonely, being afraid of everyone.

  104. Re:java's architecture is broken by design by Anonymous Coward · · Score: 0

    You two are the same person, aren't you? What is it called when you troll yourself?

  105. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by cowwoc2001 · · Score: 2

    I think your joke went over most people's heads (your post is modded Insightful instead of Funny). For those who are wondering, the answer is OpenGL.

  106. If only Android could be rewritten in Javascript.. by cowwoc2001 · · Score: 1

    Better throw in some XML for good measure...

  107. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by dark_requiem · · Score: 1

    Couple problems here. First, we're talking about mobile devices here. Yes, you can get a 32GB microSD for your phone, but it's expensive, and most people aren't going to have one yet. Fat binaries would take much more space on the memory card, and more bandwidth to download (watch those caps!), which makes it infeasible. As to having the app store give you a binary for a specific hardware setup, that would be asking thousands of tiny, independent app developers to try to maintain and compile their code for that same array of architectures, which would likely be sufficiently problematic that many of them would simply stop developing, or would only target their preferred architectures, further fragmenting the app market.

  108. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by lowlymarine · · Score: 1

    There is absolutely a hardware reference for Android. It requires a CPU based on the ARM11 or newer architecture, at least 256MB of RAM, at least so much (not sure on exact numbers, "enough to fit Android + system Apps") flash storage, and a touchscreen. That's the same as saying "IBM compatible," which really just meant "80286 or better CPU, enough RAM to run DOS, a screen, and a keyboard." The inability to run Need for Speed: Shift or whatever on a low-end Android device does not "fragmentation" make. There were plenty of computers that were fully "IBM compatible" in the early 90s that couldn't run DOOM.

    It's the EXACT same situation. Apple releases one line of products that is locked down to their OS, expensive, and internally inferior to the like-priced competition. The competition - be it Microsoft then or Google now - licenses their operating system for use on a slew of competing products covering all ranges of performance, at a lower price.

    Mark my words: in a decade, most people won't even remember Apple was ever a major player in the smartphone market. They'll be forced to re-image themselves as a "boutique" product for idiots who value form over function and cost-effectiveness, just like their PCs.

    Or to use your example: how many people got Macs for Christmas in the 80s? How about now?

  109. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by edxwelch · · Score: 1

    iPhone and Windows 7 both have a GPU as standard. Android is the only platform where the GPU is optional. Google created the fragmentation by leaving the minimum hardware requirements lower. On the upside, some Android devices will be cheaper. On the downside the OS is crappier because it has to cater for lower spec. devices.

  110. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by TeknoHog · · Score: 1

    IMHO, sarcasm is insightful, rather than funny.

    Furthermore, moderation can be used to augment the message, instead of simply commenting on the quality of the message. For example, a post saying "I just shat myself" could be modded informative. This might explain why I am often moderated insightful when meaning to be funny, and vice versa.

    --
    Escher was the first MC and Giger invented the HR department.
  111. There is no "noise" online in written speech by Anonymous Coward · · Score: 0

    "Bloody hell that's difficult to read. Since you're obviously new to the internet you should be aware that using caps generally denotes 'shouting', try reading your post with that in mind and see how ridiculous it sounds." - by Anonymous Coward on Tuesday January 04, @06:51PM (#34760198)

    First, see my subject-line above... & secondly? Well, if you don't like it?? Don't read it!

    APK

    P.S.=> Pretty simple (& as far as 'being new to the internet', please... lol, I was probably online when you were in diapers, or before you were even conceived... apk

    1. Re:There is no "noise" online in written speech by Anonymous Coward · · Score: 0

      First, see my subject-line above...

      Online discussion is not perceived as monotone, hence the reason there is a general consensus that caps are viewed as the equivalent of 'yelling' or 'shouting'.

      secondly? Well, if you don't like it?? Don't read it!

      I didn't say I didn't like it. I said it was difficult to read because it is inconsistent with commonly accepted style. In particular the use of capitals which of course has been viewed as the equivalent of 'yelling' or 'shouting' since the dawn of the internet.

      P.S.=> Pretty simple (& as far as 'being new to the internet', please... lol, I was probably online when you were in diapers, or before you were even conceived... apk

      From the person who makes baseless assumptions about people he/she does not know.

  112. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by node+3 · · Score: 1

    There is absolutely a hardware reference for Android. It requires a CPU based on the ARM11 or newer architecture, at least 256MB of RAM, at least so much (not sure on exact numbers, "enough to fit Android + system Apps") flash storage, and a touchscreen. That's the same as saying "IBM compatible,"

    No, it's not.

    which really just meant "80286 or better CPU, enough RAM to run DOS, a screen, and a keyboard."

    No it wasn't. IBM compatible defines a lot of things, including BIOS and various busses.

    With things like a smartphones, there are far too many variables for it to be like "IBM compatible".

    The inability to run Need for Speed: Shift or whatever on a low-end Android device does not "fragmentation" make. There were plenty of computers that were fully "IBM compatible" in the early 90s that couldn't run DOOM.

    And if your CPU wasn't a 386, or a 486 DX2 50 (for optimum performance), you knew you couldn't run DOOM. With a smartphone, the user doesn't know which chips will run an app well or not. There's no proper frame of reference.

    So, yeah, simply not being able to run some game on slower phones "does not 'fragmentation' make", that's just the tip of the iceberg.

    It's the EXACT same situation. Apple releases one line of products that is locked down to their OS, expensive, and internally inferior to the like-priced competition.

    That's a load of bullshit. When I looked into this, I was shocked that many Android phones cost more than the iPhone, yet have lesser features, including having abysmally small flash memory.

    Mark my words: in a decade, most people won't even remember Apple was ever a major player in the smartphone market.

    HAHAHA. You should have started your post off with this. It's a real gem.

    They'll be forced to re-image themselves as a "boutique" product for idiots who value form over function and cost-effectiveness, just like their PCs.

    No, only blindered geeks image Apple as a "boutique" product maker. Form is inextricably tied to function. Macs are very cost-effective. They just don't have a low end (which consumers would like) and they don't have DIY kits (like the geeks like). But when you go into the price range where Macs are, you tend to find nothing but inferior PCs at usually superior prices.

    Or to use your example: how many people got Macs for Christmas in the 80s? How about now?

    Significantly more got them now than in the '80s. I'm not sure what your point is.

  113. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by zeroshade · · Score: 1

    It's also very difficult to know which device to even upgrade to! It's not like PCs where you can say, "well, this game needs a 5770 and a Core i5 quad" and you can just spec out an upgrade to give you that. It's more like, "this app is slow. which phone can run it better?", which will leave most consumers confounded, and they will be forced to opt for the "find some other preoccupation" route, which is going to really sour their experience.

    Do you think consumers in the 80s were any smarter than the modern day counterparts? How do you think consumers knew which IBM clone had what specs to run which game? They went to a store and asked some guy there "will this run such and such?" and found a computer that fits their needs. The same thing can happen with phones. The consumer walks into the store for their upgrade and says "I have such and such slow phone. I need a phone that is faster." and the clerk, just like in the 80s, points to the various phones and says which ones are faster or not.

    It's the exact same situation.

  114. Re:If only Android could be rewritten in Javascrip by VortexCortex · · Score: 1

    If only Android could be rewritten in Javascript..

    Better throw in some XML for good measure...

    Good idea! I propose we call this monstrosity WebOS.

  115. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Anonymous Coward · · Score: 0

    It's yet another blog post from an iOS user about how terrible android is, meanwhile millions of android users are wondering what he is talking about.

  116. Re:I've complained about this more times than i ca by Anonymous Coward · · Score: 1

    The stack ranking system is nearly a carbon copy of Microsoft's

    The promotion systems are nothing like each other between those two companies (I've worked at both). The (optional) peer stack ranking at Google is a small part of the peer-driven review system. Microsoft (at least when I was there) had the traditional manager-driven reviews and ranking. It is true that those very different sources of data led to an overall ranking at both companies, but I don't see how else you'd apply a threshold consistently. Unlike most tech companies, Google has no fixed maximum of people that can be promoted or given raises, just guidelines on what it takes to meet the threshold.

    The result is inevitable degradation of the engineering culture.

    Google has a near-weekly meeting where you can question anyone up to the CEO, and a culture that says that just about any topical question is fair game. This is an important check on culture degradation, and I've certainly not seen anything like it at another company with over a thousand employees.

    Google certainly has its share of issues with bad hires that don't get along well, or projects and offices that get overrun with people who bring traditional IT-company culture with them from their former workplaces. Perhaps you were stuck in such a situation and I apologize. However the difference between Google and Microsoft (for me at least) is still night and day.

  117. Is your "critique" on topic? No. by Anonymous Coward · · Score: 0

    1.) Is your "critique" on topic? No.

    2.) Is there an english grammar/writing style section of this forums?? No.

    3.) Are you the "master of 'postology'" online??? No.

    ---

    "3 strikes you're out!"

    APK

    P.S.=>

    "From the person who makes baseless assumptions about people he/she does not know." - by Anonymous Coward on Tuesday January 04, @10:05PM (#34761760)

    I know you well enough to know you are off topic, & attempting to "preach" to me, on how to write online... this isn't english class, & this isn't a paper for a grade in academia, nor is it a legal correspondence... so, there you are!

    Additionally: I am 46 yrs. of age, & the first time I was online on the internet (before the web) frequently was in the early - to - mid 1980's during my 1st degree (iirc, it was 1985 in fact in the computer labs doing ftp transfers + telnet work, & later I was doing GOPHER in the early 1990's before the web - then, finally, once DOS 3.3-6.22 came along, it was online doing BBS systems circa 1992-1994, then 1994 onwards, to the present day on the "web")...

    Were you even ALIVE then? apk

  118. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by burnttoy · · Score: 2

    Ahem...

    Add to that this... Most SoC's run a fairly narrow and slow memory bus. Also, GPU's tend to be WAY slower than CPUs...

    Fancy racing a 4 * 150Mhz pipe GPU against a 1 Ghz, superscalar CPU with 64/128 bit SIMD extensions?

    Who will win?

    Answer... the memory bus. You can TRY and get the CPU and GPU to work together but all that will happen is that the memory bus will get swamped and everything slows down.

    GPUs can render polys with straight edges. UIs frequently want curved, rounded objects with complex gradients and complex blend modes not supported by GPUs.

    TBH the article is nonsense. Android composites using OpenGL. Individual applications render with SKIA for 2D. The SKIA API is deliberately immediate mode to reduce latency (GPU's do not multitask and have rubbish MMUs). All applications are back buffered so they cache bitmaps pretty well. Bitmap copying is minimal.

    Maybe a scene graph would help - but you'd increase latency greatly and (if GPU accelerated) you'd make the GPU task switch - not quick on many (most) GPUs.

    Also - Poly throughput isn't the problem - fill rate is... (see Memory Bus above).

    Burnttoys.

    --
    Time flies like an arrow. Fruit flies like a banana.
  119. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by John+Betonschaar · · Score: 1

    When you optimize to GPUs, you have to optimize to all GPUs. I realize there are common instruction sets but the main selling point of Android is its versatility. If I start coding for only Snapdragon processors with PowerVR GPUs because it has a better UX [..]

    OpenGL ES 2 == OpenGL ES 2. Just write one compositor that uses it, and one that doesn't. Problem solved. The iPhone 3G and earlier didn't have OpenGL ES 2 either, but that didn't stop Apple from utilizing it for the UX on the 3GS and upwards.

  120. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by vidnet · · Score: 1

    Is it that difficult to setup a similar thing in the app store?

    No, but then vendors have to compile for and test on 14 different platforms and 3 different kernels. There are definitely diminishing returns there, and the 90% of the configurations with 10% of the users will be left with untested and potentially buggy. "Normal people" want Android to be Android and choose a device based on the sleekness of its ads and cuteness of its logo, rather than based on chipset model numbers.

    We'll probably end up in a Wintel type scenario, but it's a noble effort even if it's doomed.

  121. Really... by Anonymous Coward · · Score: 0

    Lack of control and all kinds of unfixable problems is what you get when you make wrong technical decisions. Why has Java raised to the level of popularity it enjoys today? Because it's convenient for idiots and managers alike. Ever heard about a C program pausing to garbage-collect? Ever saw your Spectrum stagger in the middle of anything? Your 1984 Macintosh? Your SNES? Though so.

    Now keep on making enjoying computers more and more difficult just because the average Joe Programmer has bills to pay and the corporations and the general public don't give a crap until it's late and then... oh look! new shiny thing!! wants!!

  122. Why all this complications with VM etc ? by Anonymous Coward · · Score: 0

    I never understood why would one even need VM on device such as smarthphone. Whe executing code on some imaginary 16 or 32-bit CPU when you clearly have very solid real one - ARM ?

    ARM is in practically all devices and nothing indicates that this is going to change any day soon.

    So, why complicate things with some modified Java engines and as a collateral damage getting sued by the Oracle ?

    I would gravitate toward lean&mean clean&simple solutions - for example C ( with an assembly as an option for time critical bit or two) within simple, preferably Linux-based environment.

  123. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Anonymous Coward · · Score: 0

    Any basic 3D engine does this: you get to customize many aspects and constants to optimize rendering. How does optimizing for the GPU differs from this? The app store could support this, like Debian does.

  124. Re:java's architecture is broken by design by Anonymous Coward · · Score: 0

    So lonely. So sad.

  125. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Anonymous Coward · · Score: 0

    Actually, make it one texture and 18 triangles. Edges aren't scaled the same way as centers.

  126. javascript/html anyone, ie webkit? by cheekyboy · · Score: 1

    Do it all in html5/js.

    --
    Liberty freedom are no1, not dicks in suits.
  127. LG or samsung?!? Not both. by cheekyboy · · Score: 1

    Which is it dude, LG and Samsung?

    LG have some good low end capable devices with crap screens (eg GT540)

    Theres no such thing as a Samsung LG Optimus, its only LG Optimus by LG ok, just LG.

    --
    Liberty freedom are no1, not dicks in suits.
  128. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Anonymous Coward · · Score: 0

    Unfortunately, we don't have the technology yet.

    It would need programming tools that doesn't exist yet, a shitload of money a thousands of developers.

    The closest thing there is OpenGL

  129. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by node+3 · · Score: 1

    It's also very difficult to know which device to even upgrade to! It's not like PCs where you can say, "well, this game needs a 5770 and a Core i5 quad" and you can just spec out an upgrade to give you that. It's more like, "this app is slow. which phone can run it better?", which will leave most consumers confounded, and they will be forced to opt for the "find some other preoccupation" route, which is going to really sour their experience.

    Do you think consumers in the 80s were any smarter than the modern day counterparts?

    Absolutely. Specifically, consumers who bought computers in the '80s and early '90s. Because computers were still relatively rare back then, so it was a self-selected geek subset that bought computers.

    How do you think consumers knew which IBM clone had what specs to run which game? They went to a store and asked some guy there "will this run such and such?" and found a computer that fits their needs.

    They looked at the box. Back then, everyone knew what CPU they had, which was the only thing that really mattered for Doom.

    The same thing can happen with phones. The consumer walks into the store for their upgrade and says "I have such and such slow phone. I need a phone that is faster." and the clerk, just like in the 80s, points to the various phones and says which ones are faster or not.

    It's the exact same situation.

    It's not. Because it's not simply a matter of a choosing a phone with a faster CPU. Now it's a many-dimensional feature matrix. It's far, far more complex. Especially given how hidden the internal specs are, and the fact that things like responsiveness of the touch display and upgradeability are not even discernible from the specs, and other things are orthogonal to performance, like keyboard style, size, camera, etc.

    And it's not like people are going to walk into the store knowing ahead of time which apps they will end up wanting to run, and it's not feasible to upgrade your phone just to play Angry Birds today, then again for Epic Citadel tomorrow.

    Also, back then, the computer salesman could state objectively that a given PC was superior or not than some other. This is almost still true today, except that it's not always clear between things like AMD or Intel, ATI vs Nvidia, and even whether quad core but slower clock is better than faster clock, but dual core, because of variability in usage patterns.

    Anyway, the point being, the consumer has no way to know which phone is the right one to pick.

    The silly thing here is Android proponents acting like fragmentation isn't an issue. It undeniably is. With the iPhone, the matrix is essentially either current or previous gen, different flash storage capacities, and sometimes color. With the iPhone, you know that the current gen will run *all* apps on the App Store at the best performance.

    This is an inevitable side-effect of Android's key strength. You can't have the one without the other. And for the iPhone, this is why the single source is such a key benefit.

    If you want choice, you *must* give up usability and overall user experience. But you do get choice. If you favor usability and user experience, you give up choice. It's no surprise that a lot of geeks are fine with the downsides of choice, and prefer the benefits choice has to offer. And it's no surprise that the average consumer would rather give up choice for a better experience.

    What is surprising, however, is the legions of geeks who can't seem to grasp this.

  130. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by AmiMoJo · · Score: 1

    I have a Galaxy S and the browser is the stock Android one. I even did an MD5 comparison of the binary (my phone is rooted) with a vanilla ROM to confirm. If there is any optimisation it must be at the driver level.

    The biggest improvement to performance I have ever seen for Android is the One Click Lag Fix you can download from the Market (needs root). It creates a new EXT2 formatted disk image and copies all your apps and their core data to it. Apparently the next revision of Android will have a better filesystem anyway but OCLF alone makes things much snappier on Froyo. That suggests that the bottleneck isn't the GPU or CPU most of the time, it is the speed of flash memory and by extension the amount of available RAM (since more RAM = more caching and less flushing.)

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  131. Re:I've complained about this more times than i ca by Daniel+Phillips · · Score: 1

    The stack ranking system is nearly a carbon copy of Microsoft's

    The promotion systems are nothing like each other between those two companies (I've worked at both). The (optional) peer stack ranking at Google is a small part of the peer-driven review system. Microsoft (at least when I was there) had the traditional manager-driven reviews and ranking. It is true that those very different sources of data led to an overall ranking at both companies, but I don't see how else you'd apply a threshold consistently.

    Google talks a great peer review system but does not walk a great peer review system. Peer review, whether positive and negative, can be and is routinely ignored by managers. There are no checks and balances, ask around.

    Unlike most tech companies, Google has no fixed maximum of people that can be promoted or given raises, just guidelines on what it takes to meet the threshold.

    And "exceeds" are only given out to friends, and except for the lowest ranked employees, promotions likewise. There are exceptions of course, but the rule is pretty much the same as Microsoft, just not quite as far advanced down the GE path.

    The result is inevitable degradation of the engineering culture.

    Google has a near-weekly meeting where you can question anyone up to the CEO, and a culture that says that just about any topical question is fair game. This is an important check on culture degradation, and I've certainly not seen anything like it at another company with over a thousand employees.

    This is nice its true, but you also better take care to softball your questions. "Larry I heard you can do one armed pushups, can I see you do it?" Avoid "is it true you expect new hires to accept below market compensation for the privilege of working at the world's most awesome company?"

    Google certainly has its share of issues with bad hires that don't get along well, or projects and offices that get overrun with people who bring traditional IT-company culture with them from their former workplaces. Perhaps you were stuck in such a situation and I apologize. However the difference between Google and Microsoft (for me at least) is still night and day.

    It would not surprise me if your Microsoft experience was way worse than your Google experience. I was in fact in a satellite office with serious leadership issues, however I spent plenty of time in MTV as well and I observed the same issues in many situations. Just not as bad as Microsoft, but in the absence of concert remedial action, well on the way to being a carbon copy. I did in fact witness the degradation of the engineering process over the years I was there. And getting back to the topic at hand, you can see the result in the many little stupid issues in the shipped software, that never get fixed year after year. For example, when my phone knows exactly where I am and I type in the name of a restaurant, why am I shown a map of China? When I get a upgrade completion notification on the main screen, why must I start the application to dismiss it? Why can't I write an application that bypasses Java completely, when everybody knows Java is an intellectual property minefield?

    --
    Have you got your LWN subscription yet?
  132. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Anonymous Coward · · Score: 0

    Modded "Insightful". How ironic.

  133. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by exomondo · · Score: 1

    If you want choice, you *must* give up usability and overall user experience. But you do get choice. If you favor usability and user experience, you give up choice. It's no surprise that a lot of geeks are fine with the downsides of choice, and prefer the benefits choice has to offer. And it's no surprise that the average consumer would rather give up choice for a better experience.

    You're absolutely right but there is some middle ground as well, which is the strategy Microsoft has taken with WP7. They have determined a range of hardware to tune the user experience. Sure it limits choice a bit but you don't end up with devices that struggle to run the OS & apps and destroy the user experience and platform reputation.

    Additionally developers know what the minimum spec is and can work with that to ensure the performance of their software is consistent across devices.

    I think it's great that we have these 3 different platforms addressing effectively the same market with 3 different strategies all with different up- and downsides. It means you generally have a good option no matter which demographic you fall into.

  134. Re:java's architecture is broken by design by Anonymous Coward · · Score: 0

    So sure. So misguided. So cold. So lonely. So sad.

  135. Re:java's architecture is broken by design by MichaelKristopeit349 · · Score: 0
    i'm sure you are.

    cower some more, feeb.

    you're completely pathetic.

  136. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Anonymous Coward · · Score: 0

    All you've done here is just restated the fact that Android is fragmented.

    That is because some people seem have difficulty inculcating this fact into their minds. Android is already fragmented. Whether you or Google or anyone else likes it or not. This fragmentation will not be reversed, prevented or otherwise mitigated. It will grow rapidly. Whatever Android becomes will accommodate this simple imperative.

    It's written into the license and business model Google chose for Android

    You are reading into the license more than exists; nothing prevents a manufacturer from building devices with capabilities that far exceed 'typical.' They are actively competing on every dimension including speed, capacity, price, size, exclusivity, etc. Nothing prevents developers from making apps that leverage those capabilities. After the device sale there are, effectively, no limits.

    So the i7 gets stuck running software designed for the Atom and its single and dual-core ilk....It's the nature of a fragmented market.

    Yes, it is, including the fragmented Android market. The PC market includes widely purchased and highly successful software that specifies quad cores as optimal. Those lacking the means accept less than optimal results or do not indulge. Android is now, and will continue to be, the same.

    which is going to really sour their experience

    This is already happening. Just google "angry birds too slow". Sour people are inevitable and they don't have a veto over everyone else.

    How exactly do you expect this to work out in the real consumer world?

    Same as consumers work out every other purchase decision they make. They'll decide what they want and seek something capable of doing it. Later, when they learn what they really want they do something else. The smartphone market has years to go before it achieves the sort of maturity you appear to expect of it. These are playthings for wealthy urbanites. Adopt appropriate expectations.

    you likely didn't choose the best

    'best' has no meaning. The calculation defies any credible model. People will trade in a car if they believe their pet dog is unhappy with it. Anyone claiming to measure 'best' is a charlatan. Anyone believing the results is a fool.

    Normal people aren't going to put in the effort

    Normal? Right there I know I'm dealing with a slew of preconceptions that won't entertain reason. People will certainly put in the effort. Just before they make a purchase. How is this any different from any other significant expenditure? Phones aren't special. People have been buying phones for years based on their arbitrary criteria and available information.

  137. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Anonymous Coward · · Score: 0

    And it's no surprise that the average consumer would rather give up choice for a better experience.

    Android devices began outselling iPhones during Q1/2 2010. Your premise that consumers would rather give up choice is a fiction. iPhone is just another choice on a big, fast changing menu.

    Will you now attempt to discount market reality by citing 'price' as a explanation for these results? Price is a factor in choice. Only fanbois believe there is a trump card for the technically superior.

  138. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by Anonymous Coward · · Score: 0

    WinPhone7 just lapped Android because they just shipped with GPU compositing, like the iPhone.
    This means that the WinPhone7 devices will have better responsiveness and battery life, unlike thisNexus S I'mposting from.

  139. Re:Doesn't Optimizing for GPU Exacerbate Fragmenti by PipsqueakOnAP133 · · Score: 1

    That suggests that the bottleneck isn't the GPU or CPU most of the time, it is the speed of flash memory and by extension the amount of available RAM (since more RAM = more caching and less flushing.)

    Unfortunately, that doesn't really make any sense since the Galaxy S series has similar(probably even same) flash to the iPad and Samsung Windows Phone 7 units, but at least the iPad doesn't suffer from the same lag.

    (I have an iPad and a Nexus S.)