OpenDLSS 3분 소요

OpenDLSS, Vulkan만으로 엔비디아 종속을 깰 수 있을까

핵심 요약

  • Vulkan은 여러 제조사의 GPU에서 작동하도록 구현할 때 쓸 수 있는 기반입니다.
  • API를 바꾸는 것만으로 AI 모델이나 같은 화질까지 확보할 수는 없습니다.
  • 대체재가 쓸 만한지는 실행 여부뿐 아니라 처리 시간과 움직이는 장면의 품질로 판단해야 합니다.
  • GPU 종속을 줄이려면 모델 사용 조건과 게임 연동 방식까지 살펴야 합니다.

DLSS 5를 Vulkan으로 재구현할 수 있다면, 그래픽카드를 고르는 기준도 달라질까요? OpenDLSS라는 구상이 흥미로운 건 GPU 선택권을 넓힐 가능성이 있기 때문입니다. 다만 재구현을 목표로 한다고 해서 다른 제조사의 GPU에서도 같은 화질과 성능을 낼 수 있다는 뜻은 아닙니다.

Vulkan으로 어디까지 할 수 있을까요

Vulkan은 프로그램이 GPU에 그래픽 처리나 계산 작업을 요청할 때 쓰는 표준 API입니다. 쉽게 말하면 소프트웨어가 GPU에 일을 시키는 공통 창구입니다.

특정 제조사 전용 인터페이스 대신 Vulkan을 쓰면 여러 제조사의 GPU에서 작동하도록 코드를 작성할 여지가 생깁니다. OpenDLSS가 재구현을 구상하면서 Vulkan을 택한 이유도 여기에 있습니다.

하지만 공통 창구를 쓴다고 모든 GPU가 같은 일을 같은 속도로 처리하지는 않습니다. GPU마다 지원하는 기능과 연산 특성이 다르기 때문입니다. 드라이버를 어떻게 구현하고 얼마나 최적화했는지도 영향을 줍니다.

Vulkan 지원이 곧 동일한 성능을 뜻하지는 않습니다. Vulkan은 여러 하드웨어로 코드를 옮길 기반을 제공합니다. 옮긴 뒤에도 같은 성능을 낼 수 있는지는 실제로 구현해서 보여줘야 합니다.

API를 바꿔도 AI 모델이 따라오지는 않습니다

신경망 렌더링은 학습된 신경망으로 이미지를 생성하거나 보정하는 방식입니다. 이때는 GPU에 명령을 전달하는 코드만큼이나 AI 모델이 중요합니다.

모델에는 학습으로 얻은 수치인 ‘가중치’가 들어 있습니다. 이 가중치와 모델 구조에 따라 입력을 처리하는 방식이 정해집니다. Vulkan으로 계산을 실행할 수 있어도, 그것만으로 원래 모델과 똑같이 동작하게 만들 수는 없습니다.

재구현도 어떤 방식인지 구분해서 봐야 합니다. 같은 모델을 다른 실행 환경으로 옮길 수도 있고, 별도의 모델을 만들어 비슷한 기능을 제공할 수도 있습니다. 어느 쪽이냐에 따라 필요한 자원이 달라지고, 결과를 비교하는 기준도 달라집니다.

OpenDLSS를 평가할 때도 이 부분부터 확인해야 합니다. DLSS 5와 어느 수준까지 호환되려는 것인지, 어떤 모델을 쓰는지가 분명해야 합니다. 프로젝트 이름이나 Vulkan을 쓴다는 사실만으로 화질까지 같을 것이라고 판단할 수는 없습니다.

‘돌아간다’ 다음에는 프레임 시간을 봐야 합니다

게임에서는 한 장을 잘 만드는 것만으로 충분하지 않습니다. 다음 장면도 제시간에 나와야 합니다.

60fps를 유지하려면 한 프레임을 약 16.7밀리초마다 완성해야 합니다. 120fps에서는 간격이 약 8.3밀리초로 줄어듭니다. 신경망 처리도 다른 렌더링 작업과 함께 이 시간 안에 끝나야 합니다.

다른 제조사의 GPU에서 실행할 수 있더라도 처리 시간이 너무 길면 사용자는 기능을 끄게 됩니다. 반대로 처리 속도가 빨라도 카메라를 움직일 때 물체 경계가 흔들리거나 세부 표현이 불안정하면 만족하기 어렵습니다.

그래서 비교 영상을 볼 때는 정지 화면이 얼마나 선명한지만 봐서는 안 됩니다. 빠르게 움직이는 물체나 가려졌다 나타나는 배경을 살펴야 합니다. 조명이 바뀌는 장면도 확인해야 합니다. 프레임이 이어지는 동안 화면 속 표현이 안정적인지가 중요합니다.

성능을 비교할 때도 조건을 맞춰야 합니다. 입력 해상도와 장면이 같고 목표로 하는 품질도 비슷해야, GPU를 바꿨을 때 실제로 얼마나 이득을 얻는지 판단할 수 있습니다.

GPU 종속을 줄이려면 게임에서도 선택할 수 있어야 합니다

코드를 공개했다고 해서 사용자가 원하는 기능을 자유롭게 선택할 수 있는 것은 아닙니다.

가령 실행 코드는 자유롭게 수정할 수 있어도 모델을 배포하거나 사용하는 데는 제한이 있을 수 있습니다. 그렇다면 코드를 다른 GPU로 옮기는 데 성공해도 그 기능을 널리 제공하기는 어려울 수 있습니다.

게임 연동도 중요합니다. 별도 시연 프로그램에서 작동하는 기술을 실제 게임에 넣으려면 입력 데이터와 렌더링 과정이 맞아야 합니다. 게임을 업데이트한 뒤에도 안정적으로 작동하는지 살펴야 합니다.

사용자가 체감할 변화는 분명합니다. 그래픽카드를 바꿔도 원하는 기능을 계속 선택할 수 있어야 합니다. 개발자 입장에서도 여러 GPU를 지원하느라 늘어나는 작업을 감당할 수 있어야 합니다.

저는 OpenDLSS 같은 구상의 가치를 이 기준으로 판단하고 싶습니다. 구현에 성공했다는 선언보다는, 사용자가 실제 게임에서 고를 수 있는 대안이 생겼는지를 더 중요하게 봅니다.

Vulkan은 엔비디아 종속을 줄이는 출발점이 될 수 있습니다. 다만 실용적인 대체재가 되려면 모델을 쓸 수 있어야 하고, 화질과 성능도 뒷받침돼야 합니다. 실제 게임에 연동하는 일도 필요합니다. 다음 그래픽카드를 고를 때 특정 기능 때문에 제조사를 바꾸지 못한다면, 그 선택을 가로막는 제약부터 줄어들어야 합니다.

OpenDLSS DLSS 5 Vulkan

댓글

    댓글을 불러오는 중...