다음을 통해 공유


스트리밍 리소스 만들기

스트리밍 리소스는 리소스를 만들 때 플래그를 지정하여 생성되며, 이는 리소스가 스트리밍 리소스임을 나타냅니다.

스트리밍 리소스로 리소스를 만들 수 있는 시기에 대한 제한 사항은 스트리밍 리소스 만들기 매개 변수에 설명되어 있습니다.

2D 텍스처 배열에 대한 할당과 같이 리소스를 만들 때 비 스트리밍 리소스의 스토리지가 그래픽 시스템에 할당됩니다.

스트리밍 리소스를 만들 때 그래픽 시스템은 리소스 콘텐츠에 대한 스토리지를 할당하지 않습니다. 대신, 애플리케이션이 스트리밍 리소스를 생성할 때, 그래픽 시스템은 타일 표면의 영역에 대해서만 주소 공간을 예약한 후, 애플리케이션에서 타일 매핑을 제어할 수 있게 합니다. 타일의 "매핑"은 단순히 리소스의 논리적 타일이 가리키는 메모리의 물리적 위치를 의미합니다(매핑되지 않은 타일의 경우 NULL).

동일한 이름을 사용했음에도 불구하고 완전히 독립적인 CPU 액세스를 위해 Direct3D 리소스를 매핑한다는 개념과 이 개념을 혼동하지 마세요. 필요에 따라 각 타일의 매핑을 개별적으로 정의하고 변경할 수 있으며, 표면의 모든 타일을 한 번에 매핑할 필요가 없으므로 사용 가능한 메모리 양을 효과적으로 사용할 수 있습니다.

이 단락에서

주제 설명

매핑이 타일 풀 안으로 진행됩니다

리소스가 스트리밍 리소스로 생성되면, 리소스를 구성하는 타일은 타일 풀의 특정 위치에서 가져옵니다. 타일 풀은 메모리 풀입니다(애플리케이션에서 볼 수 없는 백그라운드에서 하나 이상의 할당으로 지원됨).

스트리밍 리소스 생성 매개 변수

스트리밍 리소스로 만들 수 있는 Direct3D 리소스 유형에 대한 몇 가지 제약 조건이 있습니다.

타일 풀 만들기 매개 변수

버퍼를 만들 때 이 섹션의 매개 변수를 사용하여 타일 풀을 정의합니다.

스트리밍 리소스 교차 프로세스 및 디바이스 공유

타일 풀은 기존 리소스와 마찬가지로 다른 프로세스와 공유할 수 있습니다. 타일 풀을 참조하는 스트리밍 리소스는 디바이스 및 프로세스 간에 공유할 수 없습니다.

스트리밍 리소스에서 사용할 수 있는 작업

이 섹션에서는 스트리밍 리소스에서 수행할 수 있는 작업을 나열합니다.

타일 풀에서 사용할 수 있는 작업

타일 풀에 대한 작업에는 타일 풀 크기 조정, 리소스 제공(전체 타일 풀에 대한 시스템에 일시적으로 메모리 생성) 및 리소스 회수가 포함됩니다.

스트리밍 리소스의 영역이 타일링되는 방법

스트리밍 리소스를 만들 때 차원, 서식 요소 크기 및 Mipmap 및/또는 배열 조각 수(해당하는 경우)는 전체 노출 영역을 백업하는 데 필요한 타일 수를 결정합니다.

 

스트리밍 리소스