yashsingh1/xdaforums huggingface dataset:
[HTC 10 Guides, News, & Discussion] Haldi4803:
Soooooo...... according to Wikipedia kryo cores have 6.3 DMIPS per MHz. This leaves us with a whole lot of theoretical speculations :)

Sorted by Performance in DMIPS.

core0	core3	Powerdrain [W]	DMIPS	DMIPS per Watt
1593	2150	9.32	47,162	5,060
1593	2150	9.6	47,162	4,913
1593	1555	6.44	39,665	6,159
1478	1478	5.4	37,246	6,897
1401	1401	4.75	35,305	7,433
1324	1324	4.13	33,365	8,079
307	2150	6.1	30,958	5,075
307	2150	6.28	30,958	4,930
307	2073	5.5	29,988	5,452
307	1996	4.91	29,018	5,910
307	1920	4.52	28,060	6,208
307	1824	4.05	26,851	6,630
307	1785	3.98	26,359	6,623
1036	1036	2.86	26,107	9,128
307	1708	3.92	25,389	6,477
307	1632	3.33	24,431	7,337
307	1555	3.13	23,461	7,496
1593	0	2.95	20,072	6,804
1478	0	2.63	18,623	7,081
729	729	2.33	18,371	7,884
1401	0	2.35	17,653	7,512
1324	0	2.36	16,682	7,069
1228	0	2.01	15,473	7,698
556	556	2.04	14,011	6,868
1036	0	1.7	13,054	7,679
729	0	1.45	9,185	6,335
307	307	1.64	7,736	4,717
556	0	1.2	7,006	5,838
307	0	1.01	3,868	3,830

Sorted by efficiency in DMIPS per Watt

core0	core3	Powerdrain [W]	DMIPS	DMIPS per Watt
1036	1036	2.86	26,107	9,128
1324	1324	4.13	33,365	8,079
729	729	2.33	18,371	7,884
1228	0	2.01	15,473	7,698
1036	0	1.7	13,054	7,679
1401	0	2.35	17,653	7,512
307	1555	3.13	23,461	7,496
1401	1401	4.75	35,305	7,433
307	1632	3.33	24,431	7,337
1478	0	2.63	18,623	7,081
1324	0	2.36	16,682	7,069
1478	1478	5.4	37,246	6,897
556	556	2.04	14,011	6,868
1593	0	2.95	20,072	6,804
307	1824	4.05	26,851	6,630
307	1785	3.98	26,359	6,623
307	1708	3.92	25,389	6,477
729	0	1.45	9,185	6,335
307	1920	4.52	28,060	6,208
1593	1555	6.44	39,665	6,159
307	1996	4.91	29,018	5,910
556	0	1.2	7,006	5,838
307	2073	5.5	29,988	5,452
307	2150	6.1	30,958	5,075
1593	2150	9.32	47,162	5,060
307	2150	6.28	30,958	4,930
1593	2150	9.6	47,162	4,913
307	307	1.64	7,736	4,717
307	0	1.01	3,868	3,830

Be aware that the Power drain in Watt was measured only once and only for 5 minutes! Might be off +-10%!

But it gives an estimated overview on what is efficient and what not.

If you dislike the view here on XDA....

Google sheet file: https://docs.google.com/spreadsheet...TCFUH9v8VsI4t-1vcig4A68/edit?usp=docslist_api
[HTC 10 Guides, News, & Discussion] ChronoReverse:
Very nice information. Do you think you could set min=max frequency, turning off the input boosters as well as turning off cores (online = 0) to find out the DMIPS/watt for Big vs Little cores?

I'm curious where the crossover point is in terms of efficiency. Would the little cores be more efficient than the big cores all the way up to 1.6GHz? Or would the little cores be overtaken by 1.1GHz?
[HTC 10 Guides, News, & Discussion] Haldi4803:
Can't turn off the little cores :(

Core 0 seems to be always active. If I find a way that's certainly a must test :)

Also, DMIPS are theoretical performance.

Should do some easy prime bench's to find out if there is any performance difference between little and big clusters :)

StabilityTest does have a MFLOPS bench but that's so fast, will probably colide with touch boost...

