Využití GPU
Pomocí nástroje Využití GPU v Profiler výkonu lépe pochopíte vysoké využití hardwaru vaší aplikace Direct3D. Pomůže vám zjistit, jestli je výkon aplikace vázaný na procesor nebo GPU, a získat přehled o tom, jak můžete hardware platformy efektivněji používat. Využití GPU podporuje aplikace, které používají Direct3D 12, Direct3D 11 a Direct3D 10. Nepodporuje jiná grafická rozhraní API, jako je Direct2D nebo OpenGL.
Okno Sestava využití GPU vypadá takhle:

Požadavky
Kromě požadavků na Diagnostika grafiky jsou pro použití nástroje Využití GPU potřeba následující:
GPU a ovladač, které podporují potřebnou instrumentaci časování.
Poznámka
Další informace o podporovaném hardwaru a ovladačích najdete v části Hardwarová podpora a podpora ovladačů na konci tohoto dokumentu.
Další informace o požadavcích Diagnostika grafiky najdete v tématu Začínáme.
Použití nástroje Využití GPU
Když aplikaci spustíte v nástroji Využití GPU, Visual Studio relaci diagnostiky. Tato relace obsahuje podrobné informace o výkonu vykreslování vaší aplikace a využití GPU v reálném čase.
Spuštění nástroje Využití GPU:
V hlavní nabídce zvolte Výkon a diagnostika ladění (nebo na klávesnici stiskněte > Alt+F2).
V centru Výkon a diagnostika zaškrtněte políčko vedle možnosti Využití GPU. Volitelně zaškrtněte políčka vedle dalších nástrojů, které vás zajímají. Souběžně můžete spustit několik nástrojů pro výkon a diagnostiku, abyste měli lepší obrázek o výkonu vaší aplikace.

Poznámka
Ne všechny nástroje pro výkon a diagnostiku je možné používat současně.
V dolní části centra Výkon a diagnostika vyberte Spustit a spusťte aplikaci pod vybranými nástroji.
Mezi informace nejvyšší úrovně zobrazené v reálném čase patří časování snímků, snímková frekvence a využití GPU. Každá z těchto informací je vy grafována nezávisle, ale všechny používají společné časové měřítko, abyste mohli snadno porozumět relacím.
Grafy Frame time (ms) a Frames per second (FPS) mají dvě červené vodorovné čáry, které zobrazují výkonnostní cíle 60 až 30 snímků za sekundu. V grafu Frame time (Čas rámce) vaše aplikace překračuje cíl výkonu, když je graf pod čárou, a když je graf nad čárou, cíl mu chybí. U grafu Počet snímků za sekundu je to naopak: vaše aplikace překračuje cíl výkonu, když je graf nad čárou, a když je graf pod čárou, chybí mu cíl. Tyto grafy se používají primárně k získání nejvyšší úrovně výkonu vaší aplikace a k identifikaci zpomalení, která byste mohli chtít prozkoumat. Pokud například vidíte náhlý pokles snímkové frekvence nebo prudké zvýšení využití GPU, může být další šetření zaručované.
Zatímco vaše aplikace běží pod nástrojem Využití GPU, relace diagnostiky shromažďuje také podrobné informace o grafických událostech, které byly spuštěny na GPU. Tyto informace použijete k vygenerování podrobnější sestavy o tom, jak vaše aplikace využívá hardware. Vzhledem k tomu, že vygenerování této sestavy ze shromážděných informací nějakou dobu trvá, je dostupná až po dokončení diagnostické relace shromažďování informací.
Pokud se chcete na problém s výkonem nebo využitím podívat blíž, zastavte shromažďování informací o výkonu, abyste mohli sestavu vygenerovat.
Generování a zobrazení sestavy využití GPU:
V dolní části okna relace diagnostiky zvolte odkaz Zastavit shromažďování nebo v levém horním rohu vyberte Zastavit.

V horní části sestavy vyberte oddíl z jednoho z grafů, který ukazuje problém, který chcete prozkoumat. Váš výběr může být dlouhý až 3 sekundy. Delší oddíly jsou na začátku zkrácené.

Pokud chcete zobrazit podrobnou časovou osu vašeho výběru, v dolní části sestavy v části ... Kliknutím sem zobrazíte podrobnosti o využití GPU pro tuto zprávu rozsahu, vyberte Zobrazit podrobnosti.

