Maybaygiare.org

Blog Network

Inspiser CPU-aktivitet med CPU Profiler

Optimalisering av APPENS CPU-bruk har mange fordeler, for eksempel å gi en raskere og jevnere brukeropplevelse og bevare enhetens batterilevetid.DU kan bruke CPU Profiler for å inspisere appens CPU-bruk og tråd activityin sanntid mens samspill med app, eller du kan inspisere detaljene inrecorded metode spor, funksjon spor, og system spor.

De spesifikke typer informasjon SOM CPU Profiler poster og viser er bestemt av hvilken opptakskonfigurasjon du velger:

  • System Trace: Fanger finkornede detaljer som lar deg inspisere hvordandin app samhandler med systemressurser.Metode-og funksjonsspor: for hver tråd i appprosessen kan du finne ut hvilke metoder (Java) eller funksjoner (C/C++) som utføres over en periode og CPU-ressursene hver metode eller funksjon bruker under sinutførelse. Du kan også bruke metode og funksjon spor for å identifisere innringereog callees. En anroper er en metode eller funksjon som påberoper en annen methodor-funksjon, og en callee er en som påberopes av en annen metode orfunction. Du kan bruke denne informasjonen til å bestemme hvilke metoder eller funksjoner som er ansvarlige for å påkalle bestemte ressurstunge oppgaver for ofte og optimalisere appens kode for å unngå unødvendig arbeid.

    når du tar opp metodespor, kan du velge samplet eller instrumentertrecording. Når du tar opp funksjonsspor, kan du bare bruke samplet opptak.

for detaljer om bruk og valg av hvert av disse sporingsalternativene, sevelg en opptakskonfigurasjon.

CPU Profiler oversikt

for å åpne CPU Profiler, følg disse trinnene:

  1. Velg Vis > Verktøyvinduer > Profiler eller klikk Profil i verktøylinjen.

    hvis Du blir bedt Om Det i Dialogboksen Velg Distribusjonsmål, velger du enheten som skal distribuere appen din for profilering. Hvis du har koblet til en enhet over Usbmen ikke ser den oppført, må du sørge for at DU har aktivert USB-feilsøking.

  2. Klikk hvor som helst i CPU-tidslinjen for å åpne CPU-Profilen.

når DU åpner CPU-Profiler, begynner den umiddelbart å vise Appens CPUusage og trådaktivitet. Du bør se noe som ligner på figur 1.

Figur 1. Tidslinjer i CPU Profiler.

som angitt i figur 1, inneholder STANDARDVISNINGEN FOR CPU-Profiler følgende tidslinjer:

  1. Hendelsestidslinje: Viser aktivitetene i appen når de går gjennom ulike tilstander i livssyklusen, og angir brukerinteraksjoner med enheten, inkludert skjermrotasjonshendelser. Hvis du vil ha informasjon om hvordan du aktiverer hendelsestidslinjen på enheter som kjører Android 7.1 (API-NIVÅ 25) og lavere, kan Du Se Aktivere avansert profilering.CPU tidslinje: Viser SANNTIDS CPU-bruk av appen din – som en prosentandel av total TILGJENGELIG CPU-tid-og totalt antall tråder appen din bruker. Tidslinjen viser OGSÅ CPU-bruken av andre prosesser (for eksempel systemprosesser eller andre apper), slik at du kan sammenligne den med appens bruk. Du kan inspisere historiske CPU-bruksdata ved å bevege musen langs tidslinjens horisontale akse.
  2. Trådaktivitetstidslinje: Viser hver tråd som tilhører appprosessen din, og angir aktiviteten langs en tidslinje ved hjelp av fargene som er oppført nedenfor. Når du har registrert et spor, kan du velge en tråd fra denne tidslinjen for å inspisere dataene i sporingsruten.
    • Grønn: tråden er aktiv eller er klar til Å bruke CPU. Det vil si at det er i en løpende eller kjørbar tilstand.
    • Gul: tråden er aktiv, men den venter på en I/U-operasjon, for eksempel disk eller nettverk I/O, før den kan fullføre sitt arbeid.
    • Grå: tråden sover og bruker ikke NOEN CPU-tid. Dette skjer noen ganger når tråden krever tilgang til en ressurs som ikke er tilgjengelig ennå. Enten går tråden inn i frivillig søvn, eller kjernen setter tråden i dvale til den nødvendige ressursen blir tilgjengelig. CPU—Profilen rapporterer OGSÅ CPU-bruk av tråder Som Android Studio og Android-plattformen legger til i appprosessen din-for eksempel JDWPProfile SaverStudio:VMStatsStudio:Perfa, ogStudio:Heartbeat(selv om de eksakte navnene som vises i trådaktivitetstidslinjen, kan variere). Android Studio rapporterer disse dataene slik at du kan identifisere når trådaktivitet og CPU-bruk faktisk skyldes appens kode.