Guess what I just found :D
[HTC 10 Guides, News, & Discussion] ChronoReverse:
In theory they're the same cores but I've heard that there are some cache differences so i suppose it's worth testing. Might not show up with micro-benches though and I suspect the difference isn't going to be enormous like with the A53 vs A72 where it's impossible to make them "equal" because one lack OOE.

In Linux it's possible to use taskset to force core affinity of a running process. I wonder if that's possible in Android since it's Linux-based.

Also, it's entirely possible to completely disable touchboost even with the stock kernel (I'm only testing my scripts on that). Both the pnpmgr and kernel one.
[HTC 10 Guides, News, & Discussion] Haldi4803:
Andhrystone does 5 runs and uses the average. So TouchBoost isn't an issue.

Have you tried navigating the ui on 307mhz one Core without TouchBoost? I can't recommend it ?

Small Cores have 512kb L2 while Big ones have 1024. That's the only obvious difference.

Gotta redo Powerdrain Benchmarks more carefully :)

Performancewise they're pretty similar.

Check the dmips per mhz.

Singlecore is always WAY worse than Multicore. Guess that's when the whole Android Subsystem is running on the same Core as Benchmarks.

And yeah, average of 5.2 DMIPS/Mhz .... not 6.3 like Wikipedia says.

But Multicore Performanceincrease is pretty steadily from Small to big cores.

https://docs.google.com/spreadsheet...TCFUH9v8VsI4t-1vcig4A68/edit?usp=docslist_api

