Simple article from the Android developers Blog:
I'm sure all you programmer/App-developers know about this..
++**""THIS COUNTS AS MULTI-CORE SUPPORT""**+
(The tegra 2 Chipset manages the threads to run in-and-through the cores)
Multithreading for Performance
I'm positive that they haven't missed out these implementations throughout the Android OS, and your application developments should include multi-threading implementations...
(PS: This is to clarify with the people who believe android doesn't support multiple-cores, The Tegra 2 chipset manages threading itself, so aslong as there is multi-threading there's multi-core support.
Also Android OS contains 2.1 million lines of just JAVA alone, as a SCJD I'm sure they haven't forgotten to implement 100 or so lines of coding for supporting multiple threads)
Related
On the featured demo you will see the Android OS running on a reference device based on the Qualcomm MSM7200 with a 300Mhz processor.
The chipset is gaining popularity with PocketPC manufacturers - it was also in the root of the HTC user upheaval for some reportedly missing video drivers. The Android OS however benefits from the Qualcomm integrated 2D/3D accelerator in a way that the disgruntled HTC users could only wish for - it's playing a Quake demo at 30 fps.
it would be possible to ripp off the drivers from the new devices and somehow put them on htc's that lack such drivers?
Isn't android linux based?
Yes; I doubt such portability of drivers is feasible.
http://www.androidcentral.com/qualcomm-releases-open-source-3d-snapdragon-driver
there are links in the article.
I'm sure someone will find use for this.
Unfortunately it appears this is only the basic kernel code, i.e. memory setup, memory management, etc. The real meat of the driver is in a proprietary userland driver that Qualcomm doesn't appear to be interested in releasing. I read in the thread that as a result of this, it would be difficult to keep the kernel code maintained in the mainline kernel, and so it isn't likely to be adopted.
Too bad. Would be awesome if someone could find a way to customize this. Eventually I think we will be able to do this which I believe would produce huge performance gains
weird, do any of the current 1ghz processors have drivers in the mainline kernel?
If you google android gpu acceleration, you'll see numerous threads on other sites of people asking for it and others saying there hardware is smooth enough.
I don't want to discuss the merit of gpu acceleration as I think it's a given. What I'd like to know is a list of apps that do. But also, if these apps can, why isn't it utilized system-wide? Other threads mentioned older hardware could only have one opengl layer, so if your launcher was gpu accelerated, then a game wouldn't launch. I doubt this is the issue now with more recent hardware.
Is there any side project trying to add this to say cyanogen?
Anyway, I know launcher pro is accelerated. The scrolling through applications is like night and day with other launchers. Also the latest Opera is accelerated. It seems like the built-in gallery app is accelerated. I'm not sure about any of the pdf viewers. ezpdf seems the smoothest, but again, it might be just more optimized over other pdf readers.
So is there a list of apps that utilize the gpu? (besides games obviously)
I'm not sure if it's a video driver issue from device to device, but if that's so, how can a small app like launcher pro work accelerated on numerous devices?
sark666 said:
But also, if these apps can, why isn't it utilized system-wide?
Click to expand...
Click to collapse
Because a lot of Android phones can't take it.
Other threads mentioned older hardware could only have one opengl layer, so if your launcher was gpu accelerated, then a game wouldn't launch. I doubt this is the issue now with more recent hardware.
Click to expand...
Click to collapse
Yeah, but Android's target is a huge range of hardware- some very crappy. Read up on Android's "fragmentation problem."
Is there any side project trying to add this to say cyanogen?
Click to expand...
Click to collapse
A composite based GUI is a HUGE project. It is WAY beyond the scope of this community. It is what delayed Windows Vista for so long, and was a huge reason why many people didn't like Vista (as hardware around its launch couldn't handle the interface).
It took the Linux desktop over three years to add a decent composite GUI, and that was with MANY large companies working on it.
Composite based GUIs are VERY VERY difficult to get right. The only reason Apple has it right is from the get go that was the best part of OSX. Apple's engineers somehow got its composite GUI (called Quartz) on old low-MHz PowerPC machines, and that miracle of technology has not been duplicated anywhere else. In fact, that was the competitive advantage that Apple took with it to the phone market once phones were as powerful as old PowerPC machines.
Other OS's that use a GPU accelerated GUI just have to have very strict minimums for hardware. For example, look at the minimums for Window's phones. Any one of those would be high-end in the Android market.
I'm not sure if it's a video driver issue from device to device, but if that's so, how can a small app like launcher pro work accelerated on numerous devices?
Click to expand...
Click to collapse
Run Launcher Pro on an older Android device like a Droid 1 and you would be singing a different tune as to how smooth it is. The fact of the matter is that the Android eco-system isn't ready yet....
Hmm, compiz made huge improvements quite rapidly so I don't know about 3 years to get it right. The benefits were immediate; maybe refinements as it went along.
Regardless if it is huge undertaking, google has to address this. I've read articles where they say it's more garbage collecting vs an accelerated gui. Here's a brief but good article on it: http://www.satine.org/archives/2011/01/01/the-care-and-feeding-of-the-android-gpu/
And linux is a good example, the initial beginnings of compiz were a very small group of developers and features were being added very rapidly.
It turns a lot of people off android when they see a sluggish OS, or the appearance of a sluggish OS.
At any rate, my question still stands. you mention older devices needed to being supported. Then how does an app like launcher pro do it? I'm sure it doesn't have custom drivers for all the various gpu's out there? Same with Opera.
And I'd still like a list of (if there is one) of gpu accelerated apps. If the OS doesn't have it, then it would be nice to have it at the app level. Although I see that causing more headaches down the road instead of the OS doing it.
Anyway, google doesn't sound like they are taking this issue seriously. Or dismissing it as not necessary, but I think that's a mistake. On a traditional desktop OS, it's a nice to have but not really necessary, as most things are static. But given the size of the these devices, menus/icons etc are usually moved about cascade and expand etc. Items are dragged and moved etc. All this calls for an interface that maintains a high fps or otherwise it gives the perception of feeling laggy.
Trust me...rewriting Android to do automatic compositing is a huge undertaking. This would be very difficult to do while maintaining compatibility which existing applications. Honeycomb has compositing but it isn't enabled in applications by default because it can break applications with custom drawing. I don't see any reason for us to attempt to implement composting when its already done about as well as anyone can do it in Honeycomb.
sark666 said:
Hmm, compiz made huge improvements quite rapidly so I don't know about 3 years to get it right. The benefits were immediate; maybe refinements as it went along.
Click to expand...
Click to collapse
GPU GUI acceleration on the Linux desktop didn't start with Compiz. GPU GUI acceleration started in 2004 when Keith Packard added the composite patch to Xorg. David Reveman began working on XGL and Compiz around that time, and didn't release a workable beta version until 2006.
Yet that beta version relied on XGL, which was basically running the Linux desktop like you would a video game. It wasn't until AIGLX became stabilized in open source and closed source drivers in 2007 that GPU GUI acceleration on the Linux desktop was finished (I am huge Xorg junkie, that is why I know these random facts).
Regardless if it is huge undertaking, google has to address this. I've read articles where they say it's more garbage collecting vs an accelerated gui.
Click to expand...
Click to collapse
From what I have heard, Honeycomb supposedly has a GPU accelerated GUI. But we don't know till we can see the code.
It turns a lot of people off android when they see a sluggish OS, or the appearance of a sluggish OS.
Click to expand...
Click to collapse
I would say that the sluggishness is only obvious next to iOS- other mobile OSes also lack such abilities. Compared to iOS Android has mostly targeted the lower-end user segment where quality of experience is less important than raw price (hence the many underpowered Android phones).
Eventually due to attrition the baseline will increase in power and old phones will be cut off for new features such as this. I have already heard that Gingerbread runs terrible on a Droid 1, which is barely a two year old phone.
Then how does an app like launcher pro do it?
Click to expand...
Click to collapse
Same way games do it- they just run like crap on older phones. Google can't afford to take that approach with the entire OS.
And I'd still like a list of (if there is one) of gpu accelerated apps. If the OS doesn't have it, then it would be nice to have it at the app level.
Click to expand...
Click to collapse
Me too.
Anyway, google doesn't sound like they are taking this issue seriously.
Click to expand...
Click to collapse
I think that is an accurate assessment. I think Google believes that in time the hardware itself wil cover this inadequacy- it matters less on dual core phones. Its all those poor people that bought early Android phones that have had to suffer the most...
I'm sure it's not trivial, but again standalone apps seemed to have done it. I know OS wide is another issue. But really, honeycomb is really late when it comes to this. It really should have been a 2.x feature. I"m the exact opposite of an apple fan boy, but the first iphone in 2007 had this. That set the bar right there. What 4 years later and google is almost on it? And yes iphone is a fixed device, but still. An abstraction layer should have been worked on so if a device has a gpu it's used, otherwise fallback to software.
And on a side note, It would still be nice to know apps that do implement this now.
sark666 said:
An abstraction layer should have been worked on so if a device has a gpu it's used, otherwise fallback to software.
Click to expand...
Click to collapse
I am a huge fan of this stuff (I actually had a blog about composite back in the day) and I can tell you after hacking on many devices and OSes, only ONCE have I seen a decent software-based compositor. OSX. That is it, in the whole world.
In fact, Apple's entire "magic" empire of devices is built on that unique competitive advantage. Part of what has made it work is that composite was there from day one- unlike a Linux, Windows or Android, OSX/iOS has ALWAYS had composite so applications had to work with it.
And it wasn't a painless process. Early OSX versions (until Tiger I think) all had major composite bugs (to the point I am good at spotting them). Part of Apple's advantage is that initially the OSX base was so small that it didn't matter what broke and what didn't.
So essentially it is not a 4 year gap, but is more like a 10 year advantage. All those old PowerPC Mac users paid out the nose to make modern Apple phones the pleasant experience they are.
To me the saving grace of Android is that Google allows developers to replace major parts. So maybe the entire OS will never have real GPU acceleration, but Google doesn't stop the Operas and Launcher Pros of the world to replace essential functions with apps that CAN leverage that ability. That way different parts of the OS get fixed up by those who are best at that part, and those with weaker hardware can do without.
So yeah, a list would be nice.
Well even Windows XP seems to dust Android's best. For example, browsing these very forums on my pathetic netbook is smooth but on NC it is extremely slow unless Opera Mobile is used. Even Honeycomb's browser is slow scrolling these forums. It is pretty mind blowing that in 2011 there would be 2D GUI inadequacies like this.
But the reason is as has been said: there are phones with really poor GPUs running Android. So Google basically set the bar too low in order to probably lower the cost to develop an Android device and now they don't want to break compatibility. Although I don't see why 3.0 couldn't have been more ambitious.
Not Quite A List of Android GPU Apps
GPU Acceleration will be system wide when Ice Cream Sandwich is released. I stumbled upon this thread hoping to find specific apps. I am of the Nvidia Bootcamp, so that influenced me to get a Droid X2. There are some killer apps that work perfect with GPU acceleration. I am rather surprised to find that this thread became a history lesson, much which I knew and Wikipedia could tell me.
I am using a Movie Player on Android called MX Video Player (FREE and Free Codec Download Required). It works extremely well. This app is an excellent example of quality software taking advantage of GPU acceleration, before a system wide implementation. I doubt "MX" will get better when ICS is here.
As for CyanogenMod none that I know of other than the ICS port they are cooking up. Has to do with ICS SDK API 14, that is the framework for it?
When I find more I will add to the list here, that is if I dont forget.
Oh and that snyde XP comment.... Let me know how the android gui and os is when it has had ten years in the limelight, with patches and bug fixes!
http://hackaday.com/2011/09/06/smartphone-hacking-without-risk-plus-broken-phones-needed/
Scrolled into this article today. Thought some here might find some benefit to this community.
this has been covered on the front page a couple of times already, and it's only for phones with cortex A8 processors. the droid 3 users a TI omap processor so it wont wont
The D3 has a TI OMAP4 SoC which includes a dual core ARM Cortex A9 processor.
Think of these SoCs (OMAP, Tegra, Snapdraggon, etc) as an entire computer (motherboard, CPU, graphics card, etc) on a single chip.
But yeah, this guy is working with the A8, while the D3 and all current generation phones use A9 based CPUs. Maybe it will apply though, idk.
sorry, what i should have said was it requires a samsung hummingbird
this is a hardware mod, and the devs posted a list of all the phones its applicable to here:
http://forum.xda-developers.com/showthread.php?t=1236273
I think we should have opened a discussion on some important points,
1 adaptive storage, which I will draw on some specific model as our most has active others such as moto one, G6, and G7, motorcycle c, motorcycle and, we have to see if there is any limitation of hardware or software only thing, because this speech that Google does not support or that the cards do not have enough quality, not real, because every month we have models released with updated with this support.
2, dp vs dpi = 480 standard and high for this screen size, the base of android and 160, then it means that we have a base x3 of scale, this is legal for a worse point on the other, as this increases a lot more quality, the more the information displayed. You gain large, borderless icons plus loses in detail. Solution likely to set screen resolution lower than 540p, to have equibrio between size and quantity, or @ 1080p to have full amount of pixel there is screen, but if it is in stock has to activate a third party lacucher, because Motorola laucher does not support this pattern .
3, gpu is clock different from the specified, because it was to have maxima clock of 850mhz, more in the last version that I did read in the android with rom stock it was in setada the clock max 700mhz, more main problem was that even taking Max to 700mhz, in a good part of game and app it gets 450 MHz with low FPS content, even if it is not in the FPS limit of the game or application, it did not raise clock to its maximum .. probable solution for who has root, exchange governor gpu using kernel auditor, by order or by performance
4, this is less important and only one more doubt, mixed with indignation,. Because Samsung and some other privileged manufacturers can use 32bit android on their handset, which infinitely lighter and less consumer ram. What the 64bit, which Google has been forcing developer to use since the Android ..
It seems to prank some more Samsung with snapdragon 425 and 2gb of ram and HD + screen with 32bit android has usability, and multitasking better than our device that has 630 and 3gb of ram more with Android 64bit.
Mano has 5 years I see Google saying that there is no more Android 32bit, even so every year there is cell phone with input clip using Android 32bit fighting from equal to equal with Android intermediate with Android 64bit.
And I'm sorry if I said some nonsense, I do not understand much about development, but I had several devices and always made modifications, and always following the tropics and the developers
Ermes.mt/brasil said:
I think we should have opened a discussion on some important points,
And I'm sorry if I said some nonsense, I do not understand much about development, but I had several devices and always made modifications, and always following the tropics and the developers
Click to expand...
Click to collapse
So.... What are you trying to accomplish with this "discussion" that is probably already addressed in another thread??
jbaumert said:
So.... What are you trying to accomplish with this "discussion" that is probably already addressed in another thread??
Click to expand...
Click to collapse
yes and no, yes, because all the tropics in general seek 3 things (support, features or performance), and I'm approaching this three point, and yes! and discussion then everyone is welcome to try on a chair to have a coffee and speak their point of view .. #not much sound on this device and if we do not talk and we work together on it, we will not get a survival of it