Related
As some of you have notice there is a great interest in the heroc graphic capabilities.
Gingerbread offers new graphic possibilities and our graphic system lacks optimization.
It would be better to analyze the new capabilities in the recent updates to the graphic api's and kernel upgrades like .35/.37 lines and see where we can make adjustments to better improve our graphic system. We should not rely on how 2.1 handled these api's.
I know there are knowledgable people who can lead the way in adjusting, adding, fixing what we can.
First step is running apps updated to use the updated improvements, and documenting what our devices lack in useing the updated features. This applies to older apps like neocore as well.
Feel free to start conversing. Lets do this.
Fyi this is not a fps improvement its a feature improvement project
Sent from my HERO200 using Tapatalk
dearmasfamily said:
Fyi this is not a fps improvement its a feature improvement project
Click to expand...
Click to collapse
Sorry, thought that needed to be clearer.
So the hero has added graphics capabilities? I would say one app for testing with "updated improvements" would be Google Maps. Not sure if we have a hardware limitation, or a software one for some of the features. Obviouslly the 3D panning requires hardware.
[FUTURE APP] Overclocking/Undervolting stability test & power efficiency optimizer
Hi !
Here is the description of a potential app that might be developed under an open source license by united developers.
The app has several intents we may discuss:
1/ Validate the CPU stability
- Rare defective devices are not stable with manufacturer's Frequency, voltage and governor configuration.
- With overclocked devices, stability is far more challenging and as difficult to verify.
CPU stability is influenced by a lot of parameters, like
- Frequency table
- Voltage table
- Governor used
- Quality of the voltage regulation & switching implementation (hardware and software)
- Environmental heat, by other components (GPU, battery, screen) or the external temperature especially with black devices under the sun.
2/ Validate the GPU stability
Same thing here, most of our devices GPU can be overclocked but so far there is no good tool to validate its stability.
3/ Validate the system stability
Torture test: CPU + GPU + screen at 100% stability & charging at the same time
This is quite a common scenario when phone or tablets are used as gaming devices.
4/ Provide help to optimize the power efficiency
Today many OC users tend also to reduce the power efficiency of their device by setting inappropriate minimal and maximal frequencies (reduces efficiency) or by configuring too high voltages.
The best OC in general, or at least the most energy efficient consist of increasing the frequencies without changing the voltages.
Even if a higher frequency increases the power envelope, it only improve the power efficiency.
Also, undervolting for reduced frequency / power energy states improve power efficiency.
Future: automatic OC optimizer with profiles
Profiles:
- Best power efficiency without overclocking (undervolting only)
- Best power efficiency
- Balanced
- Max performance
With this feature, It could become the master of every OC tool.
Of course it will require the ability to speak to each existing sysfs controls formats, which is not such a big deal as most are quite cleanly implemented!
However it would make a few apps obsolete & also few people mad, which is definitely a negative point.
Another idea for this optimizer could be to allow for other OC apps to use the stability test engine and do the optimization themselves.
Implementation details
Good old stability stability test traditionally has been trying to make your CPU hot. As hot as possible, consume the most power, see if it crashes, and that's pretty much all.
While this approach could work with old PC CPU, it's now totally outdated.
Even if an excess of heat is still capable of making a CPU crash, modern CPU have quite complex usage behaviors like
- Switching Frequency and Voltage all the time.
- Entering and leaving sleep over and over, each time you lock/unlock your device, of the baseband wake it up by receiving a message, etc.
Like in every low level hardware stuff, the most delicate operations are switch of states, so, what a stress-test needs to do contains:
For me the reference test is "Intel Linpack" x86 implementation like you see in IntelBurnTest. I heard linpack binary is what they use in factory to determine which is the frequency rating of each CPU.
I don't know if it's true but I've always been impressed by the short time needed to detect an unstable PC system reliably where other tools like "prime95" could run for hours without giving usable result.
The ability to let the CPU (or GPU) switch frequencies
It can be done:
- by varying the CPU load. CPU governor will do its thing all alone.
- by "force" modifying the CPU frequency directly
Let the device enter sleep and wake it up
Many OC devices seems to work well but suffer from "sleep of death" issue. IE never wake up.
Sometimes even non-OC device have the same problem if you use ondemand governor instead of conservative.
I guess this is definitely something that can be implemented in the stability test
Detect non-fatal calculation errors
Like Intel Linpack test, errors detecting before a crash is smart and much safer.
It also allow to reduce dramatically the required test run time.
Existing apps
@SnakeHaveYou told me about the existing app named StabilityTest.
In the description the implementation looks very good, with the ability to detect non-crashing calculation errors.
However after about 20 minutes of test at a known unstable frequency on my phone, I get no error.
However if I keep the same OC'ed frequency, starting an OpenGL game, or let the phone enter sleep and waking it up a bit later leads to an unrecoverable freeze.
So, this app looks good but its implementation seems to lack the full stress ability required to simulate a real usage pattern.
Who
After running the app idea on twitter, several developers showed interest in the idea.
I have no plan to write or promote this application by myself.
However I'm interested into acting as a host, incubator or something like that, and also contributor.
Who showed interest right away (developers)
@bvalosek
@BFGarzilla9k
@ytt3r
@ogdobber
@KhasMek
@TheEscapist_xda
And also a few people before the the the idea was described publicly.
I guess this app can have a very large user base quite fast, especially since it will be promoted by about every kernel developer here on XDA.
How
I propose a shared git repository on https://github.com/project-voodoo with plenty of contributors with write access to the App SDK & NDK code.
Maybe forks all over the place could do also, but if it enhance freedom I'm not sure it would favor collaboration so much
Hey, your turn guys!
This would be extremely useful. Hope it goes well!
Sent from my SAMSUNG-SGH-I897 using Tapatalk
This is a really cool idea. I know enough XML to work on the UI, so I guess if I want to be involved, thats the way in
I won't be much help this week though.
nice posts bud-- good to see you starting the ball rolling from your idea on Twitter earlier. Just some quick info before I head out... more tonight probably
Some thoughts on the app:
the changing of states is definitely a huge thing to work into the tests, as this is where some of the more subtle problems between the voltage/freq steps seems to manifest themselves.
I have yet to find a synthetic test that can fail/detect problems as quickly as say launching a game like Cordy.., so there are ways to bash the system harder than the current tests it seems
what i can bring to the table
No experience with the NDK but pretty solid C experience for embedded systems
Can probably help the most on UI/metrics/feedback parts of the app. Creating views to reflect test status, sysfs state info, etc. Example of an app that shows time_in_state info i wrote a few weekends ago -> CPU Spy
my dev environment
Arch Linux
vim + android SDK command line tools
git for VCS (github for the few opensource projects I've done)
I'll be watching this thread to see what sort of dev activity we have going on over the next few days... looking forward to working with some of yall fellow XDA guys
Do you have a twitter? It would be good if you made one for collaboration
Sent from my SGH-I897 using XDA App
ytt3r said:
Do you have a twitter? It would be good if you made one for collaboration
Sent from my SGH-I897 using XDA App
Click to expand...
Click to collapse
@bvalosek
I agree with supercurio on the Linpack, detecting errors part. My idea was something like Prime95. Have an array of known primes, first 1000, lets say, then start generating the first 1000 primes. After each division(inner loop), change the frequency max and min level to a random step. If the generated prime number ever fails the comparison to the known primes, you are unstable. Since a lot of the instability in mobile oc comes from the voltage switching, the frequency switching would stress that as well.
EDIT: Heh, we made front page.
Toastcfh and Decad3nce have given us HTC guys some incredible Kernels in the past. You might wanna run this past them if they haven't seen it already. I know zero about kernels or I would jump in this asap. There's nothing like flashing a kernel update script to find your device doesn't boot anymore
Alright let's create a repository to boot with then
Incoming here: https://github.com/project-voodoo/android_oc-uv_stability_test
Could you add me as aa collaborator? We also need to brainstorm names.
Sent from my SGH-I897 using XDA App
ytt3r said:
Could you add me as aa collaborator? We also need to brainstorm names.
Click to expand...
Click to collapse
Yep, I created a team on github containing already KhasMek, ogdobber, storm717, TheEscapistxda, you and me
I'm also on IRC (signature)
Got any ideas for a name? That's important...
Sent from my SGH-I897 using XDA App
storm717 said:
nice posts bud-- good to see you starting the ball rolling from your idea on Twitter earlier. Just some quick info before I head out... more tonight probably
Some thoughts on the app:
the changing of states is definitely a huge thing to work into the tests, as this is where some of the more subtle problems between the voltage/freq steps seems to manifest themselves.
I have yet to find a synthetic test that can fail/detect problems as quickly as say launching a game like Cordy.., so there are ways to bash the system harder than the current tests it seems
Click to expand...
Click to collapse
Eh he when the stability test is the latest app to detect errors or crash the phones it shows there's a lot to learn
storm717 said:
what i can bring to the table
No experience with the NDK but pretty solid C experience for embedded systems
Can probably help the most on UI/metrics/feedback parts of the app. Creating views to reflect test status, sysfs state info, etc. Example of an app that shows time_in_state info i wrote a few weekends ago -> CPU Spy
Click to expand...
Click to collapse
Sounds good. I have no experience with NDK either yet but reading the NDK samples a bit earlier showed that it is almost trivial to do the glue with it
What you did with CPU spy is awesome, it allows to understand very easily how the states & frequencies are used and also if the device enter sleep properly.
Looks simple but at the same time really useful. Congrats !
storm717 said:
my dev environment
Arch Linux
vim + android SDK command line tools
git for VCS (github for the few opensource projects I've done)
I'll be watching this thread to see what sort of dev activity we have going on over the next few days... looking forward to working with some of yall fellow XDA guys
Click to expand...
Click to collapse
Cool.
I guess most devs will use Eclipse but there is no problem building/editing the sources with or without Eclipse itself.
ytt3r said:
Got any ideas for a name? That's important...
Click to expand...
Click to collapse
I would suggest OC/UV stability test, or Overclock stability test
You can never go wrong with a name describing what the application does.
− Especially with mobile apps which traditionally do one thing
I don't have any technical expertise to contribute to this project, but i've spent a whole lot of time staring at BIOS screens tweaking OC's. This is exactly what is missing from the Android OC scene. The app QuickClocks has a feature that attempts to do this, through what it calls a "lag spike test," but it did not behave properly on my Droid X. I will be following this project very closely and contributing whatever feedback i can. Good luck guys.
Looks like a great idea...
I am a huge PC overclocker. I have owned 2x HD2s now. First Euro over a year ago and could clock easy over 1400mhz. My new T-Mob crashes at 1190. Its the same kernal/ROM so its very clear to me its a voltage problem.
It sucks I cant clock it up more and willing to cost some battery sometimes. Great App going here guys keep up the good work.
id like to enroll for testing if possible, i know iv tested every version of SOK and helped with finding bugs. i know my phone is a quality built coz its rocking 1.4ghz stable wether it was gaming/stress-testing or whatever.
if u think i could be of any help with testing simply message me ^_^
I have an idea for apk Icon. I can make it once the name is figured out but it could be a clock with lighting bolts as the clock's hands to symbolize the clock speed of gpu / cpu and the bolts to symbolize the voltage.
Sent from my HERO200 using XDA Premium App
If you're like me, you love floating apps. They're a killer feature that makes multi-tasking that much easier. Chainfire just released his latest app, PerfMon in the play store. It's a floating performance monitor that tells you how much free memory you have, cpu core usage, and disk I/O usage among other useful metrics. It definitely looks useful when troubleshooting games, and seeing whether a slowdown is due to bad I/O or RAM usage. You can find it here:
https://play.google.com/store/apps/...51bGwsMSwxLDMsImV1LmNoYWluZmlyZS5wZXJmbW9uIl0.
I've been looking at an opensource HTML5 game engine that can compile into a native app. It's made by GameClosure and they recently made it publicly available so I thought I'd share for anyone who's interested.
What struck me was that they don't use a "web view", but use Google's V8 JS engine and compile that with Android NDK. This means that you don't have a DOM to work with and everything is done through a HTML5 Canvas, which they've accelerated with OpenGL. They claim that this gives them near native performance.
I also like that you can run it on a real device and use remote debugging.
So, for what it's worth... Enjoy
Thanks for the share! I'll have to check this out for sure. I wanted to get in to HTML5 and JS development.
bra1nDeaD said:
I've been looking at an opensource HTML5 game engine that can compile into a native app. It's made by GameClosure and they recently made it publicly available so I thought I'd share for anyone who's interested.
What struck me was that they don't use a "web view", but use Google's V8 JS engine and compile that with Android NDK. This means that you don't have a DOM to work with and everything is done through a HTML5 Canvas, which they've accelerated with OpenGL. They claim that this gives them near native performance.
I also like that you can run it on a real device and use remote debugging.
So, for what it's worth... Enjoy
Click to expand...
Click to collapse
Nice share but gaming enfines like these are not successful simply because Html 5 and js being great for web drvelopment are not used in mobile gaming as the set of functions they offer are verylimited in comparison to open gl so for a beginer who wants to dev android games i d prefer open gl
sak-venom1997 said:
Nice share but gaming enfines like these are not successful simply because Html 5 and js being great for web drvelopment are not used in mobile gaming as the set of functions they offer are verylimited in comparison to open gl so for a beginer who wants to dev android games i d prefer open gl
Click to expand...
Click to collapse
I like to use OpenGL directly myself too, it gives me more control over what I'm doing. Though, on the other side, this engine can give me a game that runs on Android, in the browser (without DOM for performance and they also have an optional DOM rendering mode for older browsers), as a Facebook app and iOS. Not to mention any other platform/device that can render HTML5. They're already looking into compiling it into a desktop executable.
Again, it's a 2D engine only; so if you want to do some fancy 3D rendering this won't do that. I also personally think that having a reduced set of functions only makes it easier to comprehend, and thus easier for a beginner to start out with. OpenGL in itself can already be daunting enough, not to mention Java and the whole Android SDK. But in the end it's all about weather it suits your needs I guess.
bra1nDeaD said:
I like to use OpenGL directly myself too, it gives me more control over what I'm doing. Though, on the other side, this engine can give me a game that runs on Android, in the browser (without DOM for performance and they also have an optional DOM rendering mode for older browsers), as a Facebook app and iOS. Not to mention any other platform/device that can render HTML5. They're already looking into compiling it into a desktop executable.
Again, it's a 2D engine only; so if you want to do some fancy 3D rendering this won't do that. I also personally think that having a reduced set of functions only makes it easier to comprehend, and thus easier for a beginner to start out with. OpenGL in itself can already be daunting enough, not to mention Java and the whole Android SDK. But in the end it's all about weather it suits your needs I guess.
Click to expand...
Click to collapse
Absolutely true!
Sent from my GT-S5302 using Tapatalk 2
Hit Thanx Button if i helped you!
This looks interesting. Both the apps they demo need things doing to them, but they've both got between 100,000 and 500,000 downloads, so they're doing something right, and they do run very smoothly.
Archer said:
This looks interesting. Both the apps they demo need things doing to them, but they've both got between 100,000 and 500,000 downloads, so they're doing something right, and they do run very smoothly.
Click to expand...
Click to collapse
What things do they need doing to them? If I remember correctly I could install them from the Play Store and play it instantly.
Their video shows some kind of tower defence game (bit like plants vs zombies) which looks really cool. I think it's not released yet as I'd searched for it and like to play it. I guess I'd just have to wait....
bra1nDeaD said:
What things do they need doing to them? If I remember correctly I could install them from the Play Store and play it instantly.
Their video shows some kind of tower defence game (bit like plants vs zombies) which looks really cool. I think it's not released yet as I'd searched for it and like to play it. I guess I'd just have to wait....
Click to expand...
Click to collapse
the op definitely did not intended to share games
Sent from my GT-S5302 using Tapatalk 2
Hit Thanx Button if i helped you!
sak-venom1997 said:
the op definitely did not intended to share games
Click to expand...
Click to collapse
It's an indication of what's capable with this SDK.
Archer said:
This looks interesting. Both the apps they demo need things doing to them, but they've both got between 100,000 and 500,000 downloads, so they're doing something right, and they do run very smoothly.
Click to expand...
Click to collapse
I just realised that you might mean that the apps need something doing to them from a "product" point of view, rather than a technical one?!?
bra1nDeaD said:
I just realised that you might mean that the apps need something doing to them from a "product" point of view, rather than a technical one?!?
Click to expand...
Click to collapse
Yep, that's exactly what I meant. For example, the back button doesn't close the game, but there's not quit button. They could do with some settings for audio etc.. But other than that they're a perfect example of how the framework can run nice and smooth - as the say, it's like a native app.
I was looking for something like that. I've been working with Andengine converting one game but this will make things easier.
I have to admit that it sounds pretty cool and tempting... But a few doubts came to my mind:
1) how much support would you get from a very small community.
2) the framework is very minimalistic, which may sound cool for small games but for bigger ones I don't think so.
3) javascript performance... I know they are using an optimized v8 engine and all that, but js has some serious problems by design and they tend to show themselves when working in memory exhaustive apps (such as games) and in memory contained environment (such as android)... For a more detailed explanation check out this : https://speakerdeck.com/keyboardsurfer/crouton-devfest-berlin-2012
4) I know they have a working prototype but does anybody knows how much it took them to develop, even with direct support from the engine developers.
Sent from my GT-N7100 using Tapatalk 4 Beta
lglossman said:
I have to admit that it sounds pretty cool and tempting... But a few doubts came to my mind:
1) how much support would you get from a very small community.
2) the framework is very minimalistic, which may sound cool for small games but for bigger ones I don't think so.
3) javascript performance... I know they are using an optimized v8 engine and all that, but js has some serious problems by design and they tend to show themselves when working in memory exhaustive apps (such as games) and in memory contained environment (such as android)... For a more detailed explanation check out this : https://speakerdeck.com/keyboardsurfer/crouton-devfest-berlin-2012
4) I know they have a working prototype but does anybody knows how much it took them to develop, even with direct support from the engine developers.
Click to expand...
Click to collapse
I think you do have to keep in mind that this engine is young. But saying that, it's evolving as we speak.
1) The community is indeed small (at this point in time), but I've been following their newsgroup and support page and GameClosure is quite quick in replying to queries themselves. Though I admit it would be better if there's a huge community around it. But who knows, in the near future this might happen.
2) They've recently released a plugin system that allows you to extend the framework easily. This can help when you need something that's not out of the box. Though currently their engine is only focussed on 3D games (tile engine) but they are extending it on an ongoing basis. They've just released an isometric tile engine as well. Wondering what's next
3) As for performance, it's only using the V8 engine. This in itself is a highly optimised JS interpretor. I think the performance issues you are thinking of are more web related. The slowness on the web comes from the DOM (rendering etc). Because this is not used (except when you select to use the DOM in a desktop version for older browsers) you don't have this overhead. Also remember that Java is also an interpreted language on Android, so interpreting JavaScript should not be far off. As for memory, no DOM means no DOM memory overhead either.
You still have to be aware of how many objects you create and when, but this is the case as well with Java for Android and Objective C for iOS as this is a Mobile issue (not a language one).
4) We could ask them? Not sure how valid this would be as I suspect that the games they've produced we're in development at the same time as they were developing the framework. So if they would write this again, it might take them a lot less time?!?
I think there are certainly things to consider here. I think you need to outweigh the pro's and con's and see what matters to you.
a) If you want the most out of the hardware I suggest writing native is the best as you can utilise how Google/Apple intended it to be used.
b) If you want your game to be written once and be able to run on multiple mobile platforms, browser and desktop. Then GC might be better.
c) If you want a lot of support and a big community, then you could look for an alternative and do a detailed comparison on features, performance and ease of running it on different platforms (if someone does, post it here as this is quite interesting to know.)
Just a minor question, can I use this to make a facebook canvas game? (are they html5?) Sorry for my ignorance I'm not so good with web stuff..
Thanks for the share! Really nice DevKit with lots of possibillities.
Thanks for the share
Interesting
We've been looking for a new framework, and will check this out, thanks.
"Free Camera" in Android 3D Games via OpenGL ES Interception-based Shader Replacement
Hi everyone,
Wanted to let the community know that we have just released v1.2 of the MantaMod OpenGL ES interception driver for Android devices. This new release features dynamic run-time gpu shader replacement, allowing you to unlock the game view camera and freely move it around in the 3D game scene, all without needing to modify the original game APK at all.
See some screenshots of the free camera feature in the DeadTrigger zombie shooter game on our Facebook and Twitter pages, or our website www_mantamod_com
Thanks for all your feedback from our earlier post last month announcing our first release with the dynamic texture modding capability. As usual, any feedback on this new release, or 'wishlist' for desired features / supported games is much appreciated! Do drop us a note at [email protected], we'll be glad to hear from you.
Cheers
The MantaMod Team
i dont get it. whats this app supposed to do?
Hi,
It's an opengl driver for Android that allows you to 'mod' various games.
Do take a look at our website, it may give you a better idea - we have some screenshots there of what some folks in the community have done changing the graphics textures in games.
Our new release allows for custom gpu shader replacement, and the "free camera view" is one example use of this shader replacement feature. So if you play a game like DeadTrigger, which is a first-person-shooter type game, without moving the character around you can move the on-screen viewpoint anywhere in the game world you like - eg view the gameplay from high up, a different angle, etc.
Cheers
omaral said:
i dont get it. whats this app supposed to do?
Click to expand...
Click to collapse
mantamod said:
Hi,
It's an opengl driver for Android that allows you to 'mod' various games.
Do take a look at our website, it may give you a better idea - we have some screenshots there of what some folks in the community have done changing the graphics textures in games.
Our new release allows for custom gpu shader replacement, and the "free camera view" is one example use of this shader replacement feature. So if you play a game like DeadTrigger, which is a first-person-shooter type game, without moving the character around you can move the on-screen viewpoint anywhere in the game world you like - eg view the gameplay from high up, a different angle, etc.
Cheers
Click to expand...
Click to collapse
do i need to be rooted to install it?
Hi,
Yes you need a rooted device to be able to place the MantaMod gl-interceptor files into /system/lib/egl, where the Android OpenGL ES drivers reside.
Once installed, subsequent usage doesn't need root access - you can run your games as usual and the MantaMod drivers will be loaded by the Android OS.
Cheers
omaral said:
do i need to be rooted to install it?
Click to expand...
Click to collapse
aight i will check it out