다음을 통해 공유


그래픽 렌더링 계층

업데이트: 2007년 11월

렌더링 계층은 WPF 응용 프로그램을 실행하는 장치의 그래픽 하드웨어 기능 및 성능 수준을 정의합니다.

이 항목에는 다음 단원이 포함되어 있습니다.

  • 그래픽 하드웨어
  • 렌더링 계층 정의
  • 기타 리소스
  • 관련 항목

그래픽 하드웨어

렌더링 계층 수준에 가장 큰 영향을 주는 그래픽 하드웨어 기능은 다음과 같습니다.

  • 비디오 RAM 그래픽 하드웨어의 비디오 메모리 용량에 따라 그래픽 합성에 사용할 수 있는 버퍼의 크기와 수가 결정됩니다.

  • 픽셀 셰이더 픽셀 셰이더는 픽셀 단위로 효과를 계산하는 그래픽 처리 기능입니다. 표시된 그래픽의 해상도에 따라 표시 프레임별로 수백만 개의 픽셀을 처리해야 하는 경우도 있습니다.

  • 꼭지점 셰이더 꼭지점 셰이더는 개체의 꼭지점 데이터에 대한 수학 연산을 수행하는 그래픽 처리 기능입니다.

  • 다중 질감 지원 다중 질감 지원은 3D 그래픽 개체에 대한 혼합 연산을 수행하는 동안 두 개 이상의 개별 질감을 적용하는 기능을 의미합니다. 다중 질감 지원의 수준은 그래픽 하드웨어의 다중 질감 단위 수에 따라 결정됩니다.

픽셀 셰이더, 꼭지점 셰이더 및 다중 질감 기능은 특정 DirectX 버전 수준을 정의하는 데 사용되며, 이렇게 정의된 버전 수준은 WPF의 다양한 렌더링 계층을 정의하는 데 사용됩니다.

렌더링 계층 정의

그래픽 하드웨어의 기능에 따라 WPF 응용 프로그램의 렌더링 기능이 결정됩니다. WPF 시스템에서는 다음과 같은 세 가지 렌더링 계층을 정의합니다.

  • 렌더링 계층 0 그래픽 하드웨어 가속이 없습니다. DirectX 버전 수준은 버전 7.0보다 낮습니다.

  • 렌더링 계층 1 부분 그래픽 하드웨어 가속이 있습니다. DirectX 버전 수준은 버전 7.0보다 높거나 같고 버전 9.0보다 낮습니다.

  • 렌더링 계층 2 대부분의 그래픽 기능에서 그래픽 하드웨어 가속을 사용합니다. DirectX 버전 수준은 버전 9.0보다 높거나 같습니다.

Tier 속성을 사용하면 응용 프로그램 런타임에 렌더링 계층을 검색할 수 있으므로 개발자가 장치에서 특정 하드웨어 가속 그래픽 기능을 지원할 수 있는지 여부를 확인할 수 있습니다. 그러면 런타임에 응용 프로그램에서 장치가 지원하는 렌더링 계층에 따라 다른 코드 경로를 사용할 수 있습니다.

렌더링 계층 0

렌더링 계층 값이 0이라는 것은 장치에서 응용 프로그램에 사용할 수 있는 그래픽 하드웨어 가속이 없음을 의미합니다. 이 계층 수준에서 개발자는 소프트웨어가 모든 그래픽을 하드웨어 가속 없이 렌더링한다고 간주해야 합니다. 이 계층의 기능은 7.0 이하의 DirectX 버전에 해당합니다.

렌더링 계층 1

렌더링 계층 값이 1이라는 것은 비디오 카드에서 그래픽 하드웨어 가속을 부분적으로 사용할 수 있음을 의미합니다. 이는 7.0 이상부터 9.0 미만의 DirectX 버전에 해당합니다.

렌더링 계층 1에서는 다음과 같은 기능이 하드웨어 가속됩니다.

항목

설명

2D 렌더링

대부분의 2D 렌더링이 지원됩니다.

3D 래스터화

대부분의 3D 래스터화가 지원됩니다. 그러나 WPF에서는 소프트웨어를 사용하여 꼭지점 조명 강도를 계산하며, 이 값은 하드웨어에 꼭지점 색으로 전달됩니다. 따라서 계층 1에서는 조명이 훨씬 느려집니다.

