지난 두 차례의 기사를 통해 대표적인 로우레벨 API인 DirectX 12에 대해 알아봤다. DX11 환경과 비교해 대체로 AMD의 라데온 계열 그래픽 카드에서 높은 성능 향상폭을 기대할 수 있었으며, CPU쪽에서는 하이엔드 CPU보다 메인스트림급 CPU 사용자들에 유리한 것을 확인했다.
하지만 DX12에 가려 관심을 덜 받고 있는 또 다른 로우레벨 API가 있으니 바로 크로노스그룹의 벌칸(Vulkan)이다. 지난 2월 1.0 스펙이 공개되고 난 후 갤럭시 S7의 벌칸 지원 발표로 PC에 관심없는 사용자들에게도 어느정도 익숙해진 API다.
하지만 PC 시장의 게임용 API 시장은 MS의 DirectX가 평정한 상태였고, 크로노스그룹이 벌칸을 발표했을 당시만 해도 모바일 계열에 주로 사용되는 OpenGL 계열 후속 API 취급이었기에 큰 관심을 받지는 못했다.
하지만 지포스 GTX 1080이 발표된 NVIDIA 에디터스 데이에서 둠(2016)의 벌칸 지원 영상이 공개되며 다시 관심이 높아지고 있는데, 이번 기사에서는 크로노스그룹의 벌칸이 기존 OpenGL과 비교해 어느 정도의 성능 향상을 가져올지, DirectX와 비교해 어느정도 수준인지 알아보도록 하겠다.
탈로스법칙으로 보는 로우레벨 API 벌칸 성능, 그래픽 카드의 영향은?
탈로스법칙은 기본적으로 DirectX9와 DirectX11, OpenGL을 지원하는 게임으로, 벌칸 API를 적용하기 위해서는 스팀의 공개 베타 프로그램에 참가해 64bit로 게임을 실행해야 하며, 여기에 더해 AMD와 NVIDIA의 최신 그래픽 드라이버 설치가 필요하다.
벌칸 1.0이 공개되었던 2월 당시에는 벌칸 지원을 위한 별도 드라이버 설치가 필요했지만, 이후 업데이트되면서 기존 드라이버에 벌칸 지원이 포함되면서 별도로 설치하는 불편함은 사라졌다.(AMD 라데온 소프트웨어 크림슨 에디션 16.4.1beta / NVIDIA 포스웨어 364.72 WHQL 드라이버 사용)
우선 현재 플래그십 그래픽 카드들의 OpenGL과 벌칸 성능을 비교해보았다.
AMD쪽에서 눈에 띄는 성능 향상이 있었던 DX12와 달리, 벌칸 적용시 AMD와 NVIDIA 구분없이 폭발적인 성능 향상이 관측된다. 특히 Full HD 해상도와 그래픽 옵션을 조금 낮춘 'High' 세팅에서 지포스 GTX 980 Ti는 62%가까운 성능 향상이 관측되었고, 가장 낮은 성능 향상 폭도 23%에 달해 벌칸의 잠재력은 놀랍다는 말로도 부족하다.
플래그십 그래픽 카드와 비교했을 때 보급형 그래픽 카드들의 경우 OpenGL에서 벌칸으로의 API 변화가 놀란만한 수준은 아니지만, 제조사를 가리지 않고 상당한 성능 향상이 관측된다는 점은 주목할 필요가 있다.
CPU 차이에 의한 OpenGL vs Vulkan 성능 차이
DX12때와 마찬가지로 OpenGL과 Vulkan에서의 CPU 영향력을 확인해 보았는데, 로우레벨 API 적용시 CPU에 따른 성능 차이가 거의 없어진 것은 동일하지만, OpenGL에서의 게임 성능 역시 거의 차이없는 것으로 나타났다.
이는 그만큼 OpenGL이 시스템 자원 관리를 제대로 하지 못하고 있기 때문으로 판단할 수 있는데, 이는 다음의 메인스트림급 그래픽 카드를 기준으로 한 CPU 성능 변화로 확실해진다.
위 차트는 지포스 GTX 960 4GB를 기준으로, 코어 i7 6700K와 코어 i3 6100을 이용해 OpenGL 및 벌칸의 성능을 측정한 것이다.
한눈에 알 수 있듯 벌칸은 양 CPU에 따른 성능 차이가 거의 없지만 OpenGL은 코어 i7 6700K와 코어 i3 6100의 성능이 두 배 이상 차이나는 경우가 관측되며, OpenGL에서 벌칸으로 API를 바꾸는 것만으로 코어 i3 6100의 성능이 최대 200% 이상 추가 상승한다.
흔한 말로 미친듯한 성능 향상이다.
PC용 API로 갈 길 먼 벌칸, 그래도 희망은 있다
한편, 이처럼 경우에 따라 말 그대로 '미칠듯한' 성능 향상을 보이는 벌칸이지만, 이는 그동안 OpenGL이 얼마나 게임 지원에 있어 뒤쳐진 API인지를 역설적으로 말해주고 있으며, 이번에 테스트한 그래픽 카드와 CPU 조합에서는 DirectX 11 대비 90% 수준에 달하는 경우도 있지만 60% 수준에 불과한 모습도 확인된다.
결과적으로 DX12까지 등장한 마당에 벌칸이 PC 게임용 API로 자리를 잡기위해 가야할 길은 기사밭길이 될 것으로 예상된다. 아니, 어쩌면 둠 (2016)과 지포스 GTX 1080 발표로 잠깐 주목을 받았다 지금까지처럼 조용히 관심 밖으로 밀려날지도 모른다.
하지만 PC용 API로 벌칸의 앞날이 암울한 것만은 아닌데, 앞서 언급한 것 처럼 벌칸 API는 모바일 계열에 쓰이며 익숙한 OpenGL ES를 대체하고 되며, 구글 안드로이드에서 표준 로우레벨 API로 채택되었다. 삼성은 갤럭시 S7에서 벌칸의 지원을 약속하고, 리눅스 기반의 스팀 OS/ 스팀 박스를 선보이고 있는 세계 최대 게임 플래포머인 밸브에서도 벌칸에 힘을 실어주는 발언을 이어오고 있으며, 벌칸용 오픈 소스 SDK인 루나G 개발에 적극 동참한 바 있다.
비록 DirectX 11에 비해서도 벌칸의 성능이 부족한 것은 사실이지만 OpenGL 환경일 때와 비교해 훨씬 즐길만한 성능을 구현할 수 있으므로 개발 입장에서는 굳이 DirectX를 고집할 필요가 없고, 벌칸 기반의 모바일 게임을 윈도우와 리눅스 기반 PC용으로 포팅하기 위해 DirectX에 맞춰 재설계하는데 투입되는 리소스를 절감할 수 있어 모바일 게임 업체들이 PC 시장 도전 부담을 줄여줄 수 있다.
또한, 아직 벌칸 1.0 표준 규격이 발표된지 석 달째에 접어든 초기 상황임을 감안하면 앞으로 추가 개선도 기대되므로, PC 게임을 위한 API로 안착할 희망을 가져볼만 하다.
Copyrightⓒ 넥스젠리서치(주) 보드나라 미디어국. www.bodnara.co.kr