Sdílet prostřednictvím


Graphics Frame Analysis

Můžete použít grafické rámec analýzy v Visual Studio grafické diagnostiku k analýze a optimalizaci výkonu vykreslování Direct3D hra nebo aplikace.

[!POZNÁMKA]

Spuštění v aplikaci Visual Studio 2013 Update 3, windows nástroj pro diagnostiku grafické jsou umístěny v nezávislá kopie prostředí sady Visual Studio.Tento vlastní prostředí nazývají grafické analýzy eliminuje nepotřebné nabídek a možností, ale jinak stejná jako před jsou rámec analýzy a pracovního postupu.Další informace o těchto změnách naleznete v tématu Přehled diagnostiky grafiky.

Rámec analýzy

Rámec analýzy používá stejné informace, které jsou zachyceny v souboru protokolu grafiky pro účely diagnostiky, ale používá ho k místo toho shrnutí výkonu vykreslování.Informace o výkonu není zaznamenána do protokolu při zachycení; Namísto toho informace o výkonu je generováno později, během analýzy rámec časování událostí a shromažďování statistiky rámeček přehrávání.Tento přístup má několik výhod oproti nahrávání informace o výkonu při zachycení:

  • Rámec analýzy lze průměrné výsledky z více jednotlivými cykly stejné rámce, chcete-li zkontrolovat, zda je statisticky zvuk souhrnu výkonu.

  • Analýza rámec může generovat informace o konfiguraci hardwaru a zařízení, než je ten, kde byla zachycena informace výkonu.

  • Rámec analýzy lze vytvořit nové souhrnů výkonu z dříve zachycené informace – například když GPU ovladače jsou optimalizovány nebo zveřejnit další funkce ladění.

Kromě těchto výhod rámec analýzy lze také provádět změny rámeček vykreslení během přehrávání tak, aby ji může představovat informace o tom, jak tyto změny může ovlivnit výkon vykreslování aplikace.Tyto informace můžete rozhodnout mezi potenciální optimalizace strategie, aniž by bylo nutné je všechny implementovat a později zachytit a porovnejte všechny výsledky sami.

Přestože rámec analýzy je primárně určen pro směřují k naplnění rychlejší vykreslování, rovnoměrně pomůže dosáhnout lepší vizuální kvality pro cíl daného výkonu nebo snížení spotřeby energie GPU.

Pokud chcete zobrazit na ukázku toho, jak postupovat pro svou aplikaci rámec analýzy, můžete sledovat Visual Studio grafické rámec Analysis videa na kanálu 9.

Pomocí analýzy rámec

Před použitím rámec analýzy, je nutné zachytit grafické informace z vaší aplikace při jeho spuštění, stejně jako při použití grafické diagnostiky.Potom v grafickém okně protokolu dokumentu (.vsglog), zvolte rámec Analysis karty.

Vyberte kartu rámec analýzy.

Po dokončení analýzy, se zobrazí výsledky.Na horní části kartu rámec analysis zobrazí časová osa a tabulka souhrnu.Dolní části zobrazuje podrobnosti tabulky.Pokud během přehrávání byly vygenerovány chyby nebo upozornění, je uveden výše časová osa; pak můžete sledovat odkazy na další informace o chyb a upozornění.

Výklad výsledků

Podle interpretaci výsledků každé varianty, lze odvodit, že užitečné informace o aplikaci pro uživatele vykreslování výkonu a chování.Další informace o vykreslování variant, naleznete v části variant dále v tomto článku.

Některé výsledky přímo určete, jak varianta ovlivňovat výkon vykreslování:

  • Pokud varianta bilineární filtrování struktury ukázalo nárůst výkonu, pak pomocí bilineární struktury filtrování ve vaší aplikaci se zobrazí podobné nárůst výkonu.

  • Jestliže byl varianta zobrazovacímu oknu 1 x 1 nárůst výkonu, bude potom snížením velikosti cílů vykreslení ve vaší aplikaci zlepšit výkon jeho vykreslování.

  • Jestliže byl varianta komprese struktury BC zlepšení výkonu, pak komprese struktury BC používáte ve své aplikaci zobrazí podobné nárůst výkonu.

  • Má-li varianta 2xMSAA téměř stejného výkonu 0xMSAA variant, můžete povolit 2xMSAA ve vaší aplikaci ke zlepšení jeho kvality vykreslování bez nákladů výkonu.