Ta opp spor

velg en opptakskonfigurasjon fra en av rullegardinmenyene over ELLER under CPU-Profiler og klikk På Ta Opp.

Figur 2. CPU-Profiler viser status, varighet og type opptak som blir gjort.

Samhandle med appen din, og klikk Deretter Stopp når du er ferdig. Theprofiler viser automatisk sporingsinformasjonen i sporruten, somvist i figur 3:

Figur 3. CPU Profiler etter opptak amethod spor.

  1. Valgt område: Bestemmer den delen av den registrerte tiden som skal inspiseres i sporingsruten. NÅR du først tar opp et spor, VELGER CPU-Profiler automatisk hele lengden på opptaket i CPU-tidslinjen. Hvis du vil kontrollere sporingsdata for bare en del av det registrerte tidsintervallet, drar du kantene på det uthevede området.
  2. Interaksjon seksjon: Viser brukerinteraksjon og app livssyklus hendelser langs en tidslinje.
  3. Tråder seksjon: Viser tråd tilstand aktivitet (for eksempel løping, sove, etc.) Og Call Chart (eller trace event chart I System Trace) for hver tråd langs en tidslinje.
    • Bruk mus og hurtigtaster for å navigere i tidslinjen.
    • Dobbeltklikk trådnavnet eller trykk Enter mens en tråd er valgt for å utvide eller skjule en tråd.
    • Velg en tråd for å se mer informasjon i Analyseruten. Hold Nede Skift Eller Ctrl (Kommando På Mac) for å velge flere tråder.
    • Velg et metodekall (eller spor hendelse I Systemsporing) for å se mer informasjon I Analyseruten.
  4. Analyserute: Viser sporingsdata for tidsintervallet og tråd-eller metodeanropet du har valgt. I denne ruten kan du velge hvordan du vil vise hver stakksporing (ved hjelp av fanene analyse) og hvordan du måler kjøretid (ved hjelp av rullegardinmenyen tidsreferanse).
  5. Analyserutefaner: Velg hvordan du vil vise sporingsdetaljer. For detaljer om hvert alternativ, se Inspisere spor.
  6. tidsreferansemeny: Velg ett av følgende for å bestemme hvordan timinginformasjon for hver samtale måles (støttes bare I Prøve/Spor Java-Metoder):
    • Veggklokketid: Timing informasjon representerer faktisk medgått tid.
    • Trådtid: Timinginformasjon representerer faktisk forløpt tid minus en del av den tiden når tråden ikke bruker CPU-ressurser. For en gitt samtale, er dens tråd tid alltid mindre enn eller lik sin vegg klokke tid. Bruke tråden tid gir deg en bedre forståelse av hvor mye av en tråd faktiske CPU-bruk forbrukes av en gitt metode eller funksjon.
  7. Filter: Filtrerer sporingsdata etter funksjon, metode, klasse eller pakkenavn. Hvis du for eksempel vil raskt identifisere sporingsdata relatert til et bestemt anrop, skriver du inn navnet i søkefeltet. I Kategorien Flammediagram fremheves anropsstakker som inneholder en samtale, pakke eller klasse som samsvarer med søket. I topp-og Bunn-opp-fanene prioriteres disse anropsstablene over andre sporingsresultater. Du kan også aktivere følgende alternativer ved å merke av i den aktuelle boksen ved siden av søkefeltet:
    • Regex: bruk dette alternativet for å inkludere regulære uttrykk i søket.
    • Match case: hvis søket ditt skiller mellom store og små bokstaver, bruk dette alternativet.

