Diagnostika grafiky sady Visual StudioVisual Studio Graphics Diagnostics

Note

Tento článek se týká sady Visual Studio 2015.This article applies to Visual Studio 2015. Pokud hledáte nejnovější dokumentaci k sadě Visual Studio, použijte selektor verzí v levém horním rohu.If you're looking for the latest Visual Studio documentation, use the version selector at the top left. Doporučujeme upgradovat na Visual Studio 2019.We recommend upgrading to Visual Studio 2019. Stáhnout semDownload it here

Visual Studiodiagnostiky grafiky je sada nástrojů pro nahrávání a pak analýzu problémů vykreslování a výkon v aplikacích rozhraní Direct3D.Visual StudioGraphics Diagnostics is a set of tools for recording and then analyzing rendering and performance problems in Direct3D apps. Diagnostika grafiky je použít v aplikacích, které běží místně v počítači Windows v emulátoru zařízení Windows nebo na vzdálený počítač nebo zařízení.Graphics Diagnostics can be used on apps that are running locally on your Windows PC, in a Windows device emulator, or on a remote PC or device.

Pracovní postup diagnostiky grafiky začíná zachytáváním záznam o tom, jak vaše aplikace používá rozhraní Direct3D – live během jejího běhu – tak, aby jeho chování mohou být analyzovány okamžitě, sdílet nebo uložit pro pozdější.The Graphics Diagnostics workflow begins by capturing a record of how your app uses Direct3D—live, as it runs—so that its behavior can be analyzed immediately, shared, or saved for later. Relace zachycení lze spustit a řídit ručně ze sady Visual Studio nebo pomocí nástroje pro zachycení příkazového řádku DXCap. exe.Capture sessions can be initiated and controlled manually from Visual Studio or with the command-line capture tool dxcap.exe. Relace zachycení se taky dají iniciovat a řídit programově pomocí rozhraní API pro zachycení Diagnostika grafiky.Capture sessions can also be initiated and controlled programmatically by using the Graphics Diagnostics capture APIs.

Po zachycení relace byla zaznamenána jeho obsah je možné přehrát pomocí sady Visual Studio analyzátoru grafiky sady kdykoli znovu vytvořit zachycené snímky pomocí přesně stejné prostředky a vykreslování příkazy aplikace používá.After a capture session has been recorded its contents can be played back by Visual Studio Graphics Analyzer at any time, recreating the captured frames by using the exact same resources and rendering commands the app used. Pak můžete pomocí nástrojů, které jsou k dispozici v okně analyzátor grafiky, analyzovat všechny zachycené snímky podrobněji.Then, using the tools provided in the Graphics Analyzer window, any of the captured frames can be analyzed in detail. Tyto nástroje slouží ke kontrole jakékoli volání rozhraní API Direct3D, prostředků, objekt stavu kanálu, fázi zřetězení nebo dokonce celou historii všech pixel v zachyceném snímku.These tools can be used to examine any Direct3D API call, resource, pipeline state object, pipeline stage, or even the complete history of any pixel in a captured frame. Pomocí těchto nástrojů ve vzájemné součinnosti problém vykreslování se dají zkoumat intuitivně, počínaje jak se zobrazuje v zachyceném snímku a jeho hlavní příčinou aplikace zdrojového kódu, shadery nebo grafické prostředky podrobnostem.By using these tools in concert, a rendering problem can be explored intuitively, starting from how it appears in a captured frame and drilling down to its root cause in the app's source code, shaders, or graphics assets.

Chcete-li diagnostikovat problémy s výkonem, mohou být analyzovány zachyceného snímku s použitím analýza snímků nástroj.To diagnose performance problems, a captured frame can be analyzed by using the Frame Analysis tool. Tento nástroj vám umožní prozkoumat potenciální optimalizací výkonu tak, že automaticky mění způsob, jak aplikace používá rozhraní Direct3D a srovnávací testy všechny varianty pro vás.This tool explores potential performance optimizations by automatically changing the way the app uses Direct3D and benchmarking all the variations for you. V minulosti, možná jste udělali a ručně jednoduše benchmarked změny tohoto typu se najít ty, které provedli rozdíl na více instancí.In the past, you might have made and benchmarked these kinds of changes manually just to find out which ones made a difference. S analýzu snímků stačí provést změny, které už znáte, se vyplatí.With Frame Analysis, you only need to make the changes you already know will pay off.

