MÅLE CPU-BRUK I MOBILE ENHETER

hvis du noen gang har ønsket å måle CPU-Bruken av en mobilapp eller et spill, og du sitter fast, så les videre for å finne ut hvordan dette kan oppnås.

det grunnleggende målet for enhver app eller spill er å gi en god opplevelse for brukeren. For spill er rammer per sekund et godt mål for dette. Når spillet ditt ikke er i stand til å gi en god opplevelse, er du naturlig nysgjerrig på ressursbruk i systemet ditt. Det kan trolig være at spillet er flaskehalset av ENTEN CPU / GPU eller minnebåndbredde. Disse tre grunnleggende områdene er første stopp når du ser for å identifisere ytelsesproblemer. La oss se på hvordan du måler CPU-Bruk i Både Android og iOS-enheter.

Definisjoner

Hva ER CPU-Belastning?
Før vi kan diskutere METODER for å måle CPU-Bruken, er det viktig å vite hva vi mener med definisjonen CPU-Belastning. CPU load måler mengden arbeid utført AV EN CPU mellom to samplingsintervaller. Moderne enheter har multi-core Cpuer som kan operere på forskjellige frekvenser avhengig av beregningsbehovet til programvaren ved HJELP AV CPU. SOM et resultat kan EN CPU som er fullt lastet med lavere frekvens, fortsatt akseptere flere jobber fra operativsystemet hvis frekvensen økes.

en viktig observasjon å gjøre er AT CPU-Belastningen avhenger AV DRIFTSPUNKTET TIL CPU. EN CPU som er 100% lastet ved 500 Mhz, vil bare være 50% lastet hvis frekvensen økes til 1GHz. Så det er et behov for å normalisere CPU-Belastningen til DEN MAKSIMALE driftsfrekvensen TIL CPU.

CPU Belastning kan fås både For Android og iOS i en rekke måter. CPU Belastning kan være mer enn 100%. For eksempel i en iOS-enhet med 4 kjerner, KAN CPU-Belastningen gå opp til 400% (100% Belastning for HVER CPU-kjerne).

Hva Er Normalisert CPU-Bruk?
Når CPU Load metric som nevnt ovenfor beregnes ved Hjelp Av Maksimalt driftspunkt for hver CPU-Kjerne, får vi normalisert CPU-Bruk. Jeg vet at dette er litt komplisert, så jeg har et eksempel som forklarer dette nedenfor,

la oss vurdere følgende scenario PÅ en enhet som har En Quad-Core CPU

  • CPU – Belastning på grunn av app – 50%
  • antall kjerner som er online – 2 av 4
  • Maksimalt driftspunkt FOR CPU – Kjernene-1 GHz
  • driftspunkter for de to kjernene som var på-500 mhz

den normaliserte cpu-bruken Beregnes Som Følger,

  • Maksimale TILGJENGELIGE CPU-Sykluser-4 * 1 GHz-4 GHz
  • Tilgjengelige CPU-Sykluser når appen kjørte – 500 Mhz * 2 = 1 GHz
  • Prosentandel Av Totale CPU-Sykluser Tilgjengelig under prøvetaking-1ghz / 4Ghz = 25% eller 0,25
  • Normalisert CPU-Bruk– 50% * (0.25) = 12.5%

Når du bruker et profileringsverktøy, er det alltid nyttig å stille dette spørsmålet. Måler Jeg Normalisert CPU-Bruk? Det er viktig fordi NÅR CPU-Bruken er normalisert, kan den sammenlignes på tvers av to enheter. CPU-Belastning gir seg ikke til enkle sammenligninger.

Nå som vi har forstått definisjonene AV CPU-Belastning, la oss se på noen av de forskjellige måtene vi kan måle dette På I Android og iOS

Android
som utvikler er det mange måter du kan måle CPU-Bruk I Android for appen eller spillet ditt.

“Topp” kommando
den enkleste måten å raskt få et håndtak PÅ apps CPU-Bruk er å bruke” topp ” kommandoen. Android er basert På Linux, den kommer med noen av kommandolinjens godbiter også tilgjengelig I Linux.

hvis DU HAR ADB-tilgang til enheten, kan du kjøre en kommando som følgende for å se PÅ CPU-Bruk,

kommandoen ADB shell top-m 5-d 1 gir et resultat som nedenfor:

ABD Shell-skjerm

Ovenfor kan du se at pakken com.kiloo.subwa + forbrukes 142% AV CPU. Det er verdt å merke seg igjen at DETTE ER CPU-Belastning og ikke er normalisert. Likevel kan du fortsatt bruke dette nummeret på samme enhet for å få en forståelse AV CPU-Bruk. Denne metoden er også nyttig for Å få CPU-bruk på en app som kjører på enheten.

Android Profiler
hvis Du har tilgang Til kildekoden Til Appen, kan Du bruke Android Studio profiler for å få detaljerte CPU-Bruksmålinger. Du kan følge den offisielle android-dokumentasjonen her for å bruke CPU Profiler I Android Studio.

GameBench tools
GameBench tools gir den enkleste måten å hente Normalisert CPU-Bruk på En Android-enhet for noen app eller spill, selv om du ikke er utvikleren. I TILLEGG til CPU-Bruken rapporterer verktøyene OGSÅ CPU – Kjernetilstander (Om EN CPU-Kjerne var online) og også deres frekvenser. For eksempel ser et eksempeldiagram for CPU-Kjernefrekvenser ut nedenfor,