Tips: ved inspeksjon Av Trådenes tidslinje er følgende snarveier tilgjengelige:

  • Zoom inn: Trykk På W eller rull musehjulet Mens Du holder Ctrl (Kommando På Mac).
  • Zoom ut: Trykk På S eller rull musehjulet bakover Mens Du holder Nede Ctrl (Kommando På Mac). Panorer Venstre: Trykk A eller dra musen til høyre mens Du holder Mellomrom. Panorer høyre: Trykk D eller dra musen til venstre mens Du holder Mellomrom.
  • Utvid eller skjul en tråd: Dobbeltklikk trådnavnet eller trykk Enter mens en tråd er valgt.

Velg en opptakskonfigurasjon

før du begynner å ta opp sporingsinformasjon, velger du riktig opptakskonfigurasjon for profileringsinformasjonen du vil ta opp:

  • Eksempel På Java-Metoder: Fanger opp appens anropsstabel med hyppige intervaller under appens Java-baserte kodekjøring. Profiler sammenligner sett med fanget data for å utlede timing og ressursbruk informasjon om appens Java-baserte kodeutførelse. et iboende problem med samplet-basert sporing er at hvis appen din går inn i en metode etter en fangst av anropsstakken og avslutter metoden før neste fangst, logges ikke metodekallet av profilen. Hvis du er interessert i å spore metoder med slike korte livssykluser, bør du bruke instrumentert sporing.Spor Java-Metoder: Instruerer appen din under kjøring for å registrere et tidsstempel på begynnelsen og slutten av hvert metodekall. Tidsstempler samles inn og sammenlignes for å generere metode sporing data, inkludert timing informasjon og CPU-bruk. merk at overhead forbundet med instrumentering hver metode påvirker runtime ytelse og kan påvirke profilering data; dette er enda mer merkbar for metoder med relativt korte livssykluser. I tillegg, hvis appen din utfører et stort antall metoder på kort tid, kan profiler raskt overskride filstørrelsesgrensen og kanskje ikke registrere ytterligere sporingsdata.Sample C / C++ Funksjoner: Fanger samplede spor av appens innfødte tråder. For å bruke denne konfigurasjonen må du distribuere appen til en enhet som kjører Android 8.0 (API level 26) eller høyere.

    Internt bruker denne konfigurasjonen simpleperf for å spore appens opprinnelige kode. Hvis du vil angi flere alternativer for simpleperf, for eksempel prøvetakingsspesifikke enhet-Cpuer eller angi prøvetakingstid med høy nøyaktighet, kan du brukesimpleperf fra kommandolinjen.

  • Trace System Calls: Fanger finkornede detaljer som lar deg inspisere hvordan appen din samhandler med systemressurser. Du kan inspisere nøyaktige tidspunkter og varigheter for trådtilstandene dine, visualisere HVOR CPU-flaskehalsene er på tvers av alle kjerner, og legge til egendefinerte sporingshendelser for å analysere. Slik informasjon kan være avgjørende når du feilsøker ytelsesproblemer. For å bruke denne konfigurasjonen må du distribuere appen til en enhet som kjører Android 7.0 (API level 24) eller høyere.

    mens du bruker denne sporingskonfigurasjonen, kan du visuelt markere viktige koderutiner i profiler-tidslinjen ved å instruere koden. Til instrument C / C++ – kode, bruk den innfødte sporings-API levert av trace.h. For Å instrumentere Java-kode, bruk klassenTrace. Hvis du vil Ha mer informasjon, kan du Se Instrumentere appkoden din.

    denne sporingskonfigurasjonen er bygget på systrace. Du kan bruke kommandolinjeverktøyet systrace til å angi alternativer utover de som er oppgitt I CPU-Profiler. De ekstra systemnivådataene fra systrace kan hjelpe deg med å inspisere innfødte systemprosesser og feilsøke tapte eller forsinkede rammer.

    på enheter som kjører Android 9 (API-NIVÅ 28) eller høyere, kan du bruke en systemapp kalt Systemsporing til å registrere systemspor på en enhet.

