한 5년정도 전부터 만들어서 업글해나가고 있는 3D 엔진을 쓰고 있습니다.
근데 어제, 어이없는 버그가 발견되었어요.

DirectX 의 Device 를 Reset 할때마다 GDI 가 한개씩 증가하는 문제였어요.
이게 눈에 잘 띄지 않는 문제라 지금까지 문제없이 사용해온 것인데요,
실시간으로 계속 Reset 을 해야 하는 상황에서 이 문제가 불거진거죠.
GDI 가 계속 증가... 나중에 리소스 부족으로 꽥.

결국 버그를 찾아냈는데요,
창모드에서 DX 를 초기화할때 화면의 BPP(Bit per pixel)가 필요한데
(요즘은 다들 32비트로 쓰지만, 예전에는 16비트 화면도 많이들 썼지요...)
이걸 얻기 위해서 화면의 Handle을 얻어와야 했어요.
Handle을 얻고 나서 그걸 이용하는 코드가 다 수행된 다음에는
Handle을 다시 Release 해줘야 하는데, 그걸 안했던거죠.

보통때에는 DX 초기화를 여러번 할 일이 거의 없지만,
이번 경우에는 초당 수십번씩 초기화가 일어나는 상황이었어요.
(이게 필요할 일이 있겠냐 싶지만, 회사 프로젝트에서 꼭 필요한 순간이 있었다는....-.-)
암튼, 결국 회사 프로젝트에 엮이는 바람에 발견된 버그랍니다.

일단 발견되고 나니 워낙 초보적인 실수라 금방 해결했지만요.
오래도록 사용하고 있는 엔진도 이렇게 버그가 남아있다는 것과,
별것 아닌 문제가 경우에 따라선 큰 에러를 일으킬 수도 있다는 것.
그리고, 항상 겸손해야겠다는 것을 새삼 느끼게 되었습니다.

P.S.
오늘은 잠도 많이 부족하고 배도 고프고 해서 영 일에 집중을 못하겠네요.
하루종일 트윗질 하다 잠시 쉬려고 블로그질... (^-^)>

Posted by moonyeom

2010/10/21 11:45 2010/10/21 11:45
, , , , ,
Response
No Trackback , No Comment
RSS :
http://www.arcshock.com/kr/rss/response/60

연말까지 이제 남은 기간 두달정도.
그래픽 디자이너는 현실적으로 시간을 거의 못 내는 상황인데다
프로그래머(저요)까지도 시간이 없는 상황으로 내몰리고 있습니다.

본업이 따로 있는 이상 어쩔 수 없는 시간의 제약은 있겠습니다만,
지금은 정말 최악의 시간상황인 듯 하네요.
2주일에 하루 시간내기가 힘든 터라...

그래서 연말까지의 계획은 물리적으로 불가능이라 생각되어
일단 게임의 핵심 시스템에만 열중하는 것으로 결론을 내렸습니다.
...라곤 해도...
2주에 하루씩 작업하는것으론 연말까지 고작해야 5일 정도일텐데...
좀 암담한 상황입니다.
어떻게든 1주에 하루 정도는 마음껏 작업할 수 있게 되면 좋겠는데요...

Posted by moonyeom

2010/10/15 22:06 2010/10/15 22:06
, , ,
Response
No Trackback , No Comment
RSS :
http://www.arcshock.com/kr/rss/response/59

이것 참...
욕심을 내면 낼수록 프로그램이 무거워지는건 당연할텐데 말이죠.
암튼 지난 버전에 비해 좀 더 욕심을 내게 되네요.

이번엔 물체 자체의 움직임을 구현했습니다.
모래알을 맞은 시소가 기울어지는 것뿐 아니라, 시소 자체가 밀리는 현상을 구현한 것입니다.
다만, 이렇게 밀리는 물체끼리 또 충돌을 하게 되면 어쩌냐 하는 문제는...
운동량 총합의 보존이니 뭐니 하다보면 너무 무거워질 것 같아서요.
일단 움직이던 물체만 살짜쿵 바운딩을 하도록 했습니다.
이렇게 해도 퍼즐게임은 된다... 정도로 만족할려고 합니다...
(하지만 광님이 이의를 제기하겠지)

암튼, 지난주의 부진을 이번주에 떨칠 수 있을지가 관건이군요.
그나저나, 우리 마님그래픽디자이너는 아예 손을 놓고 아기 키우기에 올인...
큰일입니다... @_@ㆀ

Posted by moonyeom

2010/10/04 17:58 2010/10/04 17:58
, , ,
Response
No Trackback , No Comment
RSS :
http://www.arcshock.com/kr/rss/response/58

« Previous : 1 : ... 4 : 5 : 6 : 7 : 8 : 9 : 10 : 11 : 12 : ... 23 : Next »