diagrammet ovenfor viser et mobilt brikkesett med en 8-KJERNEPROSESSOR, og med et blikk kan du se AT CPU-Frekvensen ble klokket opp i de første 25 sekundene eller så, og Da Bestemte Android OS å klokke alle kjernene til lavere frekvenser. I dette tilfellet ble den profilerte appen lastet ressurser fra disk og som et resultat måtte alle kjernene operere med høyere frekvens i 25 sekunder. Hvis du ønsker å prøve UT CPU-Bruk for din mobile enhet, registrere Deg for En GameBench Pro rettssaken nedenfor og har en rask gå.

Ta Kontakt

iOS
hvis du er en ios-utvikler, er Den enkleste måten å måle CPU-Bruk Ved Å bruke Xcode-verktøysettet.

Vi har funnet Følgende Apple-verktøy for å være spesielt nyttige:

  1. Xcode Feilsøkingsmålere
  2. Instrumenter
    1. Tidsprofiler
    2. Aktivitetsmonitor

Xcode Debug Gauges
Hvis du har tilgang Til kildekoden til iOS-appen din, Er Debug Gauges en rask og enkel måte å få ressursforbruk på appen din. Vennligst finn ut mer om bruk Av Feilsøkingsmålere her. Alt du trenger å gjøre er å starte appen på den tilkoblede enheten for å få svært nyttig informasjon om ressursbruk. Vær oppmerksom på at BARE CPU-Belastning er rapportert i iOS (ikke normalisert).

Instrumenter
Noen Ganger trenger du tilgang til mer detaljert CPU-Profileringsinformasjon, Og Det Er Her Instrumenter kan hjelpe. Instrumenter har et par forskjellige instrumenter som kan hjelpe til med å måle ytelsen til appen din.

Time Profiler
time profiler-instrumentet kan utføre lav-overhead, tidsbasert prøvetaking av prosesser som kjører på systemets Cpuer. Det er et par forskjellige synspunkter i dette instrumentet som kan brukes. CPU strategi bruk visning kan brukes til å sammenligne kjernebruk over gitte tidsperioder. Du kan vise arbeidsbelastningen på hver kjerne av enheten og oppdage uventet oppførsel. Trådstrategivisningen kan brukes til å undersøke appens bruk av tråder når du utfører arbeid. Det er verdt å merke seg at kildekoden er nødvendig for å forstå flaskehalsene.

Aktivitetsmonitor
aktivitetsmonitoren kan gi en god helseindikator for appen som profileres. Dette instrumentet kan vise CPU og Minnebruk av alle apper som kjører på enheten. Dette er nyttig hvis du vil ha en langvarig test og måle ytelsesparametere for appen / spillet.

GameBench Tools
våre verktøy lar deg måle CPU-Bruken for appen din selv om du ikke har tilgang til kildekoden. Dette er spesielt nyttig hvis du vil profilere en utgivelseskandidat uten feilsøkingsinformasjon. Også, våre verktøy lar deg måle CPU-Bruk fra en windows-PC som kan være svært nyttig som de ovennevnte måter Å bruke Xcode Og Instrumenter fungerer bare på En Mac som kjører OSX.

 Kjernefrekvensdiagram

Et viktig poeng å merke seg her er AT CPU-Bruken rapportert Av GameBench varierer basert på antall kjerner. Hver kjerne får lov til å bruke 100% , og for et seks-kjernesystem kan maksimal CPU-Belastning komme til 600%.

Et viktig poeng å merke seg her er AT CPU-Bruken rapportert Av GameBench varierer basert på antall kjerner. Hver kjerne får lov til å bruke 100% , og for et seks-kjernesystem kan maksimal CPU-Belastning komme til 600%.

Hva skal du se etter?

iOS
Vedvarende verdier av høy CPU-Belastning må sees på mer nøye (Forstå hva som skjedde på skjermen ved hjelp av skjermbilder for kontekst), da dette mest sannsynlig vil føre til økt batteridrift. På grunn av måten moderne CPU arbeid, vil en økning I CPU belastning vanligvis utløse CPU å gå inn i neste høyere driftsfrekvens. Overgangen til neste driftspunkt skal resultere i en lavere CPU-belastningsverdi. Hvis et program konsekvent laster CPU-EN, FORTSETTER OPERATIVSYSTEMET å øke driftspunktet til det når maksimumsverdien. Dette er ikke ønskelig oppførsel og bør undersøkes.

DU bør også se PÅ CPU-Bruksverdier som er mer enn 25% av maksimalt tillatt. Så i et 6-kjernesystem peker enhver vedvarende CPU-Belastning på mer enn 150% vanligvis på et problem, og du vil kanskje bruke Time Profiler instrument for å undersøke dette mer detaljert.

Korte utbrudd med høy CPU-Belastning er fine.

Android
dette avhenger av antall kjerner i enheten som brukes til testing. På et quad-core system vil en verdi større enn 25% bety at en kjerne har blitt fullt utnyttet for applikasjonen, og som et resultat vil det bli vurdert høy CPU-Bruk, selv om dette er greit i korte brister. Konsekvent CPU-Bruk > 25% trenger videre etterforskning.

alle tråder som brukes i appen, skal “navngis” for å bruke informasjonen på best mulig måte. Det er alltid en god ide Å sjekke om noen av de “lette” trådene uventet bruker FLERE CPU-Sykluser

Hva Neste?

hvis Du er interessert i å lære mer om beregningene samlet Av GameBench Pro tools, kan Du finne flere blogginnlegg om emnet nedenfor.

Resultatmål Blogger

Leave a Reply