'DeviceLost'에 해당되는 글 1건

  1. 2011.09.09 Direct3D Device Lost
비공개2011. 9. 9. 10:38

Direct를 사용하면서 Device Lost 발생시 관련 문제사항을 경험 위주로 이 문서에 정리해야겠다.

 



상황1. 게임 해상도 변경시 Device Lost가 발생한다. 그리고 복구 처리되도록 설계가 되어있다.
             그러나 어느날 갑자기 다음 함수가 실패 하는 것!

             증상은 이 후 Present(...) 함수도 실패 처리됨. Clear(...) 호출 이후 화면갱신이 이루어지지 않음.


 
1
m_pd3dDevice->Reset( &m_d3dpp ); //  D3DERR_INVALIDCALL 발생


찾아보니 Reset() 함수 호출 전에 생성된 텍스쳐를 모두 Release 해줘야 한다는 것!
( 물론, 개고생해서 찾음 ㅜ.ㅡ )


갑자기 발생한데는 이유가 있다. 근간에 내가 작성한 코드가 문제가 되는것!!

D3DXCreateTexture( ... )로 생성한 텍스쳐와 ID3DXLine가 해상도 변경전(Reset()호출전)에 Release 되지 않았던 것!


해결1. Reset() 호출전에 텍스쳐 삭제 및 ID3DXLine을 맴버로 둔 클래스를 삭제(delete) 후
             Device 복구 시 재생성(new) 처리






Posted by 닭꽝