Instruktaż: Przechwytywanie informacji graficznych programowo
W tym instruktażu przedstawiono sposób użycia programu Visual Studio Graphics Diagnostics do programowego przechwytywania informacji graficznych z aplikacji opartej na programie Direct3D.
Ten instruktaż ilustruje następujące zadania:
Przygotowanie komputera użytkownika do korzystania z przechwycenia programowego.
Przygotowanie aplikacji użytkownika do korzystania z przechwycenia programowego.
Konfigurowanie nazwy i lokalizacji pliku dziennika grafiki.
Używanie interfejsu API CaptureCurrentFrame.
Przygotowanie komputera użytkownika do korzystania z przechwycenia programowego
Przechwytywanie programowe API używa narzędzi zdalnych dla do przechwytywania.Na komputerze, na którym będzie uruchomiona aplikacja, należy zainstalować narzędzia dostępu zdalnego, nawet jeśli na komputerze lokalnym są używane narzędzia do przechwytywania programowego.Program Visual Studio nie musi być uruchomiony podczas wykonywania programowego przechwytywania na komputerze lokalnym.
Aby używać interfejsów API zdalnego przechwytywania w aplikacji, która jest uruchomiona na komputerze, najpierw trzeba zainstalować narzędzia zdalne dla programu Visual Studio na tym komputerze.Różne wersje narzędzi zdalnych obsługują różne platformy sprzętowe.Informacje dotyczące sposobu instalowania narzędzi zdalnych — zobacz stronę pobierania narzędzi zdalnych w witrynie pobierania firmy Microsoft w sieci Web.
Alternatywnie program Visual Studio instaluje składniki konieczne do wykonywania zdalnego przechwytywania dla 32-bitowych aplikacji.
[!UWAGA]
Ponieważ większość aplikacji na stacje robocze z systemem Windows — łącznie z Visual Studio — nie jest obsługiwanych w systemie Windows 8 na urządzeniach o architekturze ARM, używanie narzędzi zdalnych dla programu Visual Studio w połączeniu z interfejsami API przechwytywania programowego API jest jedynym sposobem przechwytywania diagnostyki grafiki na urządzeniach ARM.
Przygotowanie aplikacji użytkownika do korzystania z przechwycenia programowego
Aby używać narzędzi programu Graphics Diagnostics, najpierw należy przechwytywać informacje graficzne wymagane do jego działania.Informacje można przechwycić programowo przy użyciu interfejsu CaptureCurrentFrame API.
Aby przygotować swoją aplikację do programowego przechwytywania informacji graficznych
Upewnij się, że nagłówek vsgcapture.h znajduje się w kodzie źródłowym aplikacji.Może być dołączone tylko w jednej lokalizacji, na przykład w pliku kodu źródłowego, gdzie będzie wywołany interfejs API przechwytywania programowego lub we wstępnie skompilowanym pliku nagłówka w celu wywoływania interfejsu API z wielu plików kodu źródłowego.
W kodzie źródłowym aplikacji, gdy chcesz przechwytywać pozostałą część bieżącej klatki, wywołaj funkcję g_pVsgDbg->CaptureCurrentFrame().Ta metoda nie pobiera żadnych parametrów i nie zwraca wartości.
Konfigurowanie nazwy i lokalizacji pliku dziennika grafiki
Dziennik grafiki jest tworzony w lokalizacji, która jest zdefiniowana za pomocą makr DONT_SAVE_VSGLOG_TO_TEMP i VSG_DEFAULT_RUN_FILENAME .
Aby skonfigurować nazwę i lokalizację pliku dziennika grafiki
Aby zapobiec zapisywaniu dziennika grafiki do katalogu tymczasowego, przed wierszem #include <vsgcapture.h> dodaj następującą składnię:
#define DONT_SAVE_VSGLOG_TO_TEMP
Można zdefiniować tę wartość do zapisu dziennika grafiki w lokalizacji względnej wobec katalogu roboczego lub bezwzględnej ścieżki, jeśli definicja VSG_DEFAULT_RUN_FILENAME jest ścieżką bezwzględną.
Aby zapisać dziennik grafiki do innej lokalizacji lub nadać mu inną nazwę pliku, przed wierszem #include <vsgcapture.h> dodaj następującą składnię:
#define VSG_DEFAULT_RUN_FILENAME <filename>
Jeśli nie wykonasz tego kroku, nazwą pliku jest default.vsglog.Jeśli nie zdefiniowano makra DONT_SAVE_VSGLOG_TO_TEMP, lokalizacja pliku jest względna wobec katalogu tymczasowego; w przeciwnym razie jest względna wobec katalogu roboczego lub innej lokalizacji, jeśli podano bezwzględną nazwę pliku.
Dla Windows Store aplikacji, lokalizację katalogu temp jest specyficzna dla każdego użytkownika i aplikacji i zwykle znajduje się w lokalizacji, takich jak C:\users\Nazwa użytkownika\AppData\Local\Packages\Nazwa rodziny pakietu\TempState\.Dla aplikacji na stacje robocze lokalizacja katalogu tymczasowego jest specyficzna dla każdego użytkownika i zazwyczaj znajduje się w lokalizacji takiej jak C:\Users\nazwa_użytkownika\AppData\Local\Temp\.
[!UWAGA]
Aby zapisać w określonej lokalizacji, musisz mieć uprawnienia do zapisu w tej lokalizacji; w przeciwnym razie wystąpi błąd.Należy pamiętać, że aplikacje w Windows Store są bardziej ograniczone niż aplikacje na stacje robocze pod względem tego, gdzie mogą zapisywać dane, i mogą wymagać dodatkowej konfiguracji do zapisu w niektórych miejscach.
Przechwytywanie informacji graficznych
Po przygotowaniu aplikacji do programowego przechwytywania i opcjonalnego skonfigurowania lokalizacji i nazwy pliku dziennika grafiki skompiluj aplikację, a następnie uruchom ją lub debuguj, aby przechwytywać dane; nie uruchamiaj diagnostyki grafiki z programu Visual Studio podczas korzystania z interfejsu API przechwytywania programowego.Dziennik grafiki jest zapisywany w lokalizacji określonej przez użytkownika.Jeśli chcesz zachować tę wersję dziennika, przenieś go do innej lokalizacji; w przeciwnym razie zostanie zastąpiony po uruchomieniu aplikacji.
![]() |
---|
Nadal można przechwycić informacje grafiki ręcznie za pomocą programowego przechwytywania, naciskając klawisz Print Screen z fokusem ustawionym na aplikacji.Umożliwia to przechwytywanie dodatkowych informacji graficznych, które nie są przechwytywane przez API przechwytywania programowego. |
Następne kroki
W tym instruktażu pokazano, jak programowo przechwytywać informacje graficzne.Jako następny krok rozważ tę opcję:
- Poznaj sposób analizowania przechwyconych informacji o grafice za pomocą narzędzi programu Graphics Diagnostics.Zobacz Diagnostyka grafiki.
Zobacz też
Zadania
Instruktaż: Przechwytywanie informacji graficznych ręcznie