Ostatní výsledky může naznačovat hlubší a další menší důsledky pro svou aplikaci výkonu:

  • Pokud varianta zobrazovacímu oknu 1 x 1 zobrazuje nárůst rozsáhlou výkonu, vaše aplikace pravděpodobně spotřebovává více fillrate, než je k dispozici.Pokud je tato varianta zobrazena žádná nárůst výkonu, aplikaci pravděpodobně zpracovává příliš mnoho vrcholy.

  • Pokud varianta vykreslení cílový formát 16bpp zobrazuje výrazné zvýšení výkonu, vaše aplikace pravděpodobně spotřebovává šířky pásma příliš mnoho paměti.

  • Pokud Half/Quarter struktury dimenze varianty zobrazuje výrazné zvýšení výkonu, vaše textury pravděpodobně zabírají příliš mnoho paměti, spotřebovávají příliš velkou šířku pásma nebo neefektivnímu využití mezipaměti struktury.Pokud je tato varianta zobrazena nijak nemění výkonu, můžete použít větší, podrobnější textury pravděpodobně bez placení snížení výkonu.

Pokud jsou k dispozici čítače hardwaru, můžete je můžete získat velmi podrobné informace o proč může mít problémy výkon vykreslování svou aplikaci.Všechna zařízení 9.2 a vyšší úroveň funkce nepodporuje hloubku Pásmová propust dotazy (pixelů occluded čítače) a časovými razítky.Další hardware čítače může být k dispozici, v závislosti na tom, zda má výrobce GPU implementována čítače hardwaru a jejich exponovány v jeho ovladače.Tyto čítače slouží k potvrzení přesné příčině zobrazených v tabulce souhrn výsledků – například můžete zjistit, zda overdraw je faktor tak, že prověříte procento obrazové body, které byly occluded testem hloubka.

Časová osa a tabulka souhrnu

Ve výchozím nastavení jsou zobrazeny časová osa a souhrnné tabulky a dalších částech jsou sbaleny.

Časová osa

Časová osa ukazuje přehled draw volání časování relativně k jinému.Vzhledem k tomu, že větší panely odpovídají delší dobu kreslit, můžete k rychlému vyhledání nejvíce nákladné draw volání v rámci.Když zachycené rámeček obsahuje velký počet volání kreslit, nakreslit více kreslit, které volání jsou sloučeny do jeden pruh jehož délka je součtem těchto volání.

Časové osy se zobrazí náklady draw volání.

Přesuňte ukazatel na panelu zobrazíte která draw volání událost odpovídá panelu.Výběr panelu způsobí, že seznam událostí pro synchronizaci na tuto událost.

Tabulka

Tabulka čísel pod časová osa ukazuje relativní výkonu každou vykreslování variant pro každé volání kreslit s ohledem na svou aplikaci výchozí vykreslení.Každý sloupec zobrazuje různé vykreslování variant a každý řádek představuje různé draw volání, které je identifikován v sloupci nejvíce vlevo. Zde můžete sledovat odkaz na událost v seznamu událostí grafického okna.

Souhrnná tabulka ukazuje různé varients.

Druhý sloupec nejvíce vlevo v tabulce souhrn zobrazí vaše aplikace standardních hodnot vykreslování čas – to znamená, dobu, je potřebná pro vykreslování výchozí svou aplikaci k dokončení volání kreslit.Zbývající sloupce zobrazit relativní výkonu každou vykreslování variant jako procentní podíl standardních hodnot tak, aby je to snazší, abyste viděli, zda vyšší výkon.Procentuální hodnoty vyšší než 100 procent překročila standardních hodnot – to znamená, výkonu byl vypnut – a procentuální hodnoty menší než 100 procent trvalo kratší dobu – výkonu zvýšil.

Hodnoty absolutní načasování standardních hodnot a relativním načasování vykreslování variant jsou ve skutečnosti střední průměr více spustí – 5 ve výchozím nastavení.Tato výpočtu průměru pomáhá zajistit časových dat spolehlivý a konzistentní.Umístíte ukazatel myši na každou buňku v tabulce zkoumat minimální, maximální, střední a střední časování hodnoty, které byly dodržen při výsledky pro danou kreslit volání a vykreslování variant byly vygenerovány.Zobrazí se také načasování standardních hodnot.

"Horko" kreslit volání

Dodali pozornost pro kreslení volání, které spotřebovávají větší podíl celkové doby vykreslování nebo které může být neobvykle pomalé z důvodů, které by mohly být vyhnout, řádek, který obsahuje následující "horko" kreslit volání je šedou barvou red v případě svou vlastní časování standardních hodnot je více než jeden standardní odchylka delší než střední načasování všechna volání kreslit v rámci standardních hodnot.