3D 이방성 필터링

렌더링 계층이 1보다 크거나 같은 경우 WPF에서는 3D 콘텐츠를 렌더링할 때 이방성 필터링을 사용합니다. 이방성 필터링은 카메라를 기준으로 멀리 떨어져 있고 비스듬한 각도의 표면에서 질감의 이미지 품질을 개선하는 것을 의미합니다.

3D 밉 매핑

렌더링 계층이 1보다 크거나 같은 경우 WPF에서는 3D 콘텐츠를 렌더링할 때 밉 매핑을 사용합니다. 질감이 Viewport3D에서 작은 보기 필드를 사용하는 경우 밉 매핑을 사용하면 질감 렌더링 품질이 향상됩니다.

렌더링 계층 1에서는 다음과 같은 기능이 하드웨어 가속되지 않습니다.

항목

설명

비트맵 효과

시각적 표현에 비트맵 효과를 사용하면 시각적 표현이 하드웨어 가속 없이 렌더링됩니다.

인쇄된 콘텐츠

모든 인쇄된 콘텐츠는 WPF 소프트웨어 파이프라인을 사용하여 렌더링됩니다.

RenderTargetBitmap 개체를 사용하여 래스터화된 콘텐츠

RenderTargetBitmapRender 메서드를 사용하여 렌더링된 모든 콘텐츠에 적용됩니다.

TileBrush를 사용하고 바둑판식으로 표시된 콘텐츠

TileBrushTileMode 속성이 Tile로 설정되어 있고 바둑판식으로 표시된 콘텐츠에 적용됩니다.

그래픽 하드웨어의 최대 질감 크기를 초과하는 화면

대부분의 비디오 카드에서는 크기가 2048x2048 또는 4096x4096픽셀보다 큰 화면을 지원하지 않습니다.

비디오 RAM 요구 사항이 그래픽 하드웨어의 메모리를 초과하는 작업

Windows SDK에 포함된 WPF용 성능 프로파일링 도구 도구를 사용하여 응용 프로그램의 비디오 RAM 사용을 모니터링할 수 있습니다.

계층 창

계층 창을 사용하면 WPF 응용 프로그램에서 콘텐츠를 사각형이 아닌 창의 화면에 렌더링할 수 있습니다. Windows Vista에서는 계층 창이 하드웨어 가속되지 않습니다. Windows XP와 같은 다른 시스템에서는 계층 창이 소프트웨어를 통해 하드웨어 가속 없이 렌더링됩니다.

WPF에서 다음과 같은 Window 속성을 설정하여 계층 창을 사용할 수 있습니다.

방사형 그라데이션

RadialGradientBrush를 사용하는 경우에 적용됩니다.

3D 조명 계산

WPF에서는 꼭지점 조명별로 이 계산을 수행합니다. 즉, 메시에 적용한 각 재질의 각 꼭지점에서 조명 강도를 계산해야 합니다. 계층 1에서는 소프트웨어에서 이 계산을 수행하고 계층 2에서는 하드웨어에서 이 계산을 수행합니다.

텍스트 렌더링

하위 픽셀 글꼴 렌더링에서는 그래픽 하드웨어에서 사용 가능한 픽셀 셰이더를 사용합니다.

3D 앤티 앨리어싱

3D 앤티 앨리어싱을 사용하는 경우에 적용됩니다.

렌더링 계층 1을 정의하는 그래픽 하드웨어 기능은 다음과 같습니다.

항목

설명

DirectX 버전

7.0보다 높거나 같고 9.0보다 낮아야 합니다.

비디오 RAM

30MB보다 크거나 같아야 합니다.

다중 질감 단위

단위 수가 2보다 크거나 같아야 합니다.

다음 표에서는 렌더링 계층 1을 지원하는 일반적인 그래픽 카드를 보여 줍니다.

Manufacturer

모델

ATI

Radeon 모델: 256, 7000, 7500, 8500, 9000, 9100, 9200 및 9250

Intel

Intel Extreme Graphics 모델: 845G, 845GE, 845GL 및 845GV

