Game !



cf. Memory Pool

: DirectX의 자원(ex.serface)들은 여러 가지 종류의 메모리 풀에 저장할 수 있으며, 메모리 풀은 열거형 멤버로 지정된다.




메모리 종류 정리

1. 시스템 메모리(system memory) : CPU RAM 메모리

2. 비디오 메모리(video memory) : 그래픽카드 RAM 메모리


3. AGP aperture 메모리 : 물리적으로는 시스템 메모리에 위치.

가상메모리처럼, 비디오 메모리가 부족할 경우, 시스템 메모리에 AGP 영역을 만들어서

비디오 메모리처럼 사용한다.


★cf. 비디오메모리 / AGP메모리에서의 읽기 속도는 매우 느리다.



1. D3DPOOL_DEFAULT


리소스들을 로컬 비디오 메모리와 AGP 메모리에 생성한다.

리소스들은 반드시 IDirect3DDevice9::Reset() 함수 호출 이전에 해제되어야 하고,

Reset() 호출 이후에 다시 초기화되어야한다. (=> 즉 리소스 복구가 필요하다는 것)

만약, 리소스 생성할 때 메모리가 부족할 경우 Managed 리소스가 제거된다.


2. D3DPOOL_MANAGED


DirectX에 의하여 리소스들이 관리된다. (=> 필요에 따라 자동으로 비디오/AGP 메모리로 옮겨진다.)

리소스들의 백업 복사본이 시스템 메모리 내에 보관되는데

애플리케이션이 리소스에 접근하고 수정할 때에는 시스템 메모리에 있는 복사본을 이용한다.

(=> 즉 시스템 메모리에 자동으로 백업되므로 리소스가 손상되어도 복구가 필요없다.)







해당 출처를 통해

작성자가 바로 찾을 수 있도록

정리해놓은 것입니다.

출처:

http://www.viper.pe.kr/wiki2/wiki.php/D3DPOOL%20%BF%AD%B0%C5%C7%FC%20%C1%A6%B4%EB%B7%CE%20%BE%CB%B1%E2

http://cappleblog.co.kr/247

http://l4knight.blog.me/120202155512