latet

[Mi3] Tryb normalny a tryb wydajny

Recommended Posts

Witam i krótko pytam:

 

Na Mi2S, na Redmi Note LTE nie widzę w testach żadnej (istotnej) różnicy pomiędzy trybem normalnym a trybem wydajnym.

 

Natomiast na Mi3 różnica jest zdecydowana (ROM: miui5 4.8.22 KK).

 

Czym się więc w swej istocie różni "Tryb wydajny" w Mi3 od analogicznych trybów w innych słuchawkach Xiaomi, w szczególności na Mi2S, gdzie on zupełnie nic nie daje? 

Edited by latet

Share this post


Link to post
Share on other sites

kiedys w zasadzie zadalem to samo pytanie w temacie o MI4 wiec pozwole sobie tu zacytowac moje pytanie i odpowiedz Acida

 

 

Acid a czym sie rozni profil zasilania balanced od high performance? czyzby balanced byl czyms w stylu naszego dawnego oszczedzania energii a high performance to dawny tryb normalny? Bo wyniki w wydajnosci i w czasu dzialania baterii w tych trybach wyraznie sie roznia

nie wydaje mi sie zeby na MI2 byla az taka roznica pomiedzy normalnym a wydajnym  :P

 

 

Odpowiem w taki sposób:

 

"LEO "* | "MI 4"*)

case "$powermode" in
"high")
stop mpdecision
sleep 1
echo 1 > /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu2/online
echo 1 > /sys/devices/system/cpu/cpu3/online
echo 1 > /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu2/online
echo 1 > /sys/devices/system/cpu/cpu3/online
echo 2457600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 2457600 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
echo 2457600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
echo 2457600 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
echo 20 > /sys/module/cpu_boost/parameters/boost_ms
echo 1728000 > /sys/module/cpu_boost/parameters/sync_threshold
echo 1497600 > /sys/module/cpu_boost/parameters/input_boost_freq
echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms
echo 255 > /sys/class/leds/lcd-backlight/max_brightness
echo 578000000 > /sys/class/kgsl/kgsl-3d0/max_gpuclk
echo performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor
echo "msm_cpufreq" > $dev_governor
;;
"middle")
echo interactive > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo interactive > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo interactive > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo interactive > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
echo 2457600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 2457600 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
echo 2457600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
echo 2457600 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
echo "20000 1400000:40000 1700000:20000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
echo 1190400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
echo "85 1500000:99" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
echo 20 > /sys/module/cpu_boost/parameters/boost_ms
echo 1497600 > /sys/module/cpu_boost/parameters/sync_threshold
echo 1190400 > /sys/module/cpu_boost/parameters/input_boost_freq
echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms
echo 255 > /sys/class/leds/lcd-backlight/max_brightness
echo 578000000 > /sys/class/kgsl/kgsl-3d0/max_gpuclk
echo msm-adreno-tz > /sys/class/kgsl/kgsl-3d0/devfreq/governor
echo "cpubw_hwmon" > $dev_governor
start mpdecision
;;
esac
;;

 

To profile zasilania dla MI4.

Jak na dłoni widać jak zachowuje się profil Wydajny a jak Normalny.

Warto zwrócić uwagę, że przy Wydajnym zmienia się governor na Performance.

 

mi3 i mi4 w koncu maja te same romy a ustawienia sa generalnie bardzo podobne

wiec niby widac ale ja nie rozumiem... wydajny utrzymuje na sztywno wlaczone wszystkie rdzenie przy 2,5GHz ale na normalnym nie ma zadnego ograniczenia, cpu moze dzialac na wszystkich rdzeniach przy 2,5ghz i gpu tez moze osiagnac takie samo taktowanie jak w trybie wydajnym a jednak roznica w benchmarkach jest ;p w dzialaniu na baterii jest rowniez wyrazna roznica na korzysc oczywiscie normalnego trybu

 

najwyrazniej Qualcomm/Xiaomi jakos optymalizuja dzialanie Snapdragonow 80x zeby uzyskac jak najlepszy kompromis pomiedzy wydajnoscia a czasem dzialania na baterii

Edited by Ari93

Share this post


Link to post
Share on other sites

Dzięki Ari, choć nadal nie rozumiem na czym tu polega różnica między Mi3 a Mi2.

Co z tego, że w Mi3 zmiana planu zmienia też governera na performance? Ręczna zmiana governera na performance w MI2 nie przynosi takich efektów.

Share this post


Link to post
Share on other sites

No nie bo mi2 bez problemu osiaga 100% mocy na normalnym i na wydajnym a mi3/4 jako ze teoretycznie tez powinien to jednak nie osiaga... 

Jakims monitorem mozna by sprawdzic taktowania cpu/gpu podczas obciążenia  w obydwuch trybach

Share this post


Link to post
Share on other sites

To w romie cancro zastosowano inne podejście. W MI2 też by się tak dało ale oni stwierdzili, że MI2 jest na tyle stabilny i płynny, że nie ma sensu grzebać. W MI3 i wyżej zastosowano zmienne governory przy zmianie profili. MI2 tego nie ma i całością zarządza mpdecision - taki wykonywalny program co decyduje jakie mają być częstotliwości cpu, gpu, jak i kiedy używać cpu1, cpu2 itp...

Nie ma różnicy w benchmarku między Normalnym a Wydajnym bo już na Normalnym telefon jest wydajny.

 

W MI3 z racji nowszego sprzętu i lepszego CPU zastosowali taki myk, co ma wpływ jednocześnie na baterię i benchmarki. 

Można powiedzieć, że MI3/Mi4 został "podkręcony" właśnie w ten sposób by był w czołówce benchmarków.

Wystarczy przyjrzeć się dokładnie temu co zostało tu zacytowane:

