YUVPlayer 업데이트…
사실 저나 제 주위 사람들 말고는 쓰는 사람이 거의 없는거 같긴 하지만 하여튼 메모리 릭을 일으키는 몇 가지 버그를 잡았습니다.
- ::GetDC(hWnd) 후 ::ReleaseDC(hWnd,dc) 를 호출 하지 않아서 생기는 메모리 릭
- gdTexImage2D 를 반복 호출해서 생기게 되는 메모리 릭
정확하게 설명하면 위와 같구요. ::GetDC 로 받아온 Device Context 는 “꼭” ::ReleaseDC 를 호출해줘야 한다는 msdn 님의 가르침에 따라, 약간의 코드를 추가해줬습니다.
또한 gdTexImage2D 를 반복해서 호출하면 이전 텍스쳐 데이타가 사용하던 메모리 영역은 해제가 될 줄 알았는데, 실제로는 그렇지가 않네요. 텍스쳐 사이즈가 달라지는 경우엔 glDestroyTexture 후 glGenTexture, glBindTexture, glTexImage2D 를 차례로 호출해줘야 하고, 사이즈가 달라질 필요가 없는 경우라면 gdTexSubImage2D 를 사용하면 된답니다. 어려운 openGL 세상이에요.
자세한 수정 사항은 제 trac 페이지에서 확인하심 될 듯~
http://trac.unfix.net/bro.../yuvplayer/OpenGLView.cpp
p.s) trac 이 ajax 를 활용하도록 업데이트 되었네요.
Related Posts
This entry was posted by 정태영 on Saturday, August 2nd, 2008 at 4:11 AM and is taged under bug, Computer, leak, memory, OpenGL, OpenSource, player, Project, texture, update, yuv, yuvplayer. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.