Tento výběr otevře nový dokument se záložkou, který obsahuje sestavu. Sestava Využití GPU vám pomůže zobrazit, kdy se na procesoru spustí grafickou událost, kdy se dostane k GPU a jak dlouho trvá gpu, než ji spustí. Tyto informace vám můžou pomoct identifikovat kritické body a příležitosti pro zvýšení paralelismu v kódu.
Export do GPUView nebo Windows Analyzátor výkonu
Počínaje Visual Studio 2017 můžete tato data otevřít pomocí GPUView a Windows Analyzátor výkonu. Stačí vybrat odkazy Open in GpuView (Otevřít v GpuView) nebo Open in WPA (Otevřít v WPA) v pravém dolním rohu diagnostické relace.

Použití sestavy využití GPU
Horní část sestavy Využití GPU zobrazuje časové osy pro aktivitu zpracování procesoru, aktivitu vykreslování GPU a aktivitu kopírování GPU. Tyto časové osy jsou rozdělené světle šedými svislými pruhy, které označují svislou synchronizaci (vsync) displeje. Frekvence pruhů odpovídá obnovovací frekvenci jednoho z zobrazení (vybráno pomocí rozevíracího seznamu Zobrazení), ze kterých se shromáždila data o využití GPU.
Vzhledem k tomu, že zobrazení může mít vyšší obnovovací frekvenci než cíl výkonu vaší aplikace, nemusí mezi vsynchronizaci a snímkovou rychlostí, které má aplikace dosáhnout, vztah 1:1. Aby aplikace splňovala cíl výkonu, musí dokončit veškeré zpracování, provést vykreslování a provést volání s cílovou Present() snímkovou rychlostí. Vykreslený snímek se ale zobrazí až po dalším Present() vsynchronizaci.
Dolní část sestavy Využití GPU obsahuje seznam grafických událostí, ke kterým došlo během časového období sestavy. Když vyberete událost, zobrazí se na odpovídajících událostech na příslušných časových osách značka. Obvykle jedna událost ve vlákně procesoru ukazuje volání rozhraní API, zatímco jiná událost na jedné z časových os GPU se zobrazí, když GPU úlohu dokončil. Podobně když vyberete událost na časové ose, sestava zvýrazní odpovídající událost grafiky v dolní části sestavy.
Když se z časových os v horní části sestavy oddalíte, zobrazí se jenom ty časově nejnáročnější události. Pokud chcete zobrazit události, které mají kratší dobu trvání, přibližte časové osy stisknutím kláves Ctrl+wheel na odkazující zařízení nebo pomocí ovládacího prvku škálování v levém dolním rohu horního panelu. Můžete také přetáhnout obsah panelu časové osy a procházet zaznamenané události.
Pokud chcete zjistit, co hledáte, vyfiltrujte sestavu využití GPU na základě názvů procesů, ID vláken a názvu události. Kromě toho můžete zvolit, která obnovovací frekvence zobrazení určuje řádky vysnc. Pokud vaše aplikace používá rozhraní ID3DUserDefinedAnnotation k seskupení příkazů pro vykreslování, můžete události řadit hierarchicky.
Tady jsou další podrobnosti:
| Ovládací prvek filtru | Popis |
|---|---|
| Proces | Název procesu, který vás zajímá. Tento rozevírací seznam obsahuje všechny procesy, které používaly GPU během relace diagnostiky. Barva přidružená k procesu je barva aktivity vlákna na časových osách. |
| Vlákno | ID vlákna, které vás zajímá. V aplikaci s více vlákny vám tyto informace můžou pomoct izolovat konkrétní vlákna, která patří do procesu, který vás zajímá. Události přidružené k vybranému vláknu jsou na každé časové ose zvýrazněné. |
| Displej | Číslo zobrazení, jehož obnovovací frekvence se zobrazuje. Některé ovladače je možné nakonfigurovat tak, aby prezentovali několik fyzických zobrazení jako jeden velký virtuální displej. Může se zobrazit jenom jedno zobrazení, i když je na počítači připojeno více zobrazení. |
| Filtr | Klíčová slova, která vás zajímají. Události v dolní části sestavy budou zahrnovat pouze ty, které odpovídají klíčovému slovu, a to zcela nebo částečně. Více klíčových slov můžete zadat tak, že je oddělíte středníkem (;). |
| Řazení hierarchie | Zaškrtávací políčko, které určuje, jestli jsou zachovány nebo ignorovány hierarchie událostí definované prostřednictvím uživatelských značek. |
V seznamu událostí v dolní části sestavy Využití GPU se zobrazí podrobnosti o každé události.
| Sloupec | Popis |
|---|---|
| Název události | Název události grafiky. Událost obvykle odpovídá události na časové ose vlákna procesoru a události časové osy GPU. Pokud využití GPU nedokáže určit název události, nemusí být názvy událostí bez atributu. Další informace najdete v poznámce následující za touto tabulkou. |
| Cpu Start (ns) | Čas, kdy byla událost iniciována na procesoru voláním rozhraní Api Direct3D. Čas se měří v nanosekundách, relativně ke spuštění aplikace. |
| Spuštění GPU (NS) | Čas zahájení události v GPU Čas se měří v nanosekundách, relativně ke spuštění aplikace. |
| Trvání GPU (NS) | Čas v nanosekundách, který trvalo dokončení události na GPU. |
| Název procesu | Název aplikace, ze které byla událost přijata. |
| ID vlákna | ID vlákna, ze kterého byla událost přijata. |
Důležité
Pokud grafické procesory nebo ovladače nepodporují potřebné funkce instrumentace, zobrazí se všechny události jako neatributované. Pokud se setkáte s tímto problémem, aktualizujte ovladač GPU a zkuste to znovu. Další informace najdete v tématu Podpora hardwaru a ovladačů na konci tohoto dokumentu.
Nastavení využití GPU
Nástroj využití GPU můžete nakonfigurovat tak, aby odložil shromažďování informací o profilaci, a ne začít shromažďovat informace ihned po spuštění aplikace. Vzhledem k tomu, že velikost informací profilace může být významná, tato akce je užitečná, když víte, že zpomalení výkonu vaší aplikace se nezobrazí až později.
Odložení profilování od začátku aplikace:
V hlavní nabídce zvolte možnost ladění > výkonu a diagnostiky (nebo na klávesnici stiskněte klávesy Alt + F2).
V centru pro výkon a diagnostiku vedle možnosti použití GPU vyberte odkaz Nastavení .
V části Konfigurace profilace GPU na stránce Obecné vlastnosti zrušte zaškrtnutí políčka zahájit profilování při spuštění aplikace a odložit profilaci.