stop mpdecision

Czyli jeśli uruchamiasz benchmark i przechodzisz na Wydajny to telefon zatrzymuje mpdecision by ten nie mieszał w dynamice CPU/GPU i ustawia na sztywno performance i max CPU. To jest właśnie przepis na maksymalne wyniki CPU. 

 

Na co dzień nie bawimy się w benchmarki i CPU zajmuje się mpdecision i dynamiczny interactive.

Stąd CPU działa od min freq do 2,5GHz bo nigdy nie wiadomo jakie będzie zadanie CPU w tym trybie: możesz grać albo oglądać www albo pisać SMS. Więc CPU masz do dyspozycji w całej rozpiętości częstotliwości. W Wydajnym jedziesz na maksa więc nie ma innych celów dla CPU niż benchmark gdzie jedziesz ile fabryka dała.

 

W przeciwieństwie do Mi2, MI3 może sobie płynnie działać na Normalnym i ma zapas mocy przy Wydajnym. Dlatego widać różnicę.

Share this post


Link to post
Share on other sites

"Stąd CPU działa od min freq do 2,5GHz bo nigdy nie wiadomo jakie będzie zadanie CPU w tym trybie: możesz grać albo oglądać www albo pisać SMS. Więc CPU masz do dyspozycji w całej rozpiętości częstotliwości."

 

​no własnie, niby cała rozpiętość ale jednak w jakis sposob mpdecision i governory sa tak skonfigorowane zeby "zamulaly" tego procka aby zaoszczedzic na baterii a w mi2 po prostu im sie nie chcialo bawic w konfigurowanie tego tak? ;p

Share this post


Link to post
Share on other sites

Lol. Nie. Nic nie rozumiesz.

 

Właśnie przez mpdecision masz oszczędzanie na baterii. Tu nic nie zamula procesora. W ogóle skąd taki pomysł?

Oszczędzanie baterii nie bierze się z ograniczania czegoś a z inteligentnego zarządzania CPU.

W performance i bez mpdecision tego nie masz więc masz 100% wydajności. 

 

A zresztą widać, że chyba jedno hasło jest Ci obce:

http://en.wikipedia.org/wiki/SpeedStep

(temat o PC ale podobnie jest w ARM)

 

I tu ostatni akapit:

http://www.armadeus.com/wiki/index.php?title=Linux_Dynamic_Frequency_Scaling

 

MI2 ma ładnie zrobione mpdecision. Po prostu z miejsca jest on wydajny zachowując w miarę dobre parametry baterii. 

W MI3 masz inaczej bo masz przecież inne układy CPU/GPU gdzie w profilu Wydajnym podbijane jest nawet GPU:

echo performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor

W sensie GPU i CPU jest ustawione na maxa przez performance governor, który w postaci kodu jest bardzo prosty.

Share this post


Link to post
Share on other sites

no ale skoro w mpdecision nie ma 100% wydajnosci tak jak w trybie wydajnym to znaczy ze w jakis sposob ta wydajnosc jest ograniczana

na mi2 tez przy wydajnym jest wylaczane mpdecision i wyniki sa takie same z tym ze ani gpu ani cpu nie przeskakuja na performance

 

"MI2 ma ładnie zrobione mpdecision." czyli mi3/4 nie ma tak dopracowanego mpdecision dlatego nie wyciaga maxa z procka albo po prostu tak ma byc bo i tak i tak jest megawydajny ;)

Share this post


Link to post
Share on other sites

Nie rozumiesz... Mi2 ma słabszy procek, dlatego nawet na normalnym działa na maksa podczas benchmarków, natomiast przy 2,5GHz mpdecision uznaje, że nie jest mu potrzebna pełna moc i obniża takty dla zachowania energii, np. po co telefon ma działać na 100%, skoro 60 fps wystarczy, a na 60+ będzie niepotrzebnie zużywać baterię itp. Przynajmniej tak to wygląda w moim mniemaniu.

Share this post


Link to post
Share on other sites

To ja dodam jeszcze, że zwykle jak zapuszczam jakiś benchmark, to resetuję statystykę CPU-Spy i odczytują ją zaraz po zakończeniu benchmarka. Patrzę, jakie częstotliwości były w użyciu podczas testu, w szczególności przez ile % czasu była używana częstotliwość max.

 

W przypadku Antutu 5.1 na Mi3 max. częstotliwość (2.3GHz) jest wykorzystywana przez:

  • 8% czasu trwania testu - w trybie normalnym
  • 41% czasu trwania testu - w trybie wydajnym (nie jest więc tak, że w wydajnym procek na sztywno zaiwania w max. freq. cały czas)

 

W Mi2S procent ten jest w okolicach 60-70%, niezależnie od trybu, a dla RedmiNote LTE w trybie max. performance: 72% oraz 90% w trybie normalnym (gdzie tu logika?), przy czym wyniki w obu trybach są niemal identyczne (w normalnym ciut wyższy, ale to przypadek). Co ciekawe - na tym telefonie także w trybie oszczędnym wynik testu jest taki sam - coś więc te tryby tylko chyba udają, że działają...

 

Dla Redmi 1S zanotowałem 96% a dla RedmiNote (Octacore) 82-85%  - z tym że w tych dwóch ostatnich przypadkach to są dane z Antutu 4.5, więc nie da się ich bezpośrednio zestawić z danymi z Antutu 5.1, a obecnie nie mam tych tel. pod ręką.

Edited by latet

Share this post


Link to post
Share on other sites

Te % wyglądają tak również dlatego, że w Snapach 800 i 801 odczuwalny jest throttling, procesor obniża takty aby obniżyć temperaturę, normalnie Mi3 mógłby mieć 100%, a jest 41%, bo jest zbyt duża ilość ciepła.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.