[Q] CPU usage monitor app (with dual core support): can we trust it? - HTC Sensation

So I bought the application
CPU usage and Frequency Monitor (dual core support)
It's on the market, and you can find its thread here at xda:
http://forum.xda-developers.com/showthread.php?t=1160319
The dev says there a limitation for the Sensation, but I bought it anyway:
****** NOTE ******
HTC Sensation Owners
There is a device limitation with reading the CPU Frequency. I am looking into a workaround for this problem.
****** NOTE ******
Click to expand...
Click to collapse
I asked the question in the dev thread, hopping for a fast answer,but want to ask here too:
Can we trust the CPU usage, individual for each core, that is displayed by the app????
This app displays, at the top of the screen, in the notification bar, what core is used, with one column for each core
So with our asynchrone dual core, one of the column is often empty, when the other can be half full, or full, in normal use, this seem to be OK (even if the used freq for each core is not read, as the dev says, but is the usage correctly read??)
But I noticed the second column, so second core, very often starts filling too!
I used to think Android 2.3 is not supposed to handle dual core, so that almost all the time, only one is used????
That was for me, and for what I've read, the big reason why we have really bad scores on every benchmark?
If CPU monitor is right, I can see the second core easily waking up when the first one is already full, sometimes just a little, sometimes 50%, sometimes 100%
INCLUDING DURING BENCHMARKS where CPU monitors displays both cores running at 100%!!!!
So what is true here? Is CPU monitor fooled by Android 2.3 and shows the second core waking up when it's not?
Or does indeed our second core easily wake up, including in benchmarks, meaning our pittyful scores will never be greatly improved since both cores already release their power??
Need more infos on these asynchrone dual core, the way they work and are supported by Android 2.3, what HTC did to implement this, etc

Not a single answer from a dev of someone with more knowledge than me concerning dual core architecture and the way Android can handle it?
I had an answer from the dev of CPU usage monitor:
The CPU usage information is abstracted in both cases at the App level. Apps just need to read the standard CPU usage information at the OS level to gather its data. Control of when and how the dual core magic works is not a worry at the app level since the OS handles it. Hope this helps.
Click to expand...
Click to collapse
So...........
=> In normal use, the app shows one core only running, very low if no app running, sometimes when the first one is full, the second one starts working a little after the first one is full, 10%, 25%, etc, for apps requiring a little more power, everything seems very logical for an asynchrone dual core CPU (wasn't I told that Android 2.3 doesn't really manage async dual core???? When we overclock, don't we overclock only one core?)
But when doing a Benchmark, or playing heavy openGL games, the app displays that both core run at 100%, CPU at its max power for both cores!
So if it is, even with a better rom once S-OFF or better drivers, our bench scores will always be very low
I need this to be confirmed or not, if we already have both cores running at 100% during bench or openGL games, we can't expect much more from our Sensation :-(

I'd be interested to understand this also.
I appears that the Gingerbread doesn't support Dual-Cores properly.
Have a look at: http://groups.google.com/group/android-platform/browse_thread/thread/b754408b9af17e55?pli=1
I guess we need an upgraded Kernel and associated libraries. I must admit I was surprised when I started looking.

Related

[Q] Battery Life - dual core vs single core

Hi,
Does anyone know if there will be any perceivable difference in battery life between the latest batch of smartphones based on single core 45nm SoCs and the new 45 nm dual core versions.
All manufacturers state state improved performance AND lower power consumption with the dual cores, but I am wondering how this will affect my day-to-day battery life. I actually read somewhere that e.g. Tegra 2 phones may drain the battery quicker instead of saving power.
I was planning to buy the Desire Z or Galaxy S, but I may also wait for their upgrades if this will mean better battery life. I am not too eager about the performance improvements as I am not a gamer and will likely not feel the benefits (I mostly browse 3G or WiFi/use GPS/occasionally may play a movie + a couple of calls a day).
I'm expecting the battery life to be a bit low seeing that they have a "lot" of things in them.... I reckon it maybe the same as current smartphones?
Apparently battery times will be better, let´s see...
what i have learned that dual cores will save energy. (well atleast tegra 2) that soc has sth like 7 different cores if i remember right, each and every one of them made for a specific purpose (audio play/ video encode/ decode/ gpu....a nd other things i dont remember) so the soc it self will use only what YOU need at that very moment, lets say ur watching a vid, so only the video decode core will work whereas other should be in standby or sth.
(imo battery life should increase cuz of this, not sure how much tho)
and excuse me if my knoweledge isnt exatcly correct on this matter
There are two train of thoughts here:
1) as the die gets smaller (65nm[1st gen snaps] to 45nm[2nd gen snaps] to 40nm [tegra2] to 28nm[3rd gen snaps], etc), the processor tends to draw less energy. So yes, most dual cores (having a smaller die) SHOULD be more energy efficient.
2) With dual core, executions get carried out a lot faster than they were on single core. As evident by the benchmark done on dual cores (+2000 and up), it'll take less time to start/process a program and UI, in theory, should be a lot faster and smoother (that is if manufacturers don't start ****ing around with a UI and make it sluggish). Being that it's faster and a lot more versatile than single core, people will tend to youtube a lot, play games a lot, and generally use a lot more multimedia applications. Being that we don't have a self-sustaining energy source that isn't radioactive, the battery will drain from excessive use.
So at the end of the day, it depends on your use. Yes, dual cores are more energy efficient than single core, but in the hands of a 15yo teenage girl with more life than paris hilton, they probably get the same battery life as any other phone out there.
Hi guys,
thanks for the comments and predictions. My prediction would be that there would be hardly any noticeable change between the single & dual core 45 nm chips (given same usage of course), similar to how there was almost no change when switching from 65nm to 45nm chips - which are more energy efficient as well.
the better energy efficiency seems to be quickly soaked up by more power hungry hardware and software. so it all boils down to whether one needs the better performance as the battery life will likely stay the same.
But this of course is only a prediction based on past observation. I hope I am wrong and I am still considering if it is worth waiting for the dual core devices to hit the market. In the meantime if anyone has had a chance to play with such a device (tablet?), any additional info will be welcome