Toto volání DrawIndexed má aktivní a zima varients.

Statistické násobek.

Dodali pozornost vykreslování variant, které mají nejvyšší závažností rámec analýzy určuje statistické význam jednotlivých vykreslování variant a zobrazí významné ty jako tučné písmo.Zobrazuje ty, které zlepšit výkon jako zelená a ty, které ke snížení výkonu jako červená.Zobrazí se výsledky, které nejsou statisticky významný jako normální typ.

Statistické relevence varianty draw volání

K určení statistické důležitosti, rámec analýzy používá Student získal t-test.

Tabulka podrobností

Pod souhrnem tabulka je v tabulce Podrobnosti, který je ve výchozím nastavení sbaleny.Obsah tabulky Podrobnosti závisí na platformě hardwaru počítače přehrávání.Informace o podporovaných hardwarových platforem naleznete v tématu podpora hardwaru.

Platformy, které nepodporují čítače hardwaru

Většina platformy plně nepodporují čítače GPU hardwaru – patří mezi ně všechny pracují grafikou aktuálně nabízené Intel, AMD a nVidia.Pokud neexistují žádné čítače hardwaru shromažďování, se zobrazí pouze jednu tabulku Podrobnosti a obsahuje střední absolutní načasování všechny varianty.

Tabulka podrobností a některé varients přehrávání.

Platformy, které podporují čítače hardwaru

Pro platformy, které podporují čítače GPU hardwaru – například nVidia T40 SOC a všechny SOCs Qualcomm – různé tabulky Podrobnosti jsou zobrazeny, jeden pro každé varianty.Všechny dostupné hardwaru čítač je shromážděných pro každou vykreslování variant a zobrazena v svou vlastní tabulku podrobností.

Čítače hardwaru se zobrazují, když je podporován.

Informace z čítače hardwaru poskytuje velmi podrobné zobrazení konkrétní platformu hardwaru chování pro každý draw volání, které vám může pomoci určit příčinu kritické velmi přesně.

[!POZNÁMKA]

Jiný hardware platformy podporují různé čítače; neexistuje žádné standardní.Čítače a co představují jsou určeny výhradně každého GPU výrobce.

Značka oblasti a události

Rámec analýzy podporuje uživatelem definované události značek a skupiny událostí.Jsou zobrazeny v souhrnné tabulce a v podrobných tabulkách.

Rozhraní API ID3DUserDefinedAnnotation nebo starší verze rozhraní API řady D3DPERF_ slouží k vytvoření značky a skupin.Při použití rozhraní API D3DPERF_ řady můžete přiřadit každé značky a skupiny na barvu, která rámec Analysis zobrazí jako barevný pásmo v řádky, které obsahují události značku nebo značky begin/konec skupiny události a jejich obsah.Tato funkce může pomoci rychle identifikovat důležité vykreslování události nebo skupinu událostí.

Upozornění a chyby

Analýza rámec příležitostně dokončí s upozornění nebo chyby, které jsou shrnut nad časovou osou a podrobné v dolní části kartu rámec analýzy.

Obvykle upozornění a chyby slouží pouze k informačním účelům a nevyžaduje zásahu.

Upozornění obvykle signalizovat, že podpora hardwaru není splněn, ale může být práce na incidentu kolem, nemůže být shromažďovány čítače hardwaru nebo některé údaje o výkonu nemusí být spolehlivé – například při řešení nepříznivě ovlivňuje ji.

Chyby obvykle signalizovat, že implementace analýzy rámec obsahuje chyby, ovladač obsahuje chyby, podpora hardwaru není splněn a nemůže být práce na incidentu kolem nebo aplikace pokusí něco, který není podporován při přehrávání.

Počet pokusů o opakování

Pokud GPU projde přechod stavu napájení během analýzy rámec, musí průchodu ovlivněných analýzy opakovat, protože rychlost GPU změnit a tím zrušena relativním načasování výsledky.

Analýza rámec omezuje počet opakovaných pokusů 10.Má-li vaše platforma řízení spotřeby účinnou nebo uzavírání hodiny, může způsobit rámec analýzy došlo k chybě a ohlaste chybu, protože překročil limit opakování.Je možné zmírnit tento problém obnovením řízení spotřeby vaši platformu a hodiny, omezení rychlosti být menší hodnotu, pokud ji povolí platformu.

Podpora hardwaru

Časová razítka a Pásmová propust dotazy

Časová razítka jsou podporovány na všech platformách, které podporují rámec analýzu.Dotazy Pásmová propust hloubku – potřebnou pro čítač Occluded pixelů – jsou podporovány na platformách, které podporují funkce úroveň 9.2 nebo vyšší.