Intel Extreme Graphics II 모델: 852GME, 855GM, 855GME, 865G 및 865GV

NVidia

GeForce 256

GeForce2 모델: GTS, MX, MX100, MX200, MX400, Pro, Ti 및 Ultra

GeForce3 모델: Ti200 및 Ti500

GeForce4 모델: MX420, MX440, MX460, MX4000, Ti4200, Ti4400, Ti4600 및 Ti4800

렌더링 계층 2

렌더링 계층 값이 2인 것은 필요한 시스템 리소스가 모두 사용되지 않은 경우 대부분의 WPF 그래픽 기능에서 하드웨어 가속을 사용해야 함을 의미합니다. 이는 9.0 이상의 DirectX 버전에 해당합니다.

렌더링 계층 2에서는 다음과 같은 기능이 하드웨어 가속됩니다.

항목

설명

계층 1 기능

모든 계층 1 기능을 포함합니다.

방사형 그라데이션

RadialGradientBrush가 지원되기는 하지만 대형 개체에서는 이 기능을 사용하지 마십시오.

3D 조명 계산

WPF에서는 꼭지점 조명별로 이 계산을 수행합니다. 즉, 메시에 적용한 각 재질의 각 꼭지점에서 조명 강도를 계산해야 합니다. 계층 1에서는 소프트웨어에서 이 계산을 수행하고 계층 2에서는 하드웨어에서 이 계산을 수행합니다.

텍스트 렌더링

하위 픽셀 글꼴 렌더링에서는 그래픽 하드웨어에서 사용 가능한 픽셀 셰이더를 사용합니다.

3D 앤티 앨리어싱

3D 앤티 앨리어싱은 Windows Vista에서만 지원됩니다.

렌더링 계층 2에서는 다음과 같은 기능이 하드웨어 가속되지 않습니다.

항목

설명

비트맵 효과

시각적 표현에 비트맵 효과를 사용하면 시각적 표현이 하드웨어 가속 없이 렌더링됩니다.

인쇄된 콘텐츠

모든 인쇄된 콘텐츠는 WPF 소프트웨어 파이프라인을 사용하여 렌더링됩니다.

RenderTargetBitmap을 사용하고 래스터화된 콘텐츠

RenderTargetBitmapRender 메서드를 사용하여 렌더링된 모든 콘텐츠에 적용됩니다.

TileBrush를 사용하고 바둑판식으로 표시된 콘텐츠

TileBrushTileMode 속성이 Tile로 설정되어 있고 바둑판식으로 표시된 콘텐츠에 적용됩니다.

그래픽 하드웨어의 최대 질감 크기를 초과하는 화면

대부분의 그래픽 하드웨어에서 대형 화면의 크기는 2048x2048 또는 4096x4096픽셀입니다.

비디오 RAM 요구 사항이 그래픽 하드웨어의 메모리를 초과하는 작업

Windows SDK에 포함된 WPF용 성능 프로파일링 도구 도구를 사용하여 응용 프로그램의 비디오 RAM 사용을 모니터링할 수 있습니다.

계층 창

계층 창을 사용하면 WPF 응용 프로그램에서 콘텐츠를 사각형이 아닌 창의 화면에 렌더링할 수 있습니다. Windows Vista에서는 계층 창이 하드웨어 가속되지 않습니다. Windows XP와 같은 다른 시스템에서는 계층 창이 소프트웨어를 통해 하드웨어 가속 없이 렌더링됩니다.

WPF에서 다음과 같은 Window 속성을 설정하여 계층 창을 사용할 수 있습니다.

렌더링 계층 2를 정의하는 그래픽 하드웨어 기능은 다음과 같습니다.

항목

설명

DirectX 버전

9.0보다 높거나 같아야 합니다.

비디오 RAM

120MB보다 크거나 같아야 합니다.

픽셀 셰이더

버전 수준이 2.0보다 높거나 같아야 합니다.

꼭지점 셰이더

버전 수준이 2.0보다 높거나 같아야 합니다.

다중 질감 단위

단위 수가 4보다 크거나 같아야 합니다.

다음 표에서는 렌더링 계층 2를 지원하는 일반적인 그래픽 카드를 보여 줍니다.