[Q] Benchmarking whats really the point?

I do not understand why people make a big deal about the benchmarks for. I mean does it really prove anything? For example the HTC sensation is rocking a. 1.2 processor and the atrix only a 1 but yet the atrix will smash the sensation on a benchnark. How, so I guess I'm just wondering
A. What does a benchmark prove?
B. Shouldn't a 1.2GHZ processor be faster than a 1GHZ
I mean the atrix opens apps and scrolls faster than the sensation. How could this be and are processors just a joke?
It does not prove anything.
The most common use of benchmarks is e-penis comparison.
It can be an indicator for somewhat improvements, but that is all quite relative and subjectiv.
Then what would show processor quality?
How good a processor is should be determined by its processing power, its heat production, size and power consumption.
There is no app for that.
For testing raw processing power and getting some numbers LINPACK is okay.
Dark3n said:
How good a processor is should be determined by its processing power, its heat production, size and power consumption.
There is no app for that.
For testing raw processing power and getting some numbers LINPACK is okay.
Click to expand...
Click to collapse
so 1.2 dual core or in my case 1.56 would'nt necessarily be faster at opening apps and loading pages than say a 1ghz? or is it that is has more stamina? so to speak
I am basically trying to get the answers i know people have questions to. especially more so now than ever since the development of dual core. also now that custom ROMS such as revolution HD are claiming faster processing speeds but yet there isn't an indefinite way to prove such claims. so far it seems to be up to the user and opinion.
rddocke said:
so 1.2 dual core or in my case 1.56 would'nt necessarily be faster at opening apps and loading pages than say a 1ghz? or is it that is has more stamina? so to speak
Click to expand...
Click to collapse
App opening speak is not only determined by CPU clock speed.
Cpu caches, memory, system buses.
Its a whole bunch of things that determine the "speed" of a device.
In my point of view android has not been fully optimized for dual core processing, and I expect to see an improvement with icecream or what ever comes after that. Also the processors build quality, reliability and productivity is very important. As for now its just a leech sucking on the battery.
DroidFreek said:
In my point of view android has not been fully optimized for dual core processing, and I expect to see an improvement with icecream or what ever comes after that. Also the processors build quality, reliability and productivity is very important. As for now its just a leech sucking on the battery.
Click to expand...
Click to collapse
Exactly what I was thinking. Long term effects are what count. Consistency is the most important it goes hand in hand with battery life.. stamina stamina stamina

