Udostępnij za pośrednictwem


Przechwytywanie informacji graficznych

Możesz przechwytywać grafiki informacje z aplikacji opartych na technologii DirectX tak, aby można było używać Visual Studio Narzędzia diagnostyczne grafiki do diagnozowania problemów z renderowaniem.

Przechwytywanie metod

W Windows 8,1, środowisko wykonawcze DirectX 11.2 przechwytywać informacji grafiki wewnętrznie w imieniu debugowanie narzędzi, takich jak diagnostyki grafiki — jest to nazywane niezawodne Przechwytywanie.Zanim ta obsługa został dodany do środowisko wykonawcze DirectX, informacje grafiki przechwycone przez przechwycenia pewne wywołania funkcji DirectX do rekordu argumenty i inne informacje przed przesłaniem wywołania metody DirectX ukończenie — ta metoda jest wywoływana starszego przechwytywania.

Ponieważ środowisko wykonawcze DirectX ma wyłączną odpowiedzialność do zapisywania informacji grafiki w Windows 8,1, nie istnieje potrzeba do aktualizacji starsza wersja przechwytywania do obsługi DirectX 11.2 i dlatego starsze przechwytywania jest przestarzały.Jednakże ponieważ środowisko wykonawcze DirectX 11.2 nie obsługuje wersji systemu Windows, które znajdują się przed Windows 8,1, Visual Studio 2013 nadal obsługuje starszego Przechwytywanie zawartości dla aplikacji ukierunkowanego na Windows 8 i Windows 7.

Obie metody zapisania informacji podobne i nie należy zmieniać sposób przechwytywanie informacji grafiki lub użyj narzędzia diagnostyczne grafiki.

Niezawodne Przechwytywanie

Niezawodne Przechwytywanie obsługuje Visual Studio 2013 diagnostyki grafiki w Windows 8,1, Windows RT 8.1, i systemu Windows Phone 8.1.Obsługuje DirectX 10.0 za pomocą programu DirectX 11.2 i przechwytywać grafiki informacji na temat nowych funkcji Direct3D 11.2 — na przykład rozmieszczany zasobów.Jednak w pełni nie obsługuje wszystkich funkcji Direct3D 11.2 — na przykład, nie można debugować cieniowania HLSL, który został utworzony przy użyciu modułu HLSL połączeń funkcji.Niezawodne Przechwytywanie używa przechwytywania nowy interfejs API do obsługi jego scenariuszy przechwytywania programistycznych.

Przechwytywanie starszej wersji

Obsługuje przechwytywanie starszego Visual Studio 2013 i Visual Studio 2012 diagnostyki grafiki w Windows 8, Windows RT 8, i Windows 7.Program obsługuje DirectX 10.0 za pomocą programu DirectX 11.1.Przechwytywanie starsza wersja nie obsługuje żadnych funkcji Direct3D 11.2 i jest przestarzały oprócz scenariusze, w których niezawodne Przechwytywanie nie jest dostępna.Starsza wersja przechwytywania używa przechwytywania interfejsu API zdefiniowany w vsgcapture.h pliku nagłówka do obsługi jego scenariuszy przechwytywania programistycznych.Tego rodzaju przechwytywania programowych również jest przestarzały oprócz scenariusze, w których niezawodne Przechwytywanie jest niedostępny.

Przechwytywanie informacji graficznych

Przechwytywanie informacji graficznych jest procesem dwuetapowym.Po pierwsze, uruchom aplikację w obszarze Diagnostyka grafiki, a następnie określ jedną lub więcej ramek, z których zostaną przechwycone szczegółowe informacje.

Aby uruchomić aplikację w obszarze Diagnostyka grafiki

  • Na pasku menu wybierz polecenie Debugowanie, grafiki, Rozpocznij diagnostykę.(Klawiatura: naciśnij klawisze Alt+F5)

  • Na diagnostyki grafiki narzędzi wybierz Rozpocznij diagnostykę przycisku.