Manufacturer

모델

ATI

Radeon 모델: 9550, 9600, 9800 및 X 시리즈

Intel

Intel GMA900 모델: 915G

Intel GMA950 모델: 945G

NVidia

Geforce FX 시리즈, 6xxx 시리즈 및 7xxx 시리즈

기타 리소스

다음 리소스를 사용하여 WPF 응용 프로그램의 성능 특성을 분석할 수 있습니다.

그래픽 렌더링 레지스트리 설정

WPF에서는 WPF 렌더링을 제어하기 위한 다음과 같은 네 가지 레지스트리 설정을 제공합니다.

설정 값

설명

Disable Hardware Acceleration 옵션

하드웨어 가속을 사용해야 하는지 여부를 지정합니다.

Maximum Multisample 값

앤티 앨리어싱 3차원 콘텐츠에 대한 다중 샘플링 수준을 지정합니다.

Required Video Driver Date 설정

2004년 11월 이전에 릴리스된 드라이버에 대해 하드웨어 가속을 사용하지 않을지 여부를 지정합니다.

Use Reference Rasterizer 옵션

WPF에서 기준 래스터라이저를 사용해야 하는지 여부를 지정합니다.

이러한 설정은 WPF 레지스트리 설정을 참조할 수 있는 외부 구성 유틸리티에서 액세스할 수 있습니다. 또한 Windows 레지스트리 편집기를 사용하여 직접 값에 액세스하여 이러한 설정을 만들거나 수정할 수도 있습니다. 자세한 내용은 그래픽 렌더링 레지스트리 설정을 참조하십시오.

WPF 성능 프로파일링 도구

WPF에서는 응용 프로그램의 런타임 동작을 분석하고 적용할 수 있는 성능 최적화 유형을 결정하는 데 사용할 수 있는 성능 프로파일링 도구 집합을 제공합니다. 다음 표에서는 Windows SDK 도구 WPFPerf에 포함된 다섯 가지 성능 프로파일링 도구를 보여 줍니다.

도구

설명

Event Trace

이벤트를 분석하고 이벤트 로그 파일을 생성하는 데 사용합니다.

Perforator

렌더링 동작을 분석하는 데 사용합니다.

Trace Viewer

ETW(Windows용 이벤트 추적) 로그 파일을 WPF 사용자 인터페이스 형식으로 기록, 표시 및 검색합니다.

Visual Profiler

표시 트리를 요소를 통해 레이아웃 및 이벤트 처리와 같은 WPF 서비스의 사용을 프로파일링하는 데 사용합니다.

Working Set Viewer

응용 프로그램의 작업 집합 특성을 분석하는 데 사용합니다.

Visual Profiler 도구 집합에서는 성능 데이터에 대한 다양한 그래픽 뷰를 제공합니다. 다음 스크린 샷에서는 Visual Profiler의 CPU 사용량 섹션에서 렌더링 및 레이아웃과 같은 WPF 서비스에 대한 개체 사용을 자세히 분석합니다.

Visual Profiler 표시 출력

Visual Profiler 표시 출력

WPF 성능 도구에 대한 자세한 내용은 WPF용 성능 프로파일링 도구를 참조하십시오.

DirectX 진단 도구

DirectX 진단 도구 Dxdiag.exe는 DirectX 관련 문제를 해결할 수 있도록 도와주기 위해 설계되었습니다. DirectX 진단 도구의 기본 설치 폴더는 다음과 같습니다.

~\Windows\System32

DirectX 진단 도구를 실행하면 주 창에 DirectX 관련 정보를 표시하고 진단하는 데 사용할 수 있는 몇 가지 탭이 표시됩니다. 예를 들어 시스템 탭에서는 컴퓨터에 대한 시스템 정보를 제공하고 컴퓨터에 설치된 DirectX 버전을 지정합니다.

DirectX 진단 도구 주 창

스크린 샷: DirectX 진단 도구

참고 항목

개념

WPF 응용 프로그램 성능 최적화

WPF용 성능 프로파일링 도구

그래픽 렌더링 레지스트리 설정

애니메이션에 대한 유용한 정보

참조

RenderCapability

RenderOptions