728x90

DirectX11을 이용한 Application을 개발하는 도중에 이상한 현상을 발견하였다.


이 현상은 NVidia 계열의 그래픽 카드에서는 발생하지 않고, AMD 계열의 그래픽 카드에서만 발생하였다.


이 현상은 Application 내에서 Device 및 Context 등의 자원들을 계속 생성 및 해제 하다가 DirectX 함수에서 빠져나오지 


못하고 계속 멈춰있는 현상이다.


며칠 테스트를 해본 결과...


CreateBlendState() 함수를 사용할 때 ID3D11BlendState 변수를 생성하고, 해제를 하지 않거나,


CreateSamplerState() 함수를 사용할 때 ID3D11SamplerState 변수를 생성하고, 해제를 하지 않거나,


CreateRasterizerState() 함수를 사용할 때 ID3D11RasterizerState 변수를 생성하고, 해제를 하지 않거나,


등등의 다양한 경우가 있을 것이다.


뭐든 이러한 변수들을 해제하지 않으면서, ID3D11Device등의 리소스를 생성 및 해제를 반복하게 되면, DirectX 함수에서 빠져나오지 못한다.



ps. 생성한 것은 반드시 해제하도록 하자...

728x90

+ Recent posts