(If it doesn't open in Andhrystone sheet Switch to that)

[MENTION=4684315]flar2[/MENTION] you overclocked the Small Cores to 1728mhz ?

Why stop there? Did you run into instabilities or greater voltage needs compared to big cores?

4x 1824mhz might be easier to handle then 2x 1593 and 2x 2150
[HTC 10 Guides, News, & Discussion] ChronoReverse:
I thought of how you could test the power draw difference at each frequency for the big and little cores. While you can't turn off core 0, you can turn off core 1.

So if you compare the results for core 0+1 with core 0+2 with min=max, then you can determine if there is a significant delta.

DMIPS as value in of itself isn't that useful because different implementations and compilers yield entirely different results. But you can use it as one yardstick on the same processor at different frequencies. It's pretty much a micro-benchmark though so it doesn't tell us too much in the end.
[HTC 10 Guides, News, & Discussion] Haldi4803:
Sounds so easy and logical now that you've said it ^^

Yeah. I guess Android OS an compiler overhead are what make the difference from a theoretical 6.3 to a practical 5.2 DMIPS/MHz

Sadly I couldn't find an android spec 2000 workload Benchmark :(

So I guess I'll have to keep going with stability test v2.7
[HTC 10 Guides, News, & Discussion] Haldi4803:
Okay, did some tests about efficiency

Seems like Big cores are more efficient in the 1190-1593mhz range while 307-1190 seems more efficient on small cores.

Now the big question.

Is this just my bin or do all SD820 work like that?

Here is my CPU voltage....

http://xdaforums.com/showthread.php?p=66960295

Raw data:

10min StabilityTest v2.7
core0core1core2core3Power drain [W]small cores Power draw vs Big
14780147802.1
14781478002.68127.62%
13240132401.79
13241324002.22124.02%
11910119102.08
11911191001.9895.19%
10360103601.78
10361036001.7397.19%
729072901.44
729729001.4298.61%
556055601.27
556556001.1792.13%
307030700.93
307307000.98105.38%

Multicore Tab.

https://docs.google.com/spreadsheet...TCFUH9v8VsI4t-1vcig4A68/edit?usp=docslist_api
[HTC 10 Guides, News, & Discussion] ChronoReverse:
[MENTION=3056043]Haldi4803[/MENTION]

I've created an interactive settings file inspired by your DMIPS/MHz table. Uses the same format as the Ghostpepper/Butterfly scripts except not nearly so trigger happy. It's specifically intended to skip frequencies to sit at the more apparently efficient frequencies.

I'm eager for your further efficiency tests to refine this script.

[edit]Wonderful! You posted what I wanted to know right before I posted this. I had assumed the little core is more efficient in all frequency realms it's allowed to clock to for stock but it looks like 1.1GHz is the crossover point.
[HTC 10 Guides, News, & Discussion] Haldi4803:
Hehe nice.

There are just a few little problems left.

A: I did not test all frequencies yet, so it's faaaar from perfect.

B: it's inaccurate. at least 5% error margin, maybe even 6-10%

To get rid of these I'd have to redo all tests at least 3 times.

Problem is trepn power measuring is inaccurate itself. On sd801 we had instant power measure. Now we get an average every 30 seconds...... whhyyy Qualcomm whhyyy? So tests need to be at least 5-10 minutes to get a accurate power reading.

And even that doesn't work on low frequencies because Trepn uses to much (set to 1sec with BattPower, cpu1freq+load, cpu3freq+load.) Maybe if I go BatterPower only every 29 sec that might help.

We compare the graph from 1326 MHz vs 556mhz

Fluctuating so much for a constant load ~.~

WiFi off and manual minimum screen brightness. So no reason for unexpected drain.

Sometimes I wish I had a MDP820 xD

But the Tab cost a whopping 999$ ;(
[HTC 10 Guides, News, & Discussion] ChronoReverse:
The 5 minutes thing is unfortunate. Hard to control throttling and heat if a high load is held for that long. Even efficiency changes as CPU temperature changes.

Still, I think that using even inaccurate numbers is far better than porting over values originally built for the Nexus 5X (and 6P). The SD820 doesn't behave anything like the SD810 after all.
[HTC 10 Guides, News, & Discussion] Haldi4803:
Jep!

Definitely against porting stuff from a quad A57 to a Krait.

Yeah. If you put the device in the fridge it's gonna be way colder ^^

But hey, for fixed frequency you need to deactivate pnpmgr anyway. So your device won't throttle at all.

Yeah... watch out or You will burn yourself.

P.s found this nice slide about Benchmarking.

http://de.slideshare.net/mobile/kstan2/benchmark-osdctw2014

Wonder if he's at the computex this year. Gonna keep an eye open.
[HTC 10 Guides, News, & Discussion] Haldi4803:
I'm back :) And i've got more time on my hands.

Gaming on Stock Kernel

Just simply Stock boot.img from 1.80.709.5 no tweaks at all.

Thanks to ivicask it's pretty easy to see task migration and CPU/GPU clock on the computer.

Sadly this does not work for CPU Load. So i use Trepn Profiler additionally.

So, there are few different Stages to Performance and Gaming.

Cold: All cores do 100% work, Full clock 1.6 and 2.2ghz 624mhz GPU, until 35,5°C Battery

Warm: Big Cores on 80% Task Migration, 1.6 and 2.1ghz 624mhz GPU, until 37,5°C Battery

Hot: Big Cores on 60% Task Migration, 1.3 and 1.6ghz 624mhz GPU, until 39,5°C Battery

Too hot: Big Cores on 100% and 0% Task Migration, 1.3 and 1.3ghz 510mhz GPU, until 42,5°C Battery (Effectively making this device a Tri-Core!)

Still too hot: Big Cores on 100% and 0% Task Migration, 1.3 and 1.3ghz 402mhz GPU.

Now that whole stuff in Screenshots:

cold

warm

hot

too hot

still too hot

And with Trepn Profiler:

Thanks to the Interactive Governor the CPU only ramps up when needed. Trepn Profiler does simplify the graphs a bit to much IMHO, so you see a lot of spikes.

Small cores Frequency:

Big cores Frequency:

Small cores Load:

Big cores Load:

GPU:

Looking at the Clock of small and big cores we can clearly see the different throttling stages. 1,6ghz on Big cores, and 1,3ghz on all cores.

Way more interesting is the CPU Load of CPU3 and 4 (Big Cores). The Task Migration from 100% to 80% and 60% can only be guessed by looking at the maximum Peak, but when CPU4 reaches 0% and core 3 goes back to 100% that's clearly visible. Also the load on CPU1 and 2 increases by a lot.

Taking a look at the clock shows us i started gaming at 16:34 with 32°C Battery.

After 3 minutes it was warm, 35,5°C

After 5 minutes it was hot , 37,5°C

After 7 minutes it was too hot, 39,5°C

After 12 minutes it was still too hot, 42,5°C
[HTC 10 Guides, News, & Discussion] Haldi4803:
Gaming with [PnP&Thermals tweak] by ivicask

So after the normal Gaming testing i flashed the PnP&Thermals tweak v11 by [MENTION=1792279]ivicask[/MENTION] with the Balanced Preset.

Similar to normal there are different power states.

Cold: Big cores on 90% Task Migration, Full clock 1.6 and 2.2ghz 624mhz GPU, until 36,5°C Battery

Warm: Big cores on 80% and 60% Task Migration, all cores on 1.3ghz, 624mhz GPU, until 40°C Battery

Hot: Big cores on 50% Task Migration, all cores on 1.3ghz, 560mhz GPU, until 42°C Battery

Hotter: Big cores on 40% Task Migration, all cores on 1.3ghz, 560mhz GPU, until 44.5°C Battery

Too hot: Big cores on 40% Task Migration, all cores on 1.3ghz, 510mhz GPU

and the Screenshots:

cold:

warm:

http://i.imgur.com/04p9ql1.jpg

hot:

http://i.imgur.com/gwkEo0s.jpg

hotter:

http://i.imgur.com/syQdzOy.jpg

too hot:

http://i.imgur.com/e3XtZT6.jpg

And the Trepn Profiler Screenshots:

Small Cores:

Big Cores:

Load Small cores:

Load Big Cores:

GPU:
[HTC 10 Guides, News, & Discussion] Haldi4803:
Power efficiency Tests v2.

Because it's impossible to turn off core0 I tried to use Task Migration set to 0 to force all Tasks on Big cores...

Didn't work out. Seems like there are some process that need core0.

At least 10% Load and huge Spikes. The whole phone was lagging as hell.

Using Task Migration for turning off Big cores seemed to work fine.

Butt well yeah.

Gonna do the normal Tests of 1 Small one Big and only 1 Small.

And might as well Test 2 Small 2 Big vs 2 Small.

StabilityTest for 10 Minutes for all Frequencies below 1.6ghz.

And Trepn Profiler for power measurement. Should be done by tomorrow.
[HTC 10 Guides, News, & Discussion] Haldi4803:
More Tests about Efficiency of Small and Big Cores

You Remember this last test?

I did a Test with Core0 and Core2 vs Core0 and Core1 to measure the difference between Big and Small cores.

Did it again, this time All 4 Cores vs 2 Small cores only.

I used EXKM to deactivate the Core. Funny thing, i used Task Migration but kept the core alive in the _TM test and this seem to be more efficient.

So yeah, in the Same Google Sheet as above there is a "Multicore v2" Tab with my current findings.

I also did some tests with core0 and core2 but when Core0 has to do all priority Tasks alone.... not very energy efficient^^

So in the Future i'm gonna keep it on the all / small only methode and try more times with Task migration.

But again on 1324mhz iz looks like the small cores need 20% more energy to do the same Task as a Big core.

Edit: Part 2

What's the best Way to measure Core Powerdrain?

Get an MDP820 with per core Powerrail measurement!

Except from that? Well i have no idea.

I have tried 2 Methos.

A: Use all 4 Cores at full load, measure the Powerdrain, Use only 2 small cores at full load, measure the Powerdrain. Now we have subtract Powerdrain of All cores vs Small cores and get how much the Big cores could use. I call this the 4vs2 method.

B: Use 1 Small core + 1 Big core, measure the Powerdrain, Use 2 small cores. The Difference from Big to Small can be directly subtracted. the 2vs2 method.

The Problem here is.... well.... take a look at the graph.

Using only 2 small cores uses 55-65% of the energy of 4 cores! The lower the frequency, the worse this pehnomen.

The 2vs2 Method seems cleary the better Choice.... But well.... no guarante that not some strange task sheduler somewhere puts all the stress on two small cores, So instead of a well balanced 2 small cores we have 1small overload and 1 big idling around.

How do i Test?

You need: Root, EXKM App

I use the EX-Kernel Manager app to disable PnPmgr, Set Max Frequency and Core Count.

Make sure you set "sched_budget" in /sys/devices/system/cpu/cpu2 (and cpu3) to 100 to prevent any Task migration from happening. Otherwise the value will be stuck on the last one used by PnPmgr.

StabilityTest v2.7 is a usefull app for stressing the CPU to the maximum.

Trepn Profiler with DirectMode BatteryPower measured every 1 second. I cut off the Start and End and calculate a new average.
[HTC 10 Guides, News, & Discussion] Haldi4803:
Charging on 1.80.709.1

You might have heard some people saying that after the 1.50 update the phone did not get as hot while charging, or especially while plugged, charging and using it. So after a long time i've done another Charging Benchmark :)

Booring truth first. It does not charge faster. It does not get hotter/colder.

But.... if you take a closer look you can definitly see a few changes.

If we compare it to one of my earlier tests, Battery Voltage is way higher. Starts with 4.046mV right after 4% Battery is reached. On the old Firmware this was on 3.975mV. It goes up to the peak of 4.185mV while it only goes to 4.038mV on the old firmware.

So did HTC change something on the Battery Charging Firmware? I don't think so, because when i charged my phone in the Fridge it also had way higher Batteryvoltage. So my assumption here is the increased the Thermal limit of an IC or something else. Because the Battery Temperature is still maxing out at 42°C and starts throttling there.

Another interesting thing is at Minute 23. When switching from 7V to 4.8V it takes over 30seconds for the phone to finish this voltage step.

Also at Minute 38 we see the phone peaking at 9V Charging Voltage, wich also increases the Battery Voltage to 4.295mV (before is 4.251mV and after 4.267mV) and increases the Battery Temperature momentarily. Until the phone realises "Ohwait, thats to much, lets go with 7V instead" and then steadily drops down to 6.4V over 5 minutes, in the QC3.0 defined 200mV Steps.

So yeah. The next time my phone is empty and i have time, i will charge while using my "Normal" Benchmark in Repetitouch.

P.S As you can see in the Battery Voltage. If you love your phone and care about your battery, DON'T use it with less than 4% Battery....
[HTC 10 Guides, News, & Discussion] Haldi4803:
Charging while using the device

We all know that dilemma, we're somewhere out, our phonebattery is dying and yet we still need the phone for a while....

So how does the phone behave if you use it while charging?

To test this i've used Repetitouch App to simulate input (opening Browser, refresh homepage, browse, open Email and read one, open Tapatalk and scroll trough a thread) while my phone has been charging from 2% to 100%

Main differences:

Charging Takes 2hours instead of 1.5h

Battery Temperature is almost always above 46°C

Due to the fact that the battery is overheating the Voltage is only 7V at the beggining and almost always below 5.5V Afterwards.
[HTC 10 Guides, News, & Discussion] Haldi4803:
Frame Analyze 4k Video Recording

I'm sure you've heard it before.... dark light, reduced FPS, framedrops. So let's take a closer look.

For test video i've taken this one here.

[YOUTUBE]zoeN3mwKC5k[/YOUTUBE]

Software used for analysation:

Media Info

Bitrate viewer (yep... that crap is outdate from 2011, no updates. But it eats mkv's no problem)

MediaInfo Output:

General
Complete name : D:\Videos\Videos\VIDEO0121.mkv
Format : Matroska
Format version : Version 2
File size : 2.44 GiB
Duration : 6 min
Overall bit rate mode : Variable
Overall bit rate : 58.1 Mb/s
Writing application : android
Writing library : android

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 1 frame
Format settings, GOP : M=1, N=31
Codec ID : V_MPEG4/ISO/AVC
Duration : 6 min
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 30.066 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Title : htc_video_rotA-000
Default : Yes
Forced : No

Audio
ID : 2
Format : FLAC
Format/Info : Free Lossless Audio Codec
Codec ID : A_FLAC
Duration : 6 min
Bit rate mode : Variable
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 96.0 kHz
Bit depth : 24 bits
Default : Yes
Forced : No

Seconds Based Bitrate Viewer says this:

We see a 9.5 Seconds discrepancy in total video length.

And a total of 10514 frames. Going with the 6 Minutes this would be a 29.205FPS going with 5:50.467 this would be a 29.999FPS.

According to Mediainfos 6 Minutes and 30.066 there should be 10823,76 frames....

Whatever....

Switching Bitrate Viewer to Frame Based we can see what bitrate each Frame uses:

Especially interesting seems frame 1397 at 46.533 seconds

a lousy 600kbits are used for this frame, the one before uses 3'800kbits while the average is about 56'000kbits. The next Peak goes up to 160'000kbits.

If we're looking at the video itself at 46 seconds we're in the middle of a zooming animation so we don't really see anything :(

So let's take a look at the maximum peak frame 3376 at 1:52.500

against the average of 56mbits this one here has 421mbits.

Must be something due to a key frame hitting a complete white screen and the next frame is black again, or something like that ^^ Advanced encoding is not my strength.

So yeah... what do we learn out of all this? Nothing.

A: The Source Material does not have enough frame Dop?

B: The measure methode does not help because a skipped frame does not show up at all in the analysis?

So.... what's on the ToDo list?

Find a Software that does Frame by Frame comparison, so if the difference is too big this indicates a dropped frame.

Record a video of a fluid motion, so dropped frames are easy to spot by the eye.

Record a video in a truly dark environement to force reduced FPS and analyze it.
[HTC 10 Guides, News, & Discussion] Haldi4803:
SCNR

While searching for alternative use for my broken Xperia Z2 i found the dumpsys battery set commands. Silly as i am i couldn't resist writing some code for fun.

su
dumpsys battery set status 2
dumpsys battery set level 10
sleep15
for i in `seq 10 1 100`
do
dumpsys battery set level $1
sleep 1
done;
sleep 120
dumpsys battery reset

Well.... you can probably guess what it does?

The first line is broken.... should set the phone to Charging mode, this does not work on the HTC 10, probably needs to simulate USB connection first for the charging animation to start :(

but then it falls to 10%, stays there for 15 seconds and after that charges up to 100% in 1% per second.

Stays at full for 2 minutes, then resets to original battery stats.

So yeah, the next time i go out drinking with my friends i'm gonna tell them i can charge my phone by shaking it :laugh:

Not sure any women would belive me if i told her my phone charges the battery the same way i do, by being close to her bust :silly:

#reasonsyouneedroot
[HTC 10 Guides, News, & Discussion] Haldi4803:
Screen Batterydrain

have you ever wondered how much difference it makes if your screen is on the Minimum or the Maximum Brightness?

Well i did. So i left my phone in Airplane Mode, with Sync deactivated and WiFi off alone for 2 hours. Set Screen time out to 1h and touch the screen after 55 minutes.

Manual Brightness set to Minimum and to Maximum.

Batterydrain for 2 hours:

Minimum: -7% or 3.5% per hour

Median: -13% or 6.5% per hour

Maximum: -23% or 11.5% per hour

This is 3x more energy being consumed.

This obviously creates more heat. On minimum Screen Brightness the Battery was around 25°C while on Maximum it was more like 32°C with Room temperature being 21.5°C. The Screen does not only create more heat, also the battery being drained more creates more heat!

With the Median Brightness the Battery was around 27°C warm.

So.... going by the 3.5% per Hour our phone could survive 28.5 Hours of Screen on Time. Sounds totaly crazy doesn't it? If i ever have a full day where i don't need or want my phone i'm definitly gonna try this! Just for the fun of it, and the Screenshot which has over 24h SoT and is not Photoshopped xD

On the Other hand, the Maximum Brightness uses 11.5% per Hour, just the Screen alone will drain our phone empty in 8.7 Hours.

With the Median Brightness 15.4 Hours would be possible.

P.S if you're curious... the Sony Xperia Z2 with 1920x1080 screen and 3200mAh Battery managed 19h45mins in a Practical test!

Here are the Screenshots that show 95% idle CPU clock on the phone and battery drain, and Temperature.
[HTC 10 Guides, News, & Discussion] ssojyeti2:
That's honestly so funny. We can do this on the htc 10?
[HTC 10 Guides, News, & Discussion] Haldi4803:
It's not working anymore -.o

root@htc_pmeuhl:/data/data # dumpsys battery

Error dumping service info: (Unknown error -2147483646)

Here's the one i got it from ^^

https://stanfy.com/blog/android-shell-part-1-mocking-battery-status/
[HTC 10 Guides, News, & Discussion] crescal:
Wow this is great. Thanks a lot for this. It is also possible to do all these while capturing the GPU profiling? That could give us some idea on smoothness