Gdy aplikacja jest uruchomiona w ramach diagnostyki grafiki, pewne rodzaje informacji graficznych są cały czas przechwytywane; obejmuje to konfigurację urządzenia, tworzenie łańcucha wymiany elementów, tworzenie grafiki, obiektów i zasobów oraz inne ważne wydarzenia, które wpływają na więcej niż jedną klatkę.W tym samym czasie można przechwycić szczegółowe informacje na temat konkretnych klatek. Dotyczy to wywołania rysowań i wysyłań cieniowania obliczenia, wraz z obiektami i zasobami Direct3D, które je obsługują.

Aby przechwycić ramkę

  • W programie Visual Studio na diagnostyki grafiki narzędzi wybierz przechwycenia ramki przyciskIkona przycisku przechwytywania grafiki.

  • Na klawiaturze naciśnij klawisz Print Screen.

    [!UWAGA]

    Gdy aplikacja jest uruchomiona w ramach diagnostyki grafiki, klucz ekranu Drukuj tylko może służyć do przechwycenia ramki informacji grafiki, a nie wykonuje jego normalne działanie.To pozostaje, dopóki nie zatrzymasz przechwytywania informacji graficznych — zwykle przez zatrzymanie debugowania lub normalne wyjście z aplikacji — nawet wtedy, gdy fokus jest na innej aplikacji.

  • W programie Visual Studio 2013 Aktualizacja 3 interfejs do przechwytywania ramek uległ zmianie.W interfejsie przechwytywania Visual Studio została wybrana przechwycenia ramki przycisk znajdujący się sesji diagnostycznej osi czasu, lub wybierz dużą przechwycenia ramki przycisk znajduje się pod klatek na sekundę drogę pływackiej i po prawej stronie klatek wcześniej przechwycona.Przyciski są wyróżnione na poniższy obraz.

    Przechwytywać ramki za pomocą narzędzia GPU użycia.

    Gdy wszystko jest gotowe do zbadania ramki zrobione, uruchom program Visual Studio grafiki Analiza po ramki... łącze powyżej miniatur obrazu, lub kliknij dwukrotnie miniatura.

Tylko całe ramki mogą być przechwytywane, więc po zainicjowaniu przechwytywania tak naprawdę to informacje grafiki z następnej ramki są rejestrowane.Zapisywanie rozpoczyna się natychmiast po zaprezentowaniu klatki, w której rozpocząłeś przechwytywanie, i kończy się po zaprezentowaniu przechwyconej klatki.Możesz przechwycić tyle klatek, ile chcesz, gdy aplikacja jest uruchomiona w ramach diagnostyki grafiki.Jeśli nie przechwycisz żadnej ramki, dziennik grafiki jest odrzucany.

Podczas przechwytywania ramki po raz pierwszy, Visual Studio wyświetla okno dokumentu dziennika grafiki (.vsglog).Jeśli zamkniesz okno dziennika grafiki, zatrzymasz debugowanie lub zamkniesz aplikację, nie będziesz mógł przechwytywać więcej ramek do tego dziennika.Aby przechwycić więcej informacji graficznych, musisz uruchomić aplikację w obszarze Diagnostyka grafiki ponownie, aby rozpocząć nowy dziennik grafiki.

Diagnostyka grafiki Przechwytywanie opcje

Istnieje możliwość skonfigurowania przechwytywanie, aby zbierać stosy wywołań dla wszystkich zdarzeń grafiki lub ograniczony podzbiór, wyłącz przechwytywania HUD i włączyć lub wyłączyć funkcję przechwytywania w trybie zgodności.

