măsurarea utilizării procesorului în dispozitive MOBILE

dacă ați dorit vreodată să măsurați utilizarea procesorului unei aplicații mobile sau a unui joc și sunteți blocat, citiți mai departe pentru a afla cum se poate realiza acest lucru.

scopul fundamental al oricărei aplicații sau joc este de a oferi o experiență extraordinară utilizatorului. Pentru jocuri, cadre pe secundă este o măsură bună a acestui lucru. Atunci când jocul nu este în măsură să ofere o experiență bună sunt în mod natural curios despre utilizarea resurselor în sistemul dumneavoastră. S-ar putea ca jocul să fie blocat fie de CPU/ GPU, fie de lățimea de bandă a memoriei. Aceste trei domenii fundamentale sunt prima oprire atunci când căutăm să identificăm problemele de performanță. Să ne uităm la modul de măsurare a utilizării procesorului atât pe dispozitivele Android, cât și pe cele iOS.

definiții

ce este încărcarea procesorului?
înainte de a putea discuta despre metodele de măsurare a utilizării procesorului, este important să știm ce înțelegem prin definiție încărcarea procesorului. Încărcarea procesorului măsoară cantitatea de muncă efectuată de un procesor între două intervale de eșantionare. Dispozitivele moderne au procesoare multi-core care pot funcționa la frecvențe diferite, în funcție de nevoia de calcul a software-ului care utilizează CPU. Ca urmare, un procesor care este complet încărcat la o frecvență mai mică poate accepta în continuare mai multe lucrări din sistemul de Operare dacă frecvența este crescută.

o observație cheie de făcut este faptul că încărcarea procesorului depinde de punctul de operare al procesorului. Un procesor care este încărcat 100% la 500 Mhz va fi încărcat doar 50% dacă frecvența este mărită la 1GHz. Deci, este nevoie să normalizați încărcarea procesorului la frecvența maximă de funcționare a procesorului.

încărcarea procesorului poate fi obținută atât pentru Android, cât și pentru iOS într-o varietate de moduri. Încărcarea procesorului poate fi mai mare de 100%. De exemplu, într-un dispozitiv iOS cu 4 nuclee, încărcarea procesorului poate ajunge până la 400% (Încărcare 100% pentru fiecare nucleu CPU).

ce este utilizarea procesorului normalizat?
când valoarea de încărcare a procesorului așa cum sa menționat mai sus este recalculată folosind punctul maxim de funcționare al fiecărui nucleu CPU, obținem utilizarea procesorului normalizată. Știu că acest lucru este un pic complex, așa că am un exemplu care explică acest lucru mai jos,

să luăm în considerare următorul scenariu pe un dispozitiv care are un procesor Quad-Core

  • încărcarea procesorului din cauza aplicației – 50%
  • Numărul de nuclee care sunt online – 2 din 4
  • punctul maxim de funcționare al nucleelor CPU – 1 GHz
  • puncte de operare ale celor două nuclee care au fost pe – 500 MHz

utilizarea procesorului normalizat se calculează după cum urmează,

  • maxim cicluri CPU disponibile – 4 * 1 GHz – 4 GHz
  • cicluri CPU disponibile atunci când aplicația a fost de funcționare-500 Mhz * 2 = 1 GHz
  • procent din totalul ciclurilor CPU disponibile în timpul eșantionării-1GHz / 4Ghz = 25% sau 0.25
  • utilizarea procesorului normalizat– 50% * (0.25) = 12.5%

când utilizați orice instrument de profilare, este întotdeauna util să puneți această întrebare. Măsoară utilizarea procesorului normalizată? Este important, deoarece atunci când utilizarea procesorului este normalizată, acesta poate fi comparat pe două dispozitive. Încărcarea procesorului nu se pretează la comparații ușoare.

acum că am înțeles definițiile încărcării procesorului, să ne uităm la câteva dintre diferitele moduri în care putem măsura acest lucru în Android și iOS