Diagnostika grafiky pomáhá aplikacím Direct3D bohatou grafikou vypadat a spustit co nejlépe.Graphics Diagnostics helps your graphically-rich Direct3D app look and run its best.

I nadále přehled Další informace o co Diagnostika grafiky sady Visual Studio nabízí.Continue to Overview to learn more about what Visual Studio Graphics Diagnostics offers.

V tomto oddíluIn This Section

PřehledOverview
Představuje pracovní postup diagnostiky grafiky a nástroje.Introduces the Graphics Diagnostics workflow and tools.

ZačínámeGetting Started
V této části se dozvíte, jak nainstalovat Diagnostika grafiky sady Visual Studio a jak můžete začít s vaší aplikací Direct3D použití diagnostiky grafiky.In this section, you'll learn how to install Visual Studio Graphics Diagnostics and how to start using Graphics Diagnostics with your Direct3D app.

Zaznamenání grafických informacíCapturing Graphics Information
Chcete-li diagnostiku grafiky použít k prozkoumání problému vykreslování ve vaší aplikaci, první záznam informace o tom, jak aplikace používá rozhraní DirectX.To use Graphics Diagnostics to examine a rendering problem in your app, you first record information about how the app uses DirectX. Během relace nahrávání jako vaše aplikace běží za normálních okolností je zachycení (to znamená, vyberte) rámce, které vás zajímají.During the recording session, as your app runs normally, you capture (that is, select) the frames that you're interested in. Zachycení obsahují podrobné informace o způsobu vykreslení rámce.The captures contain detailed information about how the frames are rendered. Součástí zaznamenaných informací můžete uložit jako graphics log dokument dále prozkoumat nebo sdílet s ostatními členy týmu.You can save the captured information as a graphics log document to examine later or share with other members of your team.

Využití GPUGPU Usage
K použití diagnostiky grafiky, chcete-li Profilovat aplikaci, použijte nástroj využití GPU.To use Graphics Diagnostics to profile your app, use the GPU Usage tool. Využití GPU je možné společně s další nástroje pro profilaci, jako je například využití procesoru, korelovat CPU a GPU aktivita, která může přispět k problémy s výkonem ve vaší aplikaci.GPU usage can be used in concert with other profiling tools, such as CPU Usage, to correlate CPU and GPU activity that might contribute to performance problems in your app.

Dokument grafických protokolůGraphics Log Document
Spustit posouzení protokol grafiky nahrané, použijete pro výběr zachyceného snímku okno dokumentu protokolu grafiky – nebo dokonce konkrétní pixel – tak, aby můžete prozkoumat podrobněji události (to znamená, rozhraní DirectX volání rozhraní API), které by ovlivnily ho .To start the examination of a recorded graphics log, you use the Graphics Log document window to select a captured frame—or even a specific pixel—so that you can examine in detail the events (that is, the DirectX API calls) that affect it.

Analýza snímkůFrame Analysis
Po vybrání rámce, použijete k prozkoumání a vyladit výkon vykreslování analýza grafických snímků.After you select a frame, you use Graphics Frame Analysis to examine and tune your rendering performance.

Seznam událostíEvent List
Po vybrání rámce, můžete použít seznam událostí grafiky prozkoumat jeho události a určit, zda se vztahují k problému vykreslování.After you select a frame, you use the Graphics Event List to examine its events to determine whether they are related to the rendering problem.

StavState
Okno stavu vám pomůže pochopit stav grafiky, která je aktivní v okamžiku aktuální událost.The State window helps you understand the graphics state that is active at the time of the current event.

Fáze zřetězeníPipeline Stages
V fáze zřetězení grafiky okně byste prozkoumat, jak aktuálně vybrané události je zpracována každé fáze zřetězení grafiky, aby mohli identifikovat, kde se nejprve zobrazí problému vykreslování.In the Graphics Pipeline Stages window, you investigate how the currently selected event is processed by each stage of the graphics pipeline so that you can identify where the rendering problem first appears. Zkoumání fáze zřetězení je zvláště užitečné, pokud objekt nezobrazí z důvodu nesprávné transformace, nebo pokud jeden z těchto fází vytvoří výstup, který neodpovídá co do další fáze očekává, že.Examining the pipeline stages is particularly helpful when an object doesn't appear because of an incorrect transformation, or when one of the stages produces output that doesn't match what the next stage expects.