[Q] Is there a need for SetCPU on Tegra 2?

Since CM7 already has over and underclocking abilities in the settings, I use SetCPU for profiles, particularly to lower the speed when the screen is off and not in use.
I'm wondering if this is redundant considering that Tegra 2 devices are totally different from other chipsets and if they already have some feature that lowers clock speed (or some equivalent) when not in use. Or in other terms, is there some kind of "CPU governor" (I'm aware Tegra 2 doesn't regulate like more traditional chipsets do) that when the screen is off, battery is being conserved in some way.
Anyone care to shed some light on the subject?
jamadio said:
Since CM7 already has over and underclocking abilities in the settings, I use SetCPU for profiles, particularly to lower the speed when the screen is off and not in use.
I'm wondering if this is redundant considering that Tegra 2 devices are totally different from other chipsets and if they already have some feature that lowers clock speed (or some equivalent) when not in use. Or in other terms, is there some kind of "CPU governor" (I'm aware Tegra 2 doesn't regulate like more traditional chipsets do) that when the screen is off, battery is being conserved in some way.
Anyone care to shed some light on the subject?
Click to expand...
Click to collapse
Good point!, I too would like to know more about this.
I believe anything short of ICS does not use dual core - it'd be great to POWER DOWN on of the cores.
I am not convinced screen off profiles make a huge difference. Certain tasks run when the screen is off. It is open to debate if running at a high speed and finishing the task quickly is better than running at a slower speed and taking longer to complete the task.
I did not like the lag created by screen off profiles and in call profiles so I ditched all that stuff a while back. I have better battery life now than then.
---------- Post added at 09:59 AM ---------- Previous post was at 09:57 AM ----------
namklak said:
I believe anything short of ICS does not use dual core - it'd be great to POWER DOWN on of the cores.
Click to expand...
Click to collapse
I am not sure this is 100% correct. I thought GB made use of dual cores but not to the extent the ICS can.
namklak said:
I believe anything short of ICS does not use dual core - it'd be great to POWER DOWN on of the cores.
Click to expand...
Click to collapse
Froyo and Gingerbread do, but not to a level where its a huge difference. ICS is built around dual core, so its optimized for them.
I will recommend not overclocking to 1400mhz and charging it while your about to goto sleep. Lets say that the heat didnt need to be on to warm my bedroom.
After weeks of usage, I believe I have answered my own question. I do not use SetCPU anymore because I believe it is redundant.
Doing several tests, it is clear to me that when I am not using my phone it is setting itself to the lowest CPU clock speed. Even when the screen is on and I'm using a non-CPU-extensive app, it'll lower itself to 216 Mhz (my lowest clock speed).

(Experts please!)How does elixir work?