[!POZNÁMKA]

I když časová razítka jsou podporovány na všech platformách, které podporují rámec analýzu, přesnost a konzistenci časovými razítky se liší od platformách.

Čítače GPU

Podpora pro čítače hardwaru GPU je související s hardwarem.

Vzhledem k tomu, že žádný počítač aktuálně nabízené Intel, AMD nebo nVidia GPU spolehlivě podporuje GPU hardwaru čítače, není rámec analýzy získat čítače z nich.Analýza rámec však hardwaru čítače shromažďovat tyto jednotky GPU, které je podporují spolehlivě:

  • Qualcomm SOCs, (jakékoli podporující Windows Phone)

  • nVidia T40 (Tegra4).

Žádné jiné platforma, která podporuje rámec analýzy shromažďuje GPU hardwaru čítače.

[!POZNÁMKA]

Vzhledem k tomu, že jsou čítače hardwaru GPU hardwarové prostředky, může trvat několik průchodů shromažďovat úplné sady příkazů hardwaru čítače pro každou vykreslování variant.V důsledku toho neurčené pořadí, ve které GPU jsou shromažďovány čítače.

Systém Windows phone

Časová razítka, Pásmová propust dotazů a GPU hardwaru čítače jsou podporovány pouze na mobilní telefony Windows Phone, které byly původně dodány s Windows Phone 8.1.Rámec analýzy vyžaduje, aby tyto Chcete-li přehrávání že grafiky souboru protokolu.Mobilní telefony Windows Phone, které byly původně dodány s Windows Phone 8 nepodporují rámce analýzy i pro mobilní telefony, které byly aktualizovány pro Windows Phone 8.1.

Nepodporované scénáře

Určitými způsoby použití rámec analýzy nejsou podporovány nebo jsou právě špatný nápad.

POKŘIVENÍ

Rámec analýzy se má použít k profilu a ke zlepšení výkonu vykreslování na skutečnou hardwaru.POKŘIVENÍ zařízení se systémem rámec analysis není znemožnit – emulátoru Windows Phone běží na POKŘIVENÍ – ale nejedná se obvykle vhodná výkonu vzhledem k tomu, že běží na špičkové využití procesoru je nižší než i pracují s podporou nejméně moderní grafikou a vzhledem k tomu, že POKŘIVENÍ výkonu se může významně měnit v závislosti na konkrétní procesoru je na spuštěna.

Přehrávání vysoce funkce úrovně zaznamená na zařízeních nižší úrovně

V grafickém diagnostiky při přehrávání souboru protokolu grafiky, která používá vyšší úroveň funkce než podporuje přehrávání počítače, je automaticky přejde zpět k POKŘIVENÍ.Při analýze rámec explicitně není řízen zpět k POKŘIVENÍ a generuje chybu – je užitečné pro zkoumání správností své aplikace Direct3D, ale ne pro zkoumání jeho výkonu.

[!POZNÁMKA]

Přestože je důležité problémy funkce úrovni mějte na paměti, můžete zachytit a přehrávání souborů na různé konfigurace hardwaru a zařízení protokolu grafiky.Můžete zaznamenat informace o grafickém v systému Windows Phone a přehrát zpět ve stolním počítači a naopak je také podporován.V obou případech v grafickém protokolu lze přehrát zpět, dokud není v souboru protokolu obsahovat rozhraní API nebo použít funkci úrovně, které nejsou podporovány v počítači přehrávání.

Direct3D 10 a nižší

Rámec analýzy je podporována pouze pro rozhraní API 11 Direct3D.Volá-li vaše aplikace rozhraní API 10 Direct3D, nebude analýzy rámec rozpoznat nebo profil, i když jsou rozpoznána a používá grafické diagnostiky.Pokud vaše aplikace používá Direct3D11 a rozhraní API 10 Direct3D, jsou vytvořený profil pouze volání Direct3D 11.

[!POZNÁMKA]

To platí pouze pro Direct3D rozhraní API volání, které používáte, není funkce úrovně.Jak dlouho používáte Direct3D 11, Direct3D 11.1 nebo Direct3D 11.2 rozhraní API, můžete použít libovolné úrovni funkce se vám líbí a analýzu rámec bude pouze fungovat.

Varianty

