스피드모드(Directx)와 호환성모드(OpenGL)이라는 새로운 옵션이 생겼습니다.
많은분들이 이 부분에 관해서 궁금하실텐데 쉽게 해석 해드리겠습니다.
OpenGL와 DirectX는 모두 그래픽스 표준 API 규격이고 그래픽을 지원하는 방식이 다릅니다.
OpenGL은 개발시 Intel, NVIDIA, Apple 등 많은 멤버들이 자사의 하드웨어 혹은 제품을 호환할때만 새로운 OpenGL의 버전 출시를 공동으로 동의합니다. 때문에 여러 플랫폼의 호환성이 좋지만 업그레이드가 아주 느립니다. 녹스가 OpenGL을 “호환성모드”라고 하는 하나의 이유이기도 하구요.
이러한 방식이 싫어서 Microsoft에서 자체적으로 Windows 전용으로 만들기 시작한게 DirectX입니다.
때문에 Windows 계열에서는 DirectX가 거의 우세(그래픽카드를 더 완벽하게 활용)이고 기타 계열 예를 들면 Linux에서는 OpenGL이 일반적으로 우세입니다. 따라서 PC용 겜은 일반적으로 DirectX를 지원하고 안드로이드(Linux 시스템) 겜은 OpenGL을 지원합니다. 절대적인건 아니고 두개를 모두 지원하는 경우도 많습니다.
여기까지 보시면 이해되시겠지만 녹스는 Windows 용 소프트웨어니까 DirectX를 “스피드모드”, 안드로이드 겜은 일반적으로 OpenGL를 지원하기에 “호환성모드”라고 하는 이유입니다. 그리고 요즘에는 그래픽카드들도 DirectX에 성능을 높히고 OpenGL은 지원만 하는걸로 보입니다.
만약 OpenGL 모드에서 검은 화면이 뜨는데 DirectX에서 안뜨는 이유는 Windows 플랫폼에서 DirectX가 그래픽 카드를 더 잘 활용하기 때문입니다.
추가로 겜 외에 그래픽 작업, 예를 들면 AutoCAD, 에서는 대부분 OpenGL을 사용합니다.
현재 3.3 버전에서 DirectX를 금방 출시했기에 아직 미흡한 점이 많고 사양도 더 많이 점유하지만 앞으로 DirectX의 지원이 더 잘될거라 확신합니다.
구체적으로 어느 모드가 더 좋은지 문의하시는 분들이 계시는데 모드를 바꿔가면서 게임에 더 잘 맞는 모드를 선택하시는걸 권장합니다.
opengl 의 경우 그래픽소스에서 opengl 가속에 대한 지원이 미흡하고 부족한부분을 cpu 쪽 자원으로 메꾸니 cpu가 딸리면 아무래도 directX 가속시에 이득을 볼 경우가 생기겠죠.
반면 directX의 경우 이것이 반감되지만 녹스에서 완성된 가속을 지원해주진 못할것이기때문에
반대로 리소스를 대량 처먹는경우도 생기겠죠.
많은 유저들이 스피드모드에서 cpu 점유율이 더 올라갔다는 얘기가 많은데요.
이것은 아마도 opengl 을 사용하는 내부게임을 에뮬레이터로 directX로 돌리는 과정에서 생겨나는 리소스 손실일거라고 생각됩니다.
opengl 과 directx 의 큰 차이점 중에하나는 벡터기능의 차이일겁니다. 때문에 게임의 3D 구현방식에 대한 엔진이 무엇인지에 따른 차이도 생겨날거에요 ^^
개인적으로 선택할수있도록 해준다는점에서는 환영이지만 향후 어느쪽을 메인으로 잡고 한쪽을 버린다면 opengl 쪽이 낫다고 생각합니다.
물론 퍼포먼스도 중요하지만 에뮬레이터로서의 본기능은 안정성과 호환성에 있다고 생각합니다.