Aby skonfigurować opcje przechwytywania diagnostyki grafiki

  1. W pasku menu wybierz Narzędzia Opcje .Pojawi się okno dialogowe Opcje.

  2. Na liście Opcje kategorię po lewej stronie wybierz diagnostyki grafiki, a następnie skonfigurować diagnostyki grafiki opcje.

    • Zbieraj stosy wywołań podczas przechwytywania (umożliwia przechwytywanie wolniej)
      Zaznacz to pole, aby zbierać stosy wywołań.Domyślnie są pobierane stosy wywołań, i znaczników rysuje, wysyłania, obecność i informacji o wydajności jest zaznaczone.Aby przechwytywać stosy wywołań dla wszystkich zdarzeń, wybierz opcję dla wszystkich funkcji.Nie należy zbierać stosy wywołań, usuń zaznaczenie pola wyboru Zadzwoń pod numer umieszcza podczas przechwytywania (umożliwia przechwytywanie wolniej).

    • Wyłącz HUD w grę podczas przechwytywania
      Sprawdź, czy to pole, aby wyłączyć HUD nakładki aplikacji uruchamianych w ramach grafiki diagnostyki zwykle wyświetla.Usuń zaznaczenie go, aby wyświetlić nakładki HUD.

    • Przechwytywanie w trybie zgodności
      Zaznacz to pole ma przechwytywanie informacji grafiki w trybie zgodności.Domyślnym ustawieniem jest przechwytywanie w trybie zgodności.W trybie zgodności raport nie Direct3D, że GPU obsługuje żadnych dodatkowych funkcji poza tymi zdefiniowanymi w poziomie podstawowych funkcji.To zapobiega przechwytywania z za pomocą rozszerzenia specyficzne dla sprzętu GPU jego przechwycone w aplikacji i zapewnia, że można odtwarzać dziennika grafiki przy użyciu dowolnego GPU obsługującego poziom funkcji samego lub nowszy.Usuń zaznaczenie tego pola, aby wyłączyć tryb zgodności; Dzienniki przechwycone za pomocą wyłączona w trybie zgodności, nie będzie można odtwarzać na dowolnym GPU, który nie obsługuje tej samej dodatkowe funkcje, które były używane przez aplikację podczas przechwytywania.

Zdalne przechwytywanie informacji graficznych

Informacje graficzne mogą być przechwytywane z aplikacji, która jest uruchomiona na komputerze lokalnym lub na zdalnym komputerze lub urządzeniu.Przechwytywanie zdalnego jest obsługiwany w przypadku Windows 8,1 maszyn i Windows RT 8.1 urządzenia.Aby przechwytywać informacje graficzne z aplikacji, która jest uruchomiona zdalnie, skonfiguruj projekt dla zdalnego debugowania, a następnie uruchom aplikację w obszarze Diagnostyka grafiki zgodnie z wcześniejszym opisem.Aplikacja jest uruchamiana na komputerze zdalnym, a przechwycone informacje graficzne są rejestrowane na komputerze deweloperskim.

Konfiguracja projektu dla zdalnego debugowania zależy od rodzaju aplikacji, którą projektujesz, i języka programowania, którego używasz.Aby uzyskać informacje o sposobie konfiguracji zdalnego debugowania dla aplikacji ze Sklepu Windows, zobacz Uruchamianie aplikacji do Sklepu Windows na maszynie zdalnej z programu Visual Studio.Aby uzyskać informacje o sposobie konfiguracji zdalnego debugowania w aplikację pulpitu systemu Windows, zobacz Konfiguracja debugowania zdalnego dla projektu Visual Studio.

Później można użyć zdalnego komputera lub urządzenia do odtwarzania informacji graficznych, bez względu na to, gdzie informacje zostały przechwycone.Aby uzyskać więcej informacji, zobacz Porady: zmiana maszyny odtwarzania diagnostyki grafiki.

Przechwytywanie informacji grafiki z wiersza polecenia

Grafiki informacje mogą być przechwytywane z aplikacji za pomocą narzędzia wiersza polecenia.To narzędzie DXCap.exe, można szybko przechwytywanie i odtwarzać informacji grafiki bez użycia programu Visual Studio lub programowych przechwytywania.W szczególności DXCap.exe można użyć do automatyzacji lub w środowisku testowym.Aby uzyskać więcej informacji o DXCap.exe, zobacz Command-Line Capture Tool

Zobacz też

Zadania

Wskazówki: przechwytywanie informacji graficznych