I sorta want an answer from anyone who knows about Android architecture... elixir is an app that reports different specs in real time. I.e: cpu temp or ram usage. (For those that didn't know). I showed a friend and he says this stuff is kinda fishy since it can only focus on one core at a time, is it giving false info on dual core phones? How does it obtain info on the CPU temp too? I don't know what to do since I like using it and he just told me its a piece of crap...
Well without seeing the apps code, you can't really tell how the app works.
I also don't understand what your friend means by "it can only focus on one core at a time". What does that have to do with reading out ram usage or temperatures?
The cpu temperature is somtimes not the real cpu temp, but the battery temp. Not all devices have temperature sensors on/in the cpu.
haha the elixir is samsung galaxy SII the battery life is very very good thanks samsung ^^
Dual core phones have two threads of data that they churn out and apparently its impossible for the app to read both simultaneously.
shadowskorch said:
Dual core phones have two threads of data that they churn out and apparently its impossible for the app to read both simultaneously.
Click to expand...
Click to collapse
Cpu Usage and Ram is probably read from files like '/proc/stat'.
I'm still confused about what your problem is with dual core devices.

Bad performance in GTA:SA and not only? (Adreno-related)

Hi there! Any devs here?
Maybe anyone knows why in few games Adreno CANT BE on 100% usage?
For example: my phone is Pocophone F1. SD845, Adreno 630. Usage in any benchmark at 100%. Minecraft: 414 Mhz (instead of 710 Mhz - max for MIUI kernel), 80%, 50% usage in total.
At the same moment Mali at 100% usage with a LOT bigger FPS. Same with GTA:SA, possibly Modern Combat 5. What's happening? Any fix?
Maybe game devs should do something like PC game devs do?: (enable NVidia Optimus, bad example btw) vOptimusEnablement = 0x00000001 (just an example).
P.S. Oops, forgot. Throttling disabled, 5 minutes in CPU Throttle Test shows no difference (5min enough for this because the game started lag at the whole start).
All programming instructions ( whether they are graphic information or not ) are first processed by the CPU: if the CPU recognizes that they are graphics commands, they are delegated to the GPU. Unlike a CPU - which has only a few cores - a GPU has hundreds of cores.
Throttling the CPU only makes things worse.
jwoegerbauer said:
Throttling the CPU only makes things worse.
Click to expand...
Click to collapse
As i said there's NO throttle. Fully disabled. That's happening on any Kernel. Idk what is this, Adreno-related thing, no problems at Mali with that.
jwoegerbauer said:
All programming instructions ( whether they are graphic information or not ) are first processed by the CPU: if the CPU recognizes that they are graphics commands, they are delegated to the GPU. Unlike a CPU - which has only a few cores - a GPU has hundreds of cores.
Click to expand...
Click to collapse
Of course. Maybe Adreno-drivers need something for this? To say to CPU "Hey, this is an application that needs a lot of GPU power"?
_RusJJ_ said:
Of course. Maybe Adreno-drivers need something for this? To say to CPU "Hey, this is an application that needs a lot of GPU power"?
Click to expand...
Click to collapse
An app neither speaks to CPU nor to GPU: an app's program code gets loaded into RAM, then read in from there by CPU and sequentially processed.
What are you talking about, lol? The game cannot use GPU. It needs something. Maybe some function to call, idk exactly.
You're speaking about completely another thing that i know for almost 12 years, lmao.
Still waiting for any answer. Few games cannot load a GPU. Only on Adreno, Mali GPUs are good.
My last 2 cents here:
A GPU is a processor with hundreds of cores: a game never can load a GPU, it only makes use of it.
For an ideal situation, your device's CPU usage should remain in the 60% to 80% range (up to 90%), and device's GPU usage at 99% or 100%. One of the main causes of low GPU usage is due to CPU bottleneck. It means that you have an under-powered CPU that is not able to keep up with GPU's performance.
A temporary workaround for this problem is to raise a game's resolution to highest if you haven’t done it already. This will cause device's GPU to work more and it will have much higher utilization than before.
Take note that not all games use all the CPU cores. It can be possible that you are getting high usage on two cores only, and others are just not used at all. AFAIK GTA SA makes use of only 2 cores, COD also makes use of only 2 cores, , but PUBG makes use of 4 cores,
What the hell are you talking about?
Is there any CPU bottleneck im talking about?
NO. NO. AND NO. ADRENO-RELATED, HUH?
Pls, stop it, my chair burns. You dont understand a single thing that i need - ADRENO CANT HANDLE A GAME.
Looks like a joke...
Actually, I'm not interested in your problem at all.
Your posts show that you don't understand how CPU and GPU work together.
Here I'll explain it to you:
The GPU's memory consists of a series of registers. These permit the CPU to access the GPU's memory and instruct the GPU to perform operations. It's the CPU what loads the graphics instructions ( OpenGL ES ) to get executed into GPU's memory.
Simplified: the CPU feeds the GPU.
xXx yYy said:
Your posts show that you don't understand how CPU and GPU work together.
Click to expand...
Click to collapse
My post shows that GPU cant handle few games. All Adreno's. GG guys, open your eyes
Still waiting for useful info. For now stop showing your brilliant mind with yours "i think you..."
After a time and with using of a simpleperf i got more info. Playing Half-Life 2:
CPU Usage 12.12% /vendor/lib/egl/libGLESv2_adreno.so
Symbol: !!!0000!f56be09eb88f86833124f1df42e945!95db91f!
Mali HAS NO that problem. Completely.

Categories

Resources