Zásobník volání událostíEvent Call Stack
Můžete použít zásobník volání událostí grafiky prozkoumat zásobníku volání aktuálně vybrané události, takže můžete přejít na kód aplikace, které se vztahují k problému vykreslování.You use the Graphics Event Call Stack to examine the call stack of the currently selected event so that you can navigate to app code that's related to the rendering problem.

Historie pixeluPixel History
S použitím historie pixelů grafiky okno analyzovat, jak je aktuálně vybraný pixel ovlivněna události, které k nim, identifikujete událost nebo kombinaci těchto událostí, které způsobí určité druhy problémů s vykreslováním.By using the Graphics Pixel History window to analyze how the currently selected pixel is affected by the events that influenced it, you can identify the event or combination of events that cause certain kinds of rendering problems. Historie pixelů je zvláště užitečný, pokud objekt je vykreslen nesprávně, protože výstup pixel shaderu je buď nesprávný nebo byl sloučen nesprávně s Snímková vyrovnávací paměť, nebo objekt nemá dokonce zdát, že vzhledem k tomu, že byly vyřazeny jeho pixelů dřív, než dorazí vyrovnávací paměť snímku.The pixel history is particularly helpful when an object is rendered incorrectly because pixel shader output is either incorrect or has been combined incorrectly with the frame buffer, or when an object doesn't even appear because its pixels have been discarded before they reach the frame buffer.

Tabulka objektůObject Table
Můžete použít Graphics Object Table prozkoumat vlastnosti a obsah konkrétní objekty Direct3D a zdroje, které platí pro aktuálně vybrané události.You use the Graphics Object Table to examine the properties and contents of specific Direct3D objects and resources that are in effect for the currently selected event. Tabulka objektů můžete určit, která je aktivní během události kontextu zařízení grafiky a zkontrolovat obsah grafické prostředky jako vyrovnávací paměť konstant, vyrovnávací paměti vrcholů a textury.The object table can help you determine the graphics device context that's active during an event, and examine the contents of graphics resources such as constant buffers, vertex buffers, and textures.

Ladicí program HLSLHLSL Debugger
Prozkoumat, jak kód shaderu pro aktuálně vybrané události a grafickém kanálu fáze se chová, můžete použít ladicí program HLSL krokovat kód, zkontrolovat obsah proměnné a provádět další typické úlohy ladění.To examine how the shader code for the currently selected event and graphics pipeline stage behaves, you use the HLSL Debugger to step through code, examine the contents of variables, and perform other typical debugging tasks. Ladicí program HLSL můžete také použít k prozkoumání výpočetní kód shaderu, bez ohledu na to, jestli výsledky jsou dále zpracovávat v zřetězení grafiky nebo jsou jen pro čtení zpět o vaši aplikaci.You can also use the HLSL debugger to examine compute shader code, regardless of whether the results are further processed by the graphics pipeline or are just read back by your app.

Nástroj příkazového řádku pro zachytáváníCommand-Line Capture Tool
Použijte nástroj příkazového řádku pro zachytávání k rychlému zachytávání a přehrávání grafické informace bez použití sady Visual Studio nebo zachytávání prostřednictvím kódu programu.Use the command-line capture tool to quickly capture and play back graphics information without using Visual Studio or programmatic capture. Konkrétně můžete použít nástroj příkazového řádku pro zachytávání pro službu automation, nebo v testovacím prostředí.In particular, you can use the command-line capture tool for automation, or in a test environment.

PříkladyExamples
Několik příklady ukazují, jak pomocí nástrojů diagnostiky grafiky společně diagnostikovat různé druhy problémů s vykreslováním.Several examples demonstrate how to use the Graphics Diagnostics tools together to diagnose different kinds of rendering problems.

NázevTitle PopisDescription
Ladění v sadě Visual StudioDebugging in Visual Studio Představuje funkce ladění v Visual StudioVisual Studio.Introduces the debugging functionality in Visual StudioVisual Studio.
Grafika DirectX a hraní herDirectX Graphics and Gaming Obsahuje články, které popisují technologií grafiky DirectX.Provides articles that discuss DirectX graphics technologies.