Android
ca dezvoltator, există multe modalități prin care puteți măsura utilizarea procesorului în Android pentru aplicația sau jocul dvs.

comanda”Top”
cel mai simplu mod de a obține rapid un mâner pe aplicațiile de utilizare CPU este de a utiliza comanda “top”. Android se bazează pe Linux, vine cu unele dintre bunătățile din linia de comandă disponibile și în Linux.

dacă aveți acces ADB la dispozitiv, puteți rula o comandă ca următoarea pentru a privi utilizarea procesorului,

comanda adb shell top-m 5-d 1 produce un rezultat ca mai jos:

Abd Shell-ecran

de mai sus, puteți vedea că pachetul com.kiloo.subwa + consumat 142% din CPU. Este demn de remarcat din nou că aceasta este încărcarea procesorului și nu este normalizată. Cu toate acestea, puteți utiliza în continuare acest număr pe același dispozitiv pentru a înțelege utilizarea procesorului. Această metodă este, de asemenea, utilă pentru a obține utilizarea Procesorului pe orice aplicație care rulează pe dispozitiv.

Android Profiler
dacă aveți acces la codul sursă al aplicației, puteți utiliza Android Studio profiler pentru a obține valori detaliate de utilizare a procesorului. Puteți urmări documentația oficială android aici pentru a utiliza PROFILERUL CPU în Android Studio.

GameBench tools
GameBench tools oferă cel mai simplu mod posibil de a prelua utilizarea procesorului normalizat pe un dispozitiv Android pentru orice aplicație sau joc, chiar dacă nu sunteți dezvoltatorul. În plus față de utilizarea procesorului, instrumentele raportează, de asemenea, stările de bază ale procesorului (dacă un nucleu CPU a fost online) și, de asemenea, frecvențele acestora. De exemplu, un exemplu de diagramă pentru frecvențele de bază ale procesorului arată mai jos,

graficul de mai sus arată un chipset mobil cu un procesor de bază 8 și dintr-o privire puteți vedea că frecvența procesorului a fost cronometrată pentru primele 25 de secunde și apoi sistemul de operare Android a decis să oprească toate nucleele la frecvențe mai mici. În acest caz, aplicația profilată încărca resurse de pe disc și, ca urmare, a trebuit să opereze toate nucleele la o frecvență mai mare timp de 25 de secunde. Dacă doriți să încercați utilizarea procesorului pentru dispozitivul dvs. mobil, înscrieți-vă pentru un proces GameBench Pro de mai jos și mergeți rapid.

luați legătura

iOS
dacă sunteți dezvoltator iOS, cel mai simplu mod de a măsura utilizarea procesorului este utilizând setul de instrumente Xcode.

am găsit următoarele instrumente Apple a fi deosebit de utile:

  1. Xcode Debug Calibre
  2. instrumente
    1. timp Profiler
    2. activitate Monitor

Xcode Debug Calibre
dacă aveți acces la codul sursă al aplicației iOS, atunci Calibre de depanare sunt o modalitate rapidă și ușoară de a obține consumul de resurse al aplicației. Aflați mai multe detalii despre utilizarea indicatoarelor de depanare aici. Tot ce trebuie să faceți este să lansați aplicația pe dispozitivul conectat pentru a obține informații foarte utile despre utilizările resurselor. Vă rugăm să rețineți că numai încărcarea procesorului este raportată în iOS (nu este normalizată).

instrumente
uneori, aveți nevoie de acces la informații mai detaliate despre profilarea procesorului și aici vă pot ajuta instrumentele. Instrumentele au câteva instrumente diferite care vă pot ajuta să măsurați performanța aplicației.

Time Profiler
instrumentul time profiler poate efectua eșantionarea redusă, bazată pe timp, a proceselor care rulează pe procesoarele sistemului. Există câteva puncte de vedere diferite în acest instrument care pot fi utilizate. Vizualizarea de utilizare a strategiei CPU poate fi utilizată pentru a compara utilizarea de bază pe perioade de timp date. Puteți vizualiza volumul de lucru pe fiecare nucleu al dispozitivului și puteți observa orice comportament neașteptat. Vizualizarea strategie fire poate fi utilizată pentru a examina utilizarea de către aplicație a firelor atunci când efectuați lucrări. Este demn de remarcat faptul că codul sursă este necesar pentru a înțelege blocajele.