Opprette, redigere eller vise en opptakskonfigurasjon

du oppretter, redigerer og viser opptakskonfigurasjoner i DIALOGBOKSEN Cpu RecordingConfigurations, som du åpner ved å velge Rediger konfigurasjonerfra rullegardinmenyen opptakskonfigurasjoner øverst I CPU-Profiler.

hvis du vil vise innstillingene for en eksisterende opptakskonfigurasjon, velger du den i den venstre ruten I DIALOGBOKSEN CPU Recording Configurations.

for å opprette en ny opptakskonfigurasjon gjør du følgende:

  1. Klikk Legg tiløverst til venstre i dialogboksen. Dette oppretter en ny konfigurasjon med noenstandardinnstillinger.
  2. Gi konfigurasjonen et navn.
  3. Velg En Sporingsteknologi.
  4. for samplede opptakskonfigurasjoner, spesifiser Samplingsintervallet inmicrosekunder (µ). Denne verdien representerer tiden mellom hver prøve ofyour app call stack. Jo kortere intervallet du angir, desto raskere dunå filstørrelsesgrensen for de registrerte dataene.
  5. Angi Filstørrelsesgrensen, i megabyte (MB), for de registrerte dataene som er skrevet til den tilkoblede enheten. Når Du stopper opptaket, analyserer AndroidStudio disse dataene og viser den i profiler-vinduet. Så, hvis duøke grensen og ta opp en stor mengde data, Tar Android Studio mye lenger tid å analysere filen og kan bli uforsvarlig.

    Merk: hvis du bruker en tilkoblet enhet som kjører Android 8.0 (API-NIVÅ 26) eller høyere, er det ingen grense for filstørrelsen på sporingsdataene, og denne verdien ignoreres. Men du må fortsatt være forsiktig med hvor mye dataenheten samler etter hvert opptak—Android Studio kan ha vanskeligheterparsing av store sporfiler. Hvis du for eksempel tar opp en sampledtrace med et kort samplingsintervall eller et instrumentert spor mens appcalls mange metoder på kort tid, vil du generere store sporingsfiler raskt.

  6. hvis du vil godta endringene og fortsette å gjøre endringer i andre konfigurasjoner, klikker Du Bruk. For å godta alle brukte endringer og lukke dialogboksen, klikkok.

Ta OPP CPU-aktivitet med Debug API

DU kan brukeDebug API for å gi appen din muligheten til å starte og stoppe opptaket AV CPU-aktivitet i CPU-Profiler.

CPU-Profilen begynner å ta opp når appen ringer startMethodTracing(String tracePath),OG CPU-Profilen stopper opptaket når appen ringerstopMethodTracing(). Whilerecording CPU aktivitet som utløses ved hjelp AV DENNE API, VISER CPU profiler debug API som aktiv CPU opptak konfigurasjon.

for å kontrollere OPPTAKET AV CPU-aktivitet medDebug API, distribuere dininstrumentert app Til En enhet som kjører Android 8.0 (API nivå 26) eller høyere.

Viktig: Debug API er ment å brukes separat fra andre måter for å starte og stoppe opptaket Av Cpuaktivitet, for eksempel knappene i CPU Profiler grafisk brukergrensesnitt oginnstillingen i opptakskonfigurasjonen for automatisk opptak på appstartup.