Každou změnu, kterou rámec Analysis usnadňuje tak, jak rámce je vykreslen během přehrávání se označuje jako varianta.Variant, které prozkoumá rámeček analýzy odpovídají společné, poměrně snadné změny, které provedete může zlepšit výkon vykreslování nebo vizuální kvality vaší aplikace – například snížením velikosti textury, pomocí komprese struktury nebo povolení různé druhy proti aliasy.Variant přepsat kontextu obvyklé vykreslování a parametry své aplikace.Zde je Shrnutí:

Variant

Popis

Velikost zobrazení 1 x 1

Zmenší zobrazovacímu oknu dimenze na všechny cíle vykreslení pixelů. 1 x 1.

Další informace naleznete v tématu 1x1 Viewport Size Variant

0 x MSAA

Zakáže více ukázky proti aliasy (MSAA) na všechny vykreslení cíle.

Další informace naleznete v tématu 0x/2x/4x MSAA Variants

2 x MSAA

Umožňuje 2 x více ukázky proti aliasy (MSAA) na všechny vykreslení cíle.

Další informace naleznete v tématu 0x/2x/4x MSAA Variants

4 x MSAA

Umožňuje 4 x více ukázky proti aliasy (MSAA) na všechny vykreslení cíle.

Další informace naleznete v tématu 0x/2x/4x MSAA Variants

Filtrování bodu struktury

Nastaví režim filtrování na DXD11_FILTER_MIN_MAG_MIP_POINT (bod struktury filtrování) pro všechny ukázky vhodné struktury.

Další informace naleznete v tématu Point, Bilinear, Trilinear, and Anisotropic Texture Filtering Variants.

Filtrování bilineární struktury

Nastaví režim filtrování na DXD11_FILTER_MIN_MAG_LINEAR_MIP_POINT (bilineární struktury filtrování) pro všechny ukázky vhodné struktury.

Další informace naleznete v tématu Point, Bilinear, Trilinear, and Anisotropic Texture Filtering Variants.

Filtrování trilinear struktury

Nastaví režim filtrování na DXD11_FILTER_MIN_MAG_MIP_LINEAR (trilinear struktury filtrování) pro všechny ukázky vhodné struktury.

Další informace naleznete v tématu Point, Bilinear, Trilinear, and Anisotropic Texture Filtering Variants.

Filtrování volba struktury

Nastaví režim filtrování na DXD11_FILTER_ANISOTROPIC a MaxAnisotropy k 16 (16 x volba struktury filtrování) pro všechny ukázky vhodné struktury.

Další informace naleznete v tématu Point, Bilinear, Trilinear, and Anisotropic Texture Filtering Variants.

16bpp vykreslení cílový formát

Nastaví formát pixelů na DXGI_FORMAT_B5G6R5_UNORM (16bpp 565 formátu) pro všechny vykreslení cílů a backbuffers.

Další informace naleznete v tématu 16bpp Render Target Format Variant

Generování mapy MIP

Umožňuje mapy mip na všechny textury, které nejsou vykreslit cíle.

Další informace naleznete v tématu Mip-map Generation Variant.

Poloviční struktury dimenze

Zmenší struktury dimenze na všechny textury, které nejsou cílů vykreslení do poloviny své původní velikosti v každé dimenzi.Můžete například 256 x 128 struktury sníží texels 128 x 64.

Další informace naleznete v tématu Half/Quarter Texture Dimensions Variant.

Čtvrtletí struktury dimenze

Zmenší struktury dimenze na všechny textury, které nejsou vykreslit cíle čtvrtletí své původní velikosti v každé dimenzi.Můžete například 256 x 128 struktury sníží texels 64 x 32.

Další informace naleznete v tématu Half/Quarter Texture Dimensions Variant.

Komprese BC struktury

Povoluje blok komprese na všechny textury, které mají B8G8R8X8, B8G8R8A8 nebo R8G8B8A8 varianta formátu pixel.B8G8R8X8 formát variant jsou komprimovány pomocí BC1; B8G8R8A8 a R8G8B8A8 formát variant jsou komprimovány pomocí BC3.

Další informace naleznete v tématu BC Texture Compression Variant.

Výsledek pro většinu variant je doporučené: "velikost struktury snížení o polovinu je 25 procent rychlejší" nebo "Povolení 2 x MSAA je pouze 2 procent pomaleji".Ostatní varianty může vyžadovat složitější interpretaci – například pokud varianty, která se změní zobrazení dimenzí 1 x 1 zobrazuje výkonu velký nárůst, může to znamenat, že vykreslování je bottlenecked podle výplně nízké sazby; Alternativně Pokud neexistuje žádné významné změny v výkonu, může to znamenat, že vykreslování je bottlenecked zpracováním vrchol.