연습: 프로그래밍 방식으로 그래픽 정보 캡처

이 연습에서는 Visual Studio 그래픽 진단을 사용하여 Direct3D 응용 프로그램에서 프로그래밍 방식으로 그래픽 정보를 캡처하는 방법을 설명합니다.

이 연습에서는 다음과 같은 작업을 수행합니다.

  • 프로그램 방식 캡처를 사용하도록 컴퓨터를 준비합니다.

  • 프로그램 방식 캡처를 사용하도록 응용 프로그램을 준비합니다.

  • 그래픽 로그 파일의 이름과 위치 구성

  • CaptureCurrentFrame API 사용

프로그램 방식 캡처를 사용하도록 컴퓨터 준비

프로그램 방식 캡처 API는 캡처 기능을 제공하기 위해 Visual Studio용 원격 도구를 사용합니다.응용 프로그램을 실행할 컴퓨터에는 로컬 컴퓨터에서 프로그램 방식 캡처를 사용하는 경우라도 원격 도구가 설치되어 있어야 합니다.Visual Studio는 로컬 컴퓨터에서 프로그래밍 방식으로 캡처를 수행할 때 실행할 필요가 없습니다.

컴퓨터에서 실행되는 응용 프로그램에서 원격 캡처 API를 사용하려면 먼저 해당 컴퓨터에 Visual Studio용 원격 도구를 설치해야 합니다.다른 버전의 원격 도구는 다른 하드웨어 플랫폼을 지원합니다.원격 도구를 설치하는 방법에 대한 내용은 Microsoft 다운로드 페이지의 원격 도구 다운로드 페이지를 참조하십시오.

또는 Visual Studio는 필요한 구성 요소를 설치하여 32비트 응용 프로그램을 위한 원격 캡처를 수행합니다.

[!참고]

Visual Studio 포함하여 대부분의 Windows 데스크톱 응용 프로그램이 ARM 장치용 Windows 8에서 지원되지 않기 때문에 프로그래밍 캡처 API와 함께 Visual Studio에 원격 도구를 사용하는 것이 ARM 장치에서 그래픽 진단을 캡처하는 유일한 방법입니다.

프로그램 방식 캡처를 사용하도록 응용 프로그램 준비

그래픽 진단 도구를 사용하려면 먼저 종속된 그래픽 정보를 캡처해야 합니다.CaptureCurrentFrame API를 사용하여 정보를 프로그램 방식으로 캡처할 수 있습니다.

그래픽 정보를 프로그램 방식으로 캡처하도록 응용 프로그램을 준비하려면

  1. vsgcapture.h 헤더가 응용 프로그램을 위한 소스 코드에 포함되는지 확인합니다.하나의 위치에서 예를 들어, 프로그래밍 캡처 API를 호출하는 소스 코드 또는 여러 소스에서 코드 파일에서 API를 호출하는 미리 컴파일된 헤더 파일에 포함될 수 있습니다.

  2. 앱의 소스 코드에서 현재 프레임의 나머지 부분을 캡처할 때마다 g_pVsgDbg->CaptureCurrentFrame()을 호출합니다.이 메서드는 매개 변수를 취하지 않고 값을 반환하지 않습니다.

그래픽 로그 파일의 이름과 위치 구성

그래픽 로그는 DONT_SAVE_VSGLOG_TO_TEMP 및 VSG_DEFAULT_RUN_FILENAME 매크로에 의해 정의된 위치에 만들어집니다.

그래픽 로그 파일의 이름과 위치를 구성하려면

  • 그래픽 로그가 임시 디렉터리에 기록되는 것을 방지하려면 #include <vsgcapture.h> 줄 앞에 이것을 추가합니다.

    #define DONT_SAVE_VSGLOG_TO_TEMP
    

    작업 디렉터리에 상대적인 위치 또는 VSG_DEFAULT_RUN_FILENAME의 정의가 절대 경로인 경우 절대 경로에 그래픽 로그를 쓰도록 이 값을 정의할 수 있습니다.

  • 그래픽 로그를 다른 위치에 저장 하거나 다른 파일 이름을 지정하려면 #include <vsgcapture.h> 둘 앞에 이것을 추가합니다.

    #define VSG_DEFAULT_RUN_FILENAME <filename>
    

    이 단계를 수행하지 않는 경우 파일 이름은 default.vsglog입니다.만약 DONT_SAVE_VSGLOG_TO_TEMP를 정의하지 않았다면 파일의 위치는 임시 디렉터리를 기준으로 합니다. 만약 정의하였다면 현재 작업 디렉터리나 지정된 절대 파일 이름의 다른 위치를 기준으로 합니다.

에 대 한 Windows 스토어 응용 프로그램, 임시 디렉터리 위치를 각 사용자와 응용 프로그램에 관련 된 및 C:\users\ 같은 위치에서 일반적으로 찾을 수 있습니다사용자 이름\AppData\Local\Packages\패키지 제품군 이름\TempState\.데스크톱 응용 프로그램에서 임시 디렉터리 위치는 각 사용자마다 지정되며, 기본적으로 C:\Users\username\AppData\Local\Temp\의 경로에 있습니다.

[!참고]

특정 위치에 쓰려면 해당 위치에 쓰기 권한이 있어야 합니다. 그렇지 않으면 오류가 발생합니다.Windows 스토어 응용 프로그램은 데이터를 쓸 수 있고 특정 위치에 쓰기 위해서는 추가 구성이 필요할 수도 있는 데스크톱 응용 프로그램보다 더 제한됩니다.

그래픽 정보 캡처

프로그래밍 방식으로 캡처하기 위해 앱을 준비하고 그래픽 로그 파일의 위치와 이름을 필요에 따라 구성한 후 앱을 빌드한 다음 데이터를 캡처하도록 실행하거나 디버그합니다. 프로그래밍 캡처 API를 사용하는 경우 Visual Studio에서 그래픽 진단을 시작하지 않습니다.그래픽 로그는 지정된 위치에 작성됩니다.이 버전의 로그를 유지하려면 다른 위치로 이동합니다. 그렇지 않으면, 응용 프로그램을 다시 실행할 때 덮어씁니다.

팁

그래픽 정보를 수동으로 캡처하면서 포커스가 있는 응용 프로그램에서 Print Screen을 눌러 프로그램 방식으로 캡처할 수 있습니다.이를 사용하여 프로그램 방식 캡처 API를 사용하여 캡처하지 않은 추가 그래픽 정보를 캡처할 수 있습니다.

다음 단계

이 연습에서는 프로그램 방식으로 그래픽 정보를 캡처하는 방법을 보여줍니다.다음 단계로 이 옵션을 고려하십시오.

  • 그래픽 진단 도구를 사용하여 캡처된 그래픽 정보를 분석하는 방법을 알아봅니다.자세한 내용은 그래픽 진단를 참조하십시오.

참고 항목

작업

연습: 수동으로 그래픽 정보 캡처

개념

그래픽 정보 캡처