PÅ grunn av bufferstørrelsesgrensen på 8 MB erstartMethodTracing(String tracePath) – metoden iDebug API designet for korte intervaller eller scenarier som er vanskelig å starte / stoppe opptak manuelt. For lengre perioder med opptak, brukprofiler UI I Android Studio.

for mer informasjon, segenerere sporlogger ved å instrumentere appen din.

Ta OPP CPU-aktivitet under oppstart av apper

For å starte OPPTAK AV CPU-aktivitet automatisk under oppstart av apper, gjør følgende:

  1. Velg Kjør> Rediger Konfigurasjoner.
  2. i Profileringsfanen merker du av i boksen Ved Siden Av Start recording a methodtrace ved oppstart.
  3. Velg EN CPU-opptakskonfigurasjon fra menyen.
  4. Klikk På Bruk.
  5. Distribuer appen din Til en enhet som kjører Android 8.0 (API level 26) eller høyere ved å velge Kjør > Profil.

Eksporter spor

NÅR DU har registrert CPU-aktivitet med CPU-profiler, kan du eksportere dataene asa .trace fil for å dele med andre eller inspisere senere.

hvis du vil eksportere en sporingsfil fra CPU-tidslinjen, gjør du følgende:

  1. høyreklikk den innspilte metoden trace eller system tracethat du vil eksportere I CPU-tidslinjen.
  2. Velg Eksporter spor fra menyen.
  3. Bla til der du vil lagre filen, angi filnavnet og klikkok.

hvis du vil eksportere en sporingsfil fra Øktruten, gjør du følgende:

  1. i Øktruten høyreklikker du sporet du vil eksportere.
  2. Klikk På Knappen Eksporter metode spor eller Eksporter system spor på høyre av øktoppføringen.
  3. Bla til der du vil lagre filen, angi filnavnet og klikkok.

Importer spor

du kan importere.trace filer opprettet medDebug API ELLER CPU Profiler.

Importer sporingsfilen din ved Å klikke Start ny profiler-økt i profilers Øktrute og velg Deretter Last fra fil.

du kan inspisere en importert spor I CPU Profiler mye som du gjør withtraces fanget direkte I CPU Profiler, med følgende unntak:

  • CPU-aktivitet er ikke representert langs CPU-tidslinjen (unntatt I Systemsporing).
  • tidslinjen i Tråder-delen viser ikke trådtilstander som å løpe, vente eller sove (unntatt I Systemsporing).

Inspiser spor

sporvisningen I CPU-Profiler gir flere måter å vise informasjon fra registrerte spor.

for metodespor og funksjonsspor kan Du vise Anropsdiagrammet Direkte i Trådenes tidslinje og flammediagrammet, Ovenfra Og ned og ned fra Analyseruten. For system spor, youcan vise Spor Hendelser direkte I Tråder tidslinjen, og theFlame Diagram, Topp Ned og Bunn opp faner Fra Analysispane.

Mus og tastatursnarveier er tilgjengelig for easiernavigering Av Samtalediagrammer eller Sporingshendelser.

Inspiser spor ved Hjelp Av Anropsdiagrammet

Anropsdiagrammet gir en grafisk fremstilling av et metodespor eller funksjonsspor, hvor perioden og tidspunktet for et anrop er representert påhorisontal akse, og kallene er vist langs den vertikale aksen. Samtaler til system-Apier vises i oransje, samtaler til appens egne metoder vises i grønt, og samtaler til Tredjeparts Apier (inkludert Java-Språk-Apier) vises iblue. Figur 4 viser et eksempel samtale diagram og illustrerer begrepet selv tid, barn tid, og total tid for en gitt metode eller funksjon. Du kanlære mer om disse konseptene i avsnittet om how toinspect traces ved Hjelp Av Top Down og Bottom Up.