Důležité
V tuto chvíli nemůžete odložit profilaci pro aplikace Direct3D 12.
Po spuštění aplikace v nástroji využití GPU bude v dolní části okna nástroje využití GPU k dispozici další odkaz. Pokud chcete začít shromažďovat informace o profilování, klikněte na odkaz Spustit v části začít shromažďovat další podrobnou datovou zprávu o využití GPU .
Podpora hardwaru a ovladačů
Podporuje se následující hardware a ovladače GPU:
| Dodavatel | Popis GPU | Vyžaduje se verze ovladače. |
|---|---|---|
| Intel® | 4. generace procesorů Intel® Core (' Haswell ') – Intel® HD Graphics (GT1) – Intel® HD Graphics 4200 (GT2) – Intel® HD Graphics 4400 (GT2) – Intel® HD Graphics 4600 (GT2) – Intel® HD Graphics P4600 (GT2) – Intel® HD Graphics P4700 (GT2) – Intel® HD Graphics 5000 (GT3) – Intel® Iris™ Graphics 5100 (GT3) – Intel® Iris™ Pro graphics 5200 (GT3e) |
(použít nejnovější ovladače) |
| ® AMD | Většina od procesorů AMD Radeon™ HD 7000-Series (nezahrnuje AMD Radeon™ HD 7350-7670) AMD Radeon™ GPU, AMD FirePro™ GPU a akcelerátory GPU AMD FirePro s architekturou GCN (Graphics Next) AMD® E-series a AMD a-Series akcelerované výpočetní jednotky (APUs) s architekturou GCN (Graphics Core Next) (Kaveri, Kabini, Temash, Beema, Mullins,) |
14,7 RC3 nebo novější |
| ® NVIDIA | Většina od® NVIDIA GeForce® 400-Series NVIDIA® GeForce® GPU, NVIDIA Quadro® GPU a NVIDIA® Tesla™ akcelerátory GPU, které nabízí Fermi™, Kepler™ nebo Maxwell™ Architecture |
343,37 nebo novější |
Konfigurace s více grafickými procesory, například NVIDIA® SLI™ a AMD Crossfire™, nejsou v tuto chvíli podporované. Podporují se nastavení hybridní grafiky, jako je například NVIDIA® Optimus™ a AMD Enduro™.