Related
Recently, I finished finally modifying the xperia x10 that I have and one of the greatest improvements that those guys achieved was getting a lot more processing power by enabling JIT.
So naturally after seeing it work miracles on the x10, I went to look for it on my captivate and so far have come up with nothing anywhere. I saw some discussion in the past about it but nothing beyond.
Hopefully somebody can enlighten and if such a thing does seriously want to be worked on.... Here's a thread!
Sent from my GT-I9000 using Tapatalk
FroYo (2.2) and later have Just-In-Time compilation (JIT) out of the box. There are probably a dozen FroYo ROMs on the front page alone, so pick one have fun!
From what I've read, it's been a part of the ROMs since 2.1 but it needs to be enabled. Is this the case here or am I missing something?
Sent from my GT-I9000 using Tapatalk
kr3w1337 said:
From what I've read, it's been a part of the ROMs since 2.1 but it needs to be enabled. Is this the case here or am I missing something?
Sent from my GT-I9000 using Tapatalk
Click to expand...
Click to collapse
That is one of the biggest parts of froyo is that it enables JIT...so if you run a rom that has froyo its enabled unless I'm mistaken...
Sent from my GT-I9000 using XDA App
JIT is enabled by default in all Froyo ROM's. You can check the build.prop for ****s and giggles though.
The Galaxy S won't show the kinds of scores that Qualcomm based devices will, even with JIT enabled. Qualcomm included 128-bit SIMD Floating Point extensions with Snapdragon, while the Hummingbird only has 64-bit extensions.
yes with jit we get a 60-70% improvement but a qualcom gets 300%+ in floating point operation. in modern computers there are many other factors though and quardrant cpu scores are still very high for our chip (if you use the pay version you can see the score breakdown). so dont let the linpack scores discorage you. ive gotten as high as 18.2 in linpack with some overclocking though, which isn't bad. it's not the 50+ in the qualcom phones with some mods but not bad.
So that's what the story is, thanks guys! Wondering if things could be improved beyond overclocking...
I know it can be but don't know how. Some guys are getting 25+ in linpack on there website. So there is something else holding us back a bit.
Sent from my SAMSUNG-SGH-I897 using Tapatalk
Dani897 said:
I know it can be but don't know how. Some guys are getting 25+ in linpack on there website. So there is something else holding us back a bit.
Sent from my SAMSUNG-SGH-I897 using Tapatalk
Click to expand...
Click to collapse
You talking about xperia x10? really 25 on linpack? I dunno if that is even possible to OC to astronomical speeds. They run on older hardware and I think most are still on 2.1.....
All Android ROMs have a JIT compiler, it literally is what compiles all the Java on the fly. Newer versions are optimized for better performance.
So the better question is do the 2.2 Froyo ROMs have the latest JIT compiler version available or does the Nexus S have a newer more performant version we can steal. More than likely it will not work with 2.2 since the Nexus S is using 2.3.
From everything I have heard the newer JIT comp versions are optimized for the Snapdragon chipset more than anything. Which doesn't do us much good.
2.2+ have the JIT. Prior to 2.2, all programs ran entirely as interpreted bytecode on an isolated virtual machine. In 2.2+, the JIT translates the most cpu "heavy" bytecode down to native instructions during execution, stores it in cache, then runs it natively on the processor in a protected mode. Dig the video below, it's an hour long but the functionality of the JIT is explained in the first 15 minutes.
^Edited the above to accurately describe the function of the JIT
http://www.youtube.com/watch?v=Ls0tM-c4Vfo There you go, dudes. JIT Demystified.
modest_mandroid said:
2.2+ have the JIT. Prior to 2.2, all programs ran as bytecode on an isolated virtual machine. In 2.2+, the JIT translates the bytecode down to native instructions just before execution, then runs it natively on the processor in a protected mode. Could be wrong, but to my understanding, that is the major difference between 2.1- and 2.2+.
http://www.youtube.com/watch?v=Ls0tM-c4Vfo There you go, dudes. JIT Demystified.
Click to expand...
Click to collapse
This is what I saw and know too. However, I believe that the compiler that we are using is rather old and has some room for improvement. The nexus S compiler working on the captivate is a possibility that could become true after the 2.3 port is finished, provided that the developers look into it.
Sent from my GT-I9000 using Tapatalk
I already posted this in general, but this might be a more suitable place.
The way I see it, android (especially the newer versions) are capable of distributing several processes over the dual cores. Apps however don't utilise both cores.
Another question: what kind of apps would benefit from using both cores? I could imagine that heavy games and home launchers could benefit from using both cores.
Are there tools available for android that enable multithreading apps? And what are the average prices of app development tools?
Im currently working in Java, but how do most people write Android apps?
Just found some information that confirms my thoughts on how android uses parallel structures, but this still leaves open my other questions:
"Android 2.2 already takes advantage of multicore. Anything that multitasks and multithreads already takes advantage of multicore. But this exploitation is a matter of degrees.
Android 2.3 takes further advantage of the multicore, because unlike Android 2.2, 2.3's file system is multithreaded one, not single threaded. When it comes to file I/O or database searches. 2.3 will be a lot faster.
Android 2.4 or 3.1 as rumored to be, will take even greater advantage of multicores with further "architecting" parts of the OS to use more multithreads."
Android 2.3 has concurrent garbage collection which I imagine will take advantage of dual core phones. This should really help to reduce any lag or stuttering in apps and games.
First, if you develop something that requires much CPU power, then you should always try to do it using multiple threads. This is a general rule, not only related to Android.
Second, main thread of an app is UI thread and you should never run CPU-consuming tasks in it. So actually you are forced to use multi-threading in Android apps.
Third, there are many things that Android itself could run in parallel to your app: garbage collector, UI changes, animations, background apps, etc.
Brut.all said:
First, if you develop something that requires much CPU power, then you should always try to do it using multiple threads. This is a general rule, not only related to Android.
Second, main thread of an app is UI thread and you should never run CPU-consuming tasks in it. So actually you are forced to use multi-threading in Android apps.
Third, there are many things that Android itself could run in parallel to your app: garbage collector, UI changes, animations, background apps, etc.
Click to expand...
Click to collapse
Thanks for you quick answer! Could I use a Java solution that makes multithreading obsolete to make this all easier? And then just pack it into an apk? Sorry, but im pretty new to this.
Stitch! said:
Thanks for you quick answer! Could I use a Java solution that makes multithreading obsolete to make this all easier? And then just pack it into an apk? Sorry, but im pretty new to this.
Click to expand...
Click to collapse
I don't understand. How does Java makes multithreading obsolete? Besides, MT isn't really that hard if you have good tools for asynchronous processing of tasks. Java/Android gives you such tools.
Brut.all said:
I don't understand. How does Java makes multithreading obsolete? Besides, MT isn't really that hard if you have good tools for asynchronous processing of tasks. Java/Android gives you such tools.
Click to expand...
Click to collapse
Not Java, but an Java extension called Ateji Parallel extensions. There is a demo here: http://www.youtube.com/watch?v=8MDbqTgCDIA
I was just wondering, if it would be worth developing for android. The video is a demo on a dual core, and the new quadcore dev kit just came in. Additions to the that I thought about now are a timer and perhaps some other figures that can indicate the difference. Do you have any ideas on this?
Really appreciate you input, thanks!
Stitch! said:
Not Java, but an Java extension called Ateji Parallel extensions. There is a demo here: http://www.youtube.com/watch?v=8MDbqTgCDIA
I was just wondering, if it would be worth developing for android. The video is a demo on a dual core, and the new quadcore dev kit just came in. Additions to the that I thought about now are a timer and perhaps some other figures that can indicate the difference. Do you have any ideas on this?
Really appreciate you input, thanks!
Click to expand...
Click to collapse
Yes it would be worth it to develop for android. The newer android phone's dual core processors are utilized by games but only when a new version of android (future ice cream sandwich and later so i have read), will be able to support multiple processors. Also android really needs some 3D HD games like what Apple has made for the Iphone. I hope you decide to develop for android.
I still don't understand why it's so important to you. You don't need Ateji to utilize multiple cores, actually their demo is just a few lines of pure Java code. Ateji could make things easier, but it doesn't do any magic.
Stitch! said:
Another question: what kind of apps would benefit from using both cores? I could imagine that heavy games and home launchers could benefit from using both cores.
Click to expand...
Click to collapse
Anything involving image processing is a good candidate. For example, if you want to sharpen a photo, you can have one core processing the top half and one core processing the bottom half. Saying that though, I've found the single threaded performance of newer processors is fast enough for typical image filters.
sorry for this noob question, but i never really knew what it was. what are the pros of this? does it fix the choopy video on most all ics roms? i saw qualcomm released official drivers but what will they fix?
Truth is somewhere here!!
hey,
well it simply does what it says, lol it accelerates your hardware making it run fast, smoother, better, and it does many great things for your phone!
Hardware acceleration means that certain things will be done by the GPU instead of the CPU. THe GPU has more cores and is made to process graphics and UI's. the Acceleration on ICS is suppsoed to use the GPU for the UI and for apps. Taking the strain off the CPU and theoretically providing a better power management since the GPU will do it faster. Flipping from screen to screen should be more fluid as should scrolling etc.
stevovanburen said:
hey,
well it simply does what it says, lol it accelerates your hardware making it run fast, smoother, better, and it does many great things for your phone!
Click to expand...
Click to collapse
are you trying to be funny? or is that really what you think hw acceleration is?
deathsled said:
are you trying to be funny? or is that really what you think hw acceleration is?
Click to expand...
Click to collapse
Hey,
I was just trying to leave it simple for others,
I guess that was not a good way to put it though..and if you want me to put in the tech specs I shall fix it
Hardware acceleration To be simple and sweet:
System with out h/w accel
cpu is what is going to be running your task and ui,
gpu is your graphics core in charge of changing things such as the window overlays,
Problem
Issue cpu is limited and can be strained a lot,
The gpu which is made specifically to handle graphics could take a bigger load,
Solution
Hardware acceleration
Which will run task and so forth on the system's gpu
This shall be freeing up your cpu allowing it to perform better
This allows your phone to run faster, smoother, better *in theory anyways*, and as I said does many great things for your phone.
It's not like older versions of Android don't have hardware acceleration, ICS will just have better hardware acceleration.
thanks guys helped alot
cmsjr123 said:
Hardware acceleration means that certain things will be done by the GPU instead of the CPU. THe GPU has more cores and is made to process graphics and UI's. the Acceleration on ICS is suppsoed to use the GPU for the UI and for apps. Taking the strain off the CPU and theoretically providing a better power management since the GPU will do it faster. Flipping from screen to screen should be more fluid as should scrolling etc.
Click to expand...
Click to collapse
Do older Android versions have HWA?
te45a said:
Do older Android versions have HWA?
Click to expand...
Click to collapse
I don't think so but pb5-7 I guess of Deck's , HWA is pretty awesome.
Sent from my HTC Evo 4G using xda premium
stevovanburen said:
Hey,
I was just trying to leave it simple for others,
I guess that was not a good way to put it though..and if you want me to put in the tech specs I shall fix it
Hardware acceleration To be simple and sweet:
System with out h/w accel
cpu is what is going to be running your task and ui,
gpu is your graphics core in charge of changing things such as the window overlays,
Problem
Issue cpu is limited and can be strained a lot,
The gpu which is made specifically to handle graphics could take a bigger load,
Solution
Hardware acceleration
Which will run task and so forth on the system's gpu
This shall be freeing up your cpu allowing it to perform better
This allows your phone to run faster, smoother, better *in theory anyways*, and as I said does many great things for your phone.
Click to expand...
Click to collapse
Originally you said "it accelerates your hardware making it run fast". A statement like that implies something being done to the hardware like overclocking the CPU for higher performance. If you were trying to dumb down what HW acceleration was you got it completely wrong lol.
But, as you've come back and elaborated further now you've got the right idea. The point of HWA in any situation is to leverage existing hardware to perform certain operations/rendering that otherwise would be done in software by the main CPU.
Hi,
I´ve read that ICS has GPU acceleration for the UI implemented as a standard. Is there really a difference in smoothness compared to custom gb roms? I´m talking about the i9001. But it should be the same as with the i9000
Regards
Lekor
Can't tell the difference.
I'm on RemICS v1.2 with Devil Kernel 3.0.72. I set GPU from stock 200MHz to OC at 250MHz and I can't tell the difference. But the Kernel developer did say it may not work. Still experimental.
Afaik no big difference, although our GPU is powerful. Maybe stock ROM has other imorovements, so the boost isn't good to feel on ICS.
Samurai05 said:
I'm on RemICS v1.2 with Devil Kernel 3.0.72. I set GPU from stock 200MHz to OC at 250MHz and I can't tell the difference. But the Kernel developer did say it may not work. Still experimental.
Click to expand...
Click to collapse
GPU OC isn't same as GPU accelerated UI
And yes ICS should benefit from it..but can't really remember anyone GB times if there has been some speed gain..
Sent from my GT-I9000 using Tapatalk 2
Yeah it does, but i reckon that ICS is really unpolished with it.
Running slim with the latest semaphore and I can definitely say this is the slickest my phone has been, but that is just my opinion
Sent from the gutter, gazing at the stars
Lekor2k said:
Hi,
I´ve read that ICS has GPU acceleration for the UI implemented as a standard. Is there really a difference in smoothness compared to custom gb roms? I´m talking about the i9001. But it should be the same as with the i9000
Regards
Lekor
Click to expand...
Click to collapse
There are apks that use the gpu. In custom roms i saw that this is true on i9001
The stock browser in 2.3.6 uses GPU acceleration. There are other apps also, but not the OS UI.
In 4.0 custom rom it should work in the apps when you enable the option from the developer options.
No difference. Everything using 8 mb more ram with 200mhz GPU acceleration.
Sent from my GT-I9000 using XDA
burakgon said:
No difference. Everything using 8 mb more ram with 200mhz GPU acceleration.
Sent from my GT-I9000 using XDA
Click to expand...
Click to collapse
Bro, just upgraded my i9000 to ice and forced gpu acceleration.
Man even on the xda app itself I can see a marginal difference in smoothness.
Sent from my GT-I9000 using xda premium
it has an option force gpu rendering that uses 2d hardware acceleration in applications...and you have to set it manual...but dont know if it rly helps in smoothness i think it depends more on the rom then to have this gpu option
MrAndroid12 said:
Bro, just upgraded my i9000 to ice and forced gpu acceleration.
Man even on the xda app itself I can see a marginal difference in smoothness.
Sent from my GT-I9000 using xda premium
Click to expand...
Click to collapse
Because it's cyanogen. You can see it's even faster on cm7.
Sent from my GT-I9000 using xda app-developers app
I see an awful lot of people saying it offers no improvements. Personally, I think it does.
I keep my phone up to date as much as possible. When ICS was stable, I jumped right in. I haven't ran Gingerbread in a long, long time—but from what I remember, it had some lag. Android, in fact, was known for this lag. You couldn't read an iOS vs Android debate without this lag being mentioned (at least when Gingerbread was the newest). And I had tried everything: every lag fix, every tweak, every ROM, every kernel, governer, scheduler, OCing, UVing—I tried it all. But I still remember there being lag.
Now I'm in the present. I've been running ICS since it was stable and, quite frankly, I don't notice that lag. I mean, yes, my phone does still lag—if I'm doing something processor intensive in the background—but not like my memories of Gingerbread. Back then, it would lag scrolling through my list of apps; it would lag doing menial UI rendering without anything running in the background. That simply does not happen anymore. Not in my experiences. Not with ICS.
Granted, as I did in Gingbread, I do in ICS—I've applied every fix, every tweak, and every possible software combination that I could get my hands on. I've tried every ROM, every kernel, every setting imaginable. And I do this because I've been thoroughly impressed by the community here at XDA. This device of ours is over 2 years old now. But the software progression does not stop. We move forward as if the hardware was built just yesterday. And I have to tell you, our phone is keeping up—it really is. My phone is faster than a lot of my peers, even with some of them having much newer hardware. And I honestly don't feel I could have said any of this if I had stayed far behind with Gingerbread.
Everyone wants a new phone. It's newer, better, faster. But what they don't realize is that software can fulfill a majority of their wants. It is a continuous improvement, however gradual it may be. To not want to upgrade your software is like not wanting to upgrade your phone. And let's be honest, who doesn't want a new phone—one that's newer, better, and faster—without ever having to buy one.
I do. And that's why I update my phone. But maybe that's just me.
Not my app, but I seen this over on the N7 forums and thought I might share. I haven't personally tried it but seems pretty cool. It might be able to get a few more FPS out of some of the stuff the Ouya is doing.
Tegra OverClock
I don't know how you'd get it installed on the Ouya without having to backup and restore the APK by sideloading.
It seems it was just released today.
It appears to use drm tied to Google framework.
Sent from my GT-P3113 using Tapatalk 4 Beta
Perhaps it can be found in another market?
Sent from my Nexus 7 using XDA Premium HD app
player911 said:
Not my app, but I seen this over on the N7 forums and thought I might share. I haven't personally tried it but seems pretty cool. It might be able to get a few more FPS out of some of the stuff the Ouya is doing.
Tegra OverClock
I don't know how you'd get it installed on the Ouya without having to backup and restore the APK by sideloading.
It seems it was just released today.
Click to expand...
Click to collapse
Well after doing some research it looks like (Assuming you're rooted with custom ROM, cwm recovery, Google Apps enabled etc.) We can "safely" overclock the GPU.
I used Google translate and found the following Spanish user said, "Tegra overclock (no Tegrak): Default uya the gpu of 200mhz and can come to no problem climbing to 520 (more crashes) and force the 4 cores to stay on. It is quite noticeable in some ways, the vice city to the fullest without almost pulls, n64 emus greatly improved the framerate but less so in the benchmarks. The temperature in my case (I have it out of the box) is no problem. http://www44.zippyshare.com/v/71430637/file.html
ale! to tinker but I take responsibility if it burns! lol"
I'm going to give this a shot. Hope my OUYA doesn't die on me
BlissfulBeast said:
Well after doing some research it looks like (Assuming you're rooted with custom ROM, cwm recovery, Google Apps enabled etc.) We can "safely" overclock the GPU.
I used Google translate and found the following Spanish user said, "Tegra overclock (no Tegrak): Default uya the gpu of 200mhz and can come to no problem climbing to 520 (more crashes) and force the 4 cores to stay on. It is quite noticeable in some ways, the vice city to the fullest without almost pulls, n64 emus greatly improved the framerate but less so in the benchmarks. The temperature in my case (I have it out of the box) is no problem. http://www44.zippyshare.com/v/71430637/file.html
ale! to tinker but I take responsibility if it burns! lol"
I'm going to give this a shot. Hope my OUYA doesn't die on me
Click to expand...
Click to collapse
So did it work? Can you post back your experience? Thanks
Really it sounds great.
Sent from my GT-N7100 using xda app-developers app
Will it eventual work the orginal terga overclock app, or will it just be the Spanish
Sent from my HTC One S using XDA Premium 4 mobile app
D3LTA said:
Will it eventual work the orginal terga overclock app, or will it just be the Spanish
Click to expand...
Click to collapse
He was simply quoting a Spanish website regarding Tegra3 GPU clock - this has nothing to do with the O/C app. IF the app is optimized for Ouya, it won't be Spanish only of course.
Ipse_Tase said:
He was simply quoting a Spanish website regarding Tegra3 GPU clock - this has nothing to do with the O/C app. IF the app is optimized for Ouya, it won't be Spanish only of course.
Click to expand...
Click to collapse
FYI...I tried the latest version on my Ouya and got nothing. It doesn't even pull the CPU clock speed.
Ipse_Tase said:
FYI...I tried the latest version on my Ouya and got nothing. It doesn't even pull the CPU clock speed.
Click to expand...
Click to collapse
Did you run it on a rooted / custom rom / play enabled ouya? i'm on 519r2 (StockPlus). Would love to give it a go, but a little concerned about heat!
rosietastic said:
Did you run it on a rooted / custom rom / play enabled ouya? i'm on 519r2 (StockPlus). Would love to give it a go, but a little concerned about heat!
Click to expand...
Click to collapse
It is working fine for me on 519r2. If you don't mess with the CPU speed, which there is really no reason to, there shouldn't be any noticeable increase in heat. I just have the GPU set to 520 and the FPS locked at 60. It has definitely made games I considered previously unplayable, playable.
philburkhardt said:
It is working fine for me on 519r2. If you don't mess with the CPU speed, which there is really no reason to, there shouldn't be any noticeable increase in heat. I just have the GPU set to 520 and the FPS locked at 60. It has definitely made games I considered previously unplayable, playable.
Click to expand...
Click to collapse
In my case, even with "Set at boot time" enabled, the settings are not sticking. I have to do it every time I power on the box - which becomes a bit tedious. Same goes for not being able to wake the Ouya from the controller.
I checked with No-frills CPU Control to see the CPU % use vs different governors and I found (same as on my N4) that "interactive" seems to be the better one.