Figur 4. Et eksempel samtalediagram som illustrererselv, barn og total tid for metode D.

Tips: Hvis du vil hoppe over kildekoden til en metode eller funksjon, høyreklikker du den og velger Hopp Til Kilde. Dette fungerer fra Noen Av Fanene Analyseruten.

Inspiser spor ved hjelp Av fanen Flammekart

Fanen Flammekart inneholder et invertert samtalekart som aggregerer sidentiske anropsstabler. Det vil si at identiske metoder eller funksjoner som deler samme sekvens av innringere, samles og representeres som en lengre stolpe i aflame-diagram (i stedet for å vise dem som flere kortere stolper, som vist i acall-diagram). Dette gjør det lettere å se hvilke metoder eller funksjoner som bruker mest tid. Dette betyr imidlertid også at den vannrette aksen ikke representerer atimeline; i stedet angir den relative tiden hver metode orfunction tar å utføre.

for å illustrere dette konseptet, bør du vurdere samtalediagrammet i figur 5. Notethat metode D gjør flere anrop Til B (B1, B2, andB3), og noen av disse anropene Til B ringe Til C (C1 andC3).

figur 5. En samtale diagram med flere metode callsthat dele en felles sekvens av innringere.

Fordi b1, B2 og B3 deler samme rekkefølge av innringere (En → D → B) blir de samlet, som vist i figur 6. Tilsvarende blir C1 og C3 aggregert fordi de deler det samme resultatet av innringere (En → D → B → C); merk At C2 ikke er inkludert fordi Den har en annen rekkefølge av innringere (En → D → C).

figur 6. Aggregere identiske metoder som delerden samme anropsstakken.

de aggregerte anropene brukes til å lage flammediagrammet, som vist i figur 7.Merk at for en gitt samtale i et flammediagram, vises kallene som bruker mest CPU-TID først.

figur 7. En flamme diagram representasjon av callchart vist i figur 5.

Inspiser spor Ved Hjelp Av Topp Ned og Bunn Opp

topp Ned-fanen viser en liste over samtaler der utvide en metode orfunction node viser sine callees. Figur 8 viser en topp ned graf for callchart i figur 4. Hver pil i grafen peker fra en innringer til en callee.

som vist i figur 8, utvider noden for metode a I topp-ned-fanenviser sine callees, metoder B Og D. etter det utvider noden for methodD sine callees, metoder B Og C, og så videre. I likhet Med Flammekartfanen samler topp-ned-treet sporinformasjon for identiske metoder som deler den samme anropsstakken. Det vil si At Flame chart-fanen gir en grafikkrepresentasjon Av topp ned-fanen.

fanen Øverst ned gir følgende informasjon for å beskrive Cputid brukt på hver samtale (tider er også representert som en prosentandel av threads totale tid over det valgte området):

  • Selv: tiden metoden eller funksjonskallet brukte til å utføre sin egen kodeog ikke den av kallene, som illustrert i figur 4 for metode D.
  • Barn: tiden metoden eller funksjonskallet brukte til å utføre sin kalleskall og ikke sin egen kode, som illustrert i figur 4 for metode D.
  • Total: summen av metodens Selv-og barnetid. Dette representerer den totale tiden appen brukte på å utføre et anrop, som illustrert infigure 4 for metode D.

Figur 8. En Topp Ned treet.

Figur 9. En Bunn Opp treet for metode C fra figur 8.

Fanen Nederst Opp viser en liste over samtaler der utvidelse av en funksjon ormethod node viser sine innringere. Ved hjelp av eksempelsporet vist i figur 8, gir figur 9 et bunn-opp-tre For metode C. Åpne noden for metoden Cin bunnen opp treet viser hver av sine unike innringere, metoder B Og D. Notethat, Selv Om b kaller C to ganger, B vises bare en gang når utvide noden formethod C i bunnen opp treet. Deretter utvider du noden For b-visningersin ringer, metoder A og D.

