Share via


DirectX 그래픽 디버깅

Visual Studio에서는 DirectX 게임 또는 앱에서 발생한 그래픽 오류를 디버깅할 수 있습니다. 그래픽 진단 도구를 사용하면 특정 렌더링 오류를 식별하고 오류에 영향을 미칠 수 있는 요소에 대한 집중 검사를 수행할 수 있습니다.

단원 내용

  • 그래픽 진단 개요
    그래픽 진단 워크플로 및 도구에 대해 소개합니다.

  • 그래픽 정보 캡처
    그래픽 진단을 사용하여 앱의 렌더링 문제를 검사하려면 먼저 앱에서 DirectX를 사용하는 방식에 대한 정보를 기록합니다. 기록 세션 중에는 정상적으로 앱이 실행될 때 관심 있는 프레임을 캡처, 즉 선택합니다. 캡처에는 프레임이 렌더링되는 방법에 대한 자세한 정보가 포함됩니다. 나중에 검사하거나 팀의 다른 멤버와 공유할 수 있도록 캡처한 정보를 그래픽 로그 문서로 저장할 수 있습니다.

  • 그래픽 로그 문서
    기록된 그래픽 로그 검사를 시작하려면 그래픽 로그 문서 창에서 캡처된 프레임 또는 특정 픽셀을 선택합니다. 따라서 영향을 미친 이벤트(즉 DirectX API 호출)를 자세히 검사할 수 있습니다.

  • 그래픽 프레임 분석
    프레임을 선택한 후에는 그래픽 프레임 분석을 사용하여 렌더링 성능을 검사 및 조정합니다.

  • 그래픽 이벤트 목록
    프레임을 선택한 후에는 그래픽 이벤트 목록을 사용하여 이벤트를 검사해 해당 이벤트가 렌더링 문제와 관련이 있는지 확인합니다.

  • 그래픽 파이프라인 단계
    그래픽 파이프라인 단계 창에서는 그래픽 파이프라인의 각 단계에서 현재 선택한 이벤트를 처리하는 방식을 조사합니다. 따라서 렌더링 문제가 처음으로 나타난 부분을 파악할 수 있습니다. 잘못된 변환으로 인해 개체가 나타나지 않는 경우 또는 단계 중 하나에서 다음 단계에서 예상하는 것과 일치하지 않는 출력을 생성하는 경우 파이프라인 단계 검사가 특히 유용합니다.

  • 그래픽 이벤트 호출 스택
    그래픽 이벤트 호출 스택을 사용하여 현재 선택한 이벤트의 호출 스택을 검사합니다. 따라서 렌더링 문제와 관련이 있는 앱 코드로 이동할 수 있습니다.

  • 그래픽 픽셀 기록
    그래픽 픽셀 기록 창을 사용하여 현재 선택한 픽셀이 자신에게 영향을 준 이벤트의 영향을 어떻게 받았는지 분석하면 특정 종류의 렌더링 문제를 일으킨 이벤트 또는 이벤트 조합을 파악할 수 있습니다. 픽셀 셰이더 출력이 잘못되었거나 프레임 버퍼와 잘못 결합되어서 개체가 잘못 렌더링된 경우 또는 픽셀이 프레임 버퍼에 도달하기 전에 버려져 개체가 나타나지 못한 경우 픽셀 기록은 특히 유용합니다.

  • 그래픽 개체 테이블
    그래픽 개체 테이블을 사용하여 현재 선택한 이벤트에 대해 적용 중인 특정 Direct3D 개체 및 리소스의 속성과 콘텐츠를 검사합니다. 개체 테이블을 사용하면 이벤트 중 활성 상태인 그래픽 장치 컨텍스트를 확인하고 상수 버퍼, 꼭짓점 버퍼 및 질감과 같은 그래픽 리소스의 콘텐츠를 검사할 수 있습니다.

  • HLSL 디버거
    현재 선택한 이벤트와 그래픽 파이프라인 단계의 셰이더 코드가 작동하는 방식을 검사하려면 HLSL 디버거를 사용하여 코드를 단계별로 실행하고 변수의 내용을 검토하며 일반적인 다른 디버깅 작업을 수행합니다. 그래픽 파이프라인이 결과를 추가로 처리하는지 또는 앱에서 결과를 다시 읽는지와 상관없이 HLSL 디버거를 사용하여 계산 셰이더 코드를 검사할 수 있습니다.

  • 명령줄 캡처 도구
    명령줄 캡처 도구를 통해 Visual Studio 또는 프로그래밍 방식 캡처 기능을 사용하지 않고도 그래픽 정보를 빠르게 캡처하고 재생할 수 있습니다. 특히 자동화 수행 시 또는 테스트 환경에서 명령줄 캡처 도구를 사용할 수 있습니다.

  • 그래픽 진단 예제
    여러 예제가 그래픽 진단 도구를 함께 사용하여 다양한 종류의 렌더링 문제를 진단하는 방법을 보여줍니다.

관련 단원

제목

설명

Visual Studio의 디버깅

Visual Studio의 디버깅 기능에 대해 소개합니다.

DirectX 그래픽 및 게임

DirectX 그래픽 기술에 대해 설명하는 문서를 제공합니다.