monitor de activitate
monitorul de activitate poate oferi un bun indicator de sănătate al aplicației profilate. Acest instrument poate afișa utilizarea procesorului și a memoriei tuturor aplicațiilor care rulează pe dispozitiv. Acest lucru este util dacă doriți să aveți un test de lungă durată și să măsurați parametrii de performanță pentru aplicație/joc.

GameBench Tools
instrumentele noastre vă permit să măsurați utilizarea procesorului pentru aplicația dvs. chiar dacă nu aveți acces la codul sursă. Acest lucru este util mai ales dacă doriți să profilați un candidat de lansare fără informații de depanare. De asemenea, instrumentele noastre vă permit să măsurați utilizarea procesorului de pe un PC windows, ceea ce poate fi foarte util, deoarece modalitățile de utilizare a Xcode și a instrumentelor menționate mai sus funcționează doar pe un Mac care rulează OSX.

diagrama frecvenței de bază

un punct important de reținut aici este că utilizarea procesorului raportată de GameBench variază în funcție de numărul de nuclee. Fiecare nucleu este permis să utilizeze 100% și astfel pentru un sistem cu șase nuclee, sarcina maximă a procesorului poate ajunge la 600%.

un punct important de reținut aici este că utilizarea procesorului raportată de GameBench variază în funcție de numărul de nuclee. Fiecare nucleu este permis să utilizeze 100% și astfel pentru un sistem cu șase nuclee, sarcina maximă a procesorului poate ajunge la 600%.

ce ar trebui să cauți?

iOS
valorile susținute ale încărcării ridicate a procesorului trebuie analizate mai atent (înțelegeți ce se întâmplă pe ecran folosind capturile de ecran pentru context), deoarece acest lucru va duce cel mai probabil la o scurgere crescută a bateriei. Datorită modului în care funcționează procesorul modern, o creștere a încărcării procesorului va declanșa, de obicei, procesorul să intre în următoarea frecvență de operare mai mare. Trecerea la următorul punct de operare ar trebui să aibă ca rezultat o valoare mai mică de încărcare a procesorului. Dacă o aplicație încarcă în mod constant CPU-ul, sistemul de operare continuă să crească punctul de operare până când atinge valoarea maximă. Acest comportament nu este de dorit și ar trebui investigat.

de asemenea, ar trebui să vă uitați la valorile de utilizare a procesorului care sunt mai mari de 25% din maximul permis. Deci, într-un sistem cu 6 nuclee, orice încărcare susținută a procesorului mai mare de 150% indică de obicei o problemă și este posibil să doriți să utilizați instrumentul Time Profiler pentru a investiga acest lucru mai detaliat.

rafale scurte de încărcare mare CPU sunt bine.

Android
acest lucru depinde de numărul de nuclee din dispozitivul utilizat pentru testare. Pe un sistem quad-core, o valoare mai mare de 25% ar însemna că un nucleu a fost utilizat pe deplin pentru aplicație și, ca rezultat, ar fi considerat o utilizare ridicată a procesorului, deși acest lucru este bine în rafale scurte. Utilizarea consecventă a procesorului > 25% necesită investigații suplimentare.

toate firele utilizate în aplicația ar trebui să fie “numit” pentru a utiliza informațiile furnizate în cel mai bun mod posibil. Este întotdeauna o idee bună să verificați dacă vreunul dintre firele” ușoare ” consumă în mod neașteptat mai multe cicluri CPU

ce urmează?

dacă sunteți interesat să aflați mai multe despre valorile colectate de instrumentele GameBench Pro, puteți găsi mai multe postări pe blog pe această temă mai jos.

Valori De Performanță Bloguri

Leave a Reply