Bunnen opp-fanen er nyttig for sortering av metoder eller funksjoner av de somkonsumere MEST (eller minst) CPU-tid. Du kan inspisere hver node for å bestemmehvilke innringere bruker mest CPU-tid på å påkalle disse metodene eller funksjonene.Sammenlignet med toppen ned treet, timing info for hver metode eller funksjon i abottom opp treet er i referanse til metoden på toppen av hvert tre (topp node).CPU-tid er også representert som en prosentandel av trådens totale tid under det opptaket. Tabellen nedenfor forklarer hvordan du tolker timinginformation for toppnoden og dens innringere (undernoder).

Barn Total
metode eller funksjon øverst i bunnen opp treet (toppnode) representerer den totale tiden metoden eller funksjonen brukte til å utføre sin egen kode og ikke den av kallene. Sammenlignet med treet ovenfra og ned, representerer denne timinginformasjonen en sum av alle kall til denne metoden eller funksjonen i løpet av opptakets varighet. Representerer den totale tiden metoden eller funksjonen brukte til å utføre sine callees og ikke sin egen kode. Sammenlignet med toppen ned treet, representerer denne timinginformasjonen summen av alle kall til denne metoden eller funksjonens callees over varigheten av opptaket. summen av selv tid og barn tid.
Innringere (undernoder) Representerer den totale selvtiden til callee når den blir kalt av den som ringer. Ved å bruke bottom up-treet i figur 9 som et eksempel, vil selvtiden for metode B være lik summen av selvtidene for hver utførelse av metode C når den kalles Av B. Representerer den totale barnetiden for callee når den blir påkalt av den som ringer. Bruke bunnen opp treet i figur 9 som et eksempel, barn tid for metode B ville lik summen av barn ganger for hver utførelse av metode C når kalt Av B. summen av selv tid og barn tid.

Merk: For et gitt opptak Slutter Android Studio å samle nye datanår profilen når filstørrelsesgrensen(dette stopper imidlertid ikke opptak). Dette skjer vanligvis mye raskere når performinginstrumented spor fordi denne typen sporing samler mer data i en kort tid, sammenlignet med en samplet spor. Hvis du utvider inspeksjonstiden til aperiode for opptaket som skjedde etter å ha nådd grensen, endres ikke timingdata i sporingsruten (fordi ingen nye data er tilgjengelige). I tillegg viser sporingsruten NaN for timinginformasjon når du bare velger den delen av et opptak som ikke har noen tilgjengelige data.

Inspiser systemspor

når du inspiserer et systemspor, kan Du undersøke Sporingshendelser i trådens tidslinje for å se detaljene for hendelsene som forekommer på hver tråd.Hold musepekeren over en hendelse for å se navnet på hendelsen og tid brukt i hver stat. Klikk på en hendelse for å se mer informasjon i analyseruten.

CPU-Kjerneruten (som vist i figur 10) viser trådaktivitetsplanlegging på hver kjerne. Hold musepekeren over en trådaktivitet for å se hvilken tråd denne kjernen kjører på på det aktuelle tidspunktet.

Figur 10. Vise CPU-aktivitet og spore hendelser for gjengittråden.

for mer informasjon om inspeksjon av systemsporingsinformasjon, se theInvestigate ui ytelsesproblemssection avsystrace dokumentasjon.

Inspiser rammegjengivelsesdata

du kan inspisere hvor lang tid det tar appen din å gjengi hver ramme på hovedtråden og RenderThread for å undersøke flaskehalser som forårsaker ui jank og lowframerates.

for å se bildegjengivelsesdata,ta opp et spor ved hjelp av aconfiguration som lar Deg Spore Systemanrop. Etter opptak thetrace, se etter info om hver ramme under Rammer tidslinjen inthe Display delen, som vist i figur 11.

Figur 11. Hver ramme som tar lengre tid enn 16mvises i rødt.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.