Megosztás a következőn keresztül:


Gyakori elérésű útvonalak azonosítása lánggráf használatával (C#, Visual Basic, C++, F#)

A Visual Studio CPU-kihasználtsághoz és instrumentáláshoz használt profilkészítési eszközei közé tartozik a Flame Graph nézet. A Flame Graph segítségével azonosíthatja gyakori útvonalakat, a kódban a hívásfa vizualizációjának megjelenítésével. A forró útvonal a legtöbb CPU-t vagy a legtöbb időt használó függvények hívási vereme, és gyakran jó hely a lehetséges teljesítményoptimalizálások kereséséhez. A gráf vizuális áttekintést ad arról, hogy az alkalmazás hol tölti az időt, és az adott csomópontokra kattintva tovább áshatja őket.

Képernyőkép a Flame Graphról a helyi menüvel.

Egy oktatóanyag, amely bemutatja, hogyan javíthatja a teljesítményt a lánggráf használatával, tekintse meg Esettanulmány: Kezdő útmutató a kódoptimalizálásához. A processzorprofilozóról további információt a Teljesítmény elemzése a processzorprofil-használatával című témakörben talál.

Gyakori elérésű útvonalak vizsgálata

A "Flame Graph" részletes nézete a .diagession jelentésben található.

  1. Indítsa el a profilalkotási munkamenetet a CPU-kihasználtság vagy az instrumentációs eszköz használatával.

  2. Miután leállította a profilkészítési munkamenetet, és a jelentés betöltődik, válassza a Részletek megnyitásalehetőséget.

    Kijelölt Részletek megnyitása képernyőképe.

  3. Válassza Flame Graph az Aktuális nézet legördülő menüben.

    Képernyőkép, amelyen a Lángdiagram nézet van kiválasztva.

    Megjelenik a Flame Graph nézet.

    Képernyőkép a Flame Graph áttekintéséről.

    A forró útvonal a legtöbb CPU-t használó vagy a legtöbb időt igénybe vevő kódútvonal, amikor a hívásfa elemzésekor lefelé haladunk.

    Alapértelmezés szerint a Flame Graphban látható adatok ugyanazokat az adatokat képviselik, mint a Hívásfa nézetben az adatgyűjtési időszakra vonatkozóan. Pontosabban a cpu-használat esetében a teljes cpu- értékeket jeleníti meg. Ez az érték befogadó, ezért magában foglalja a függvény hívásai által használt processzorkihasználtságot (azaz a processzor számítási idejét), valamint a függvény által hívott egyéb függvényeket. Hasonlóképpen, a Instrumentation esetében a gráf a hívásfa nézetben az Total oszlopnak megfelelő értékeket jeleníti meg.

    Ha azonban kiválaszt egy csomópontot, a kijelölt csomópont lesz az új alapkonfiguráció, és a lángdiagram szélességének 100% használ. Ez lehetővé teszi, hogy jobban átláss egy összetett hívásfát, és megtekinthesd a hosszú neveket, amikor azok csonkolva vannak vagy rejtve maradnak. Íme egy példa egy lángdiagramra, amely egy összetettebb hívásfát jelenít meg.

    Képernyőkép egy összetett hívásfához tartozó Flame Graphról.

    A csomópont részleteinek megtekintéséhez válassza ki a csomópontot.

    Az alapértelmezett nézetre való visszatéréshez válassza a Nagyítás alaphelyzetbe állítása lehetőséget.

    A profilkészítési jelentés különböző nézeteire is navigálhat, ha kijelöl egy csomópontot, majd kiválaszt egy olyan beállítást, mint például a Nézet a hívásfa a helyi menüből.

    Képernyőkép a Hívásfában megjelenítendő Flame Graph beállításról.

A Lángdiagram megfordítása

Alapértelmezés szerint az eszköz lánggráfja fejjel lefelé vagy jégcsapdiagramként jelenik meg, ahol az y tengely lefelé számlálja a verem mélységét a nullától lefelé a tetején.

A szabványos lángdiagram elrendezést a Lángdiagram átváltásagombra kattintva tekintheti meg.

A Lángdiagram tükrözése lehetőséget ábrázoló képernyőkép.

Összetett lángdiagram esetén a vizualizációt bizonyos elemek kiválasztásával nagyíthatja.

A Flame Graph nézetben az egérrel vagy a billentyűzettel egy csomópontra kattintva navigálhat. Emellett az alábbi billentyűparancsok is támogatottak.

Billentyűparancs Parancs
Tabulátor Ugrás bármely csomópontra
Fel/Le nyíl Ugrás egy csomópont szülőjéhez vagy gyermekéhez
Jobbra/balra mutató nyíl Ugrás egy csomópont társára a veremen
Belép Nagyítás (kijelöl)
Menekülés Kicsinyítés