리눅스 OpenGL에서는 DirectX같은 Lost Device 현상이 존재 하지 않나요?
글쓴이: newvgund / 작성시간: 목, 2010/02/25 - 11:42오전
근래에 DirectX 를 쓸일이 생겨서 공부를 하던 중, 궁금한게 생겨 버렸습니다. DirectX의 경우, 그래픽 하드웨어 장치가 무언가에 의해 점유되게 되면 장치를 잃어버리게 되잖아요? 근데 OpenGL에서는 그런 현상이 존재는 하지만, 해상도 변경 이외에는 특별하게 존재하지 않는거 같더군요.
실험이라고 해본건 OpenGL 게임과 온라인 게임을 듀얼 모니터로 플레이 할 시, 좌 / 우측 모니터로 창을 이동시켜 봤을때 생기는 로딩 현상으로 실험해 봤었습니다. 확실히 OpenGL은 재 로딩이 없고, DirectX는 재 로딩이 있더라구요.
문제는 제가 실험해 본게 '리눅스용 Doom3'와 '윈도우용 온라인 게임' 이여서, OpenGL의 문제인지 윈도우와 리눅스 구조상의 문제인지 모르겠다는 점인데..... 그래서 몇가지 질문 드립니다^^;
1. OpenGL에서는 DirectX 처럼 장치 Lost에 대해 신경써줄 필요가 없나요?
2. 구글 등에서 검색 해 보니, OpenGL은 리소스 데이터를 시스템 메모리에 상주 시키고 있다가 복사를 해 준다고 하는데...... 그렇게 되면, OpenGL은 시스템 메모리를 더 잡게 되고, 복사시 드는 비용도 있을텐데... 속도 면에서 느린게 아닌가요? 아니, 그보다 이렇게 본 글이 맞는건가요;;?
3. X 서버에서도 장치 소실이란게 존재 하는지요?
관련 쓰레드나 링크만 주셔도 괜찮으니 답변 부탁드립니다^^;
Forums:
2. vertex 나 texture
2. vertex 나 texture 정보와 같은 리소스 데이터를 시스템 메모리에서 그래픽 하드웨어로 복사하는 방식은 Opengl 이나 DirectX 모두 마찬가지입니다.
일단 복사된 뒤에는 매번 일일히 복사하지 않고 변경 부분만 옮긴다던가, 미리 컴파일된 명령을 쓰는 방식으로 속도를 높일 수 있습니다.
댓글 달기