Vulkan은 무엇이며 OpenGL과 어떻게 다릅니 까?


150

크로노스 그룹 (OpenGL의 표준 기관) 방칸을 발표했습니다 .

Vulkan은 최신 GPU에서 그래픽 및 컴퓨팅에 대한 고효율 액세스를위한 차세대 개방형 표준 API입니다. 이전에 차세대 OpenGL 이니셔티브라고했던이 기본 설계는 애플리케이션이 GPU 가속을 직접 제어하여 성능과 예측 성을 극대화합니다.

이들 페이지는 매우 marketese / 전문 용어 그대로 - 무거운, 보도 자료 간단히 말해서을 ... VULKAN는 게임 개발자 무엇을 의미합니까? (Gabe Newell은 더 이상의 설명없이 강력하게 호의적 인 것으로 인용됩니다.)

Vulkan과 OpenGL의 관계는 정확히 무엇입니까? 이전 이름 ​​인 "glNext"( "Next Generation OpenGL Initiative"의 줄임말)는 마치 대체품처럼 들립니다.


업데이트 : Vulkan 1.0 사양 은 2016 년 2 월 16 일에 발표되었습니다.


3
Qo'noS and Vulcan ...
일리단 S4

14
스타 트렉 드리프트를 잡지 않는 사람들을위한 번역 : Qo'noSVulcan 과 같은 KhronosVulkan 사운드 ; 클링 온과 벌칸 종족의 고향 행성. Spock의 배우 인 Leonard Nimoy (매우 인기있는 인물)는 최근 2015-02-27에 사망했기 때문에 그 이름이 공물이라고 추측합니다. 그러나, 그것은 우연이었다 VULKAN의 상표 요청이 2015년 2월 19일 출원되었다; 니모이가 죽기 전에
Anko

7
또한 맨틀-> 용암-> 화산-> 불칸.
jmegaffin

1
@Boreal Vulkan == 여러 언어로 된 화산 (독일어, 러시아어 (cyr.에 맞게 ​​조정) 등). 그래서 그것은 맨틀-> 용암-> Vulkan (Volcano) 정말 :)
user362515

답변:


118

Vulkan은 기존 GPU를 통한 하드웨어 가속 그래픽 (및 일반 계산)을위한 새로운 API입니다. OpenGL은 Vulkan보다 높은 수준의 API이므로 계속 개발 될 것입니다. 원래 "glNext"라고 불렀을 때 Vulkan은 "OpenGL 5"가 될 가능성이 높지만 표준기구는 API 이름이 기존의 것에서 비교적 깔끔하게 분리되는 것과 새로운 이름이 더 잘 일치 할 것이라고 결정했습니다. OpenGL 패러다임.

게임 개발자에 대한 Vulkan의 실질적인 장점은 주로 제어에 관한 것입니다. (더 많은 것을 허용하고, 개발자 측에서 훨씬 더 선행 작업을 수행하면서 더 나은 최적화를 가능하게 할 수 있습니다). 구체적으로 :

  • API는 여러 스레드에서 명령 버퍼를 비동기 적으로 생성하고 해당 버퍼를 순차적으로 처리하여 명령 파이프 라인으로 처리하는 데 중점을 둡니다. 이것은 현대 하드웨어의 현실을 반영합니다. 오늘날 OpenGL에 구축 된 대부분의 고급 및 / 또는 고성능 소프트웨어는 이러한 종류의 동작 자체를 구현합니다. API 자체가이를 지원한다는 것은 개발자가 해당 프레임 워크를 직접 구현 및 유지 관리 할 필요가 없으며 적은 노력으로도 그렇게 할 수 있음을 의미합니다.
  • 스레드 및 메모리 관리 작업은 드라이버가 아닌 응용 프로그램에 맡겨져있어 게임 개발자가 이러한 동작을보다 강력하게 제어 할 수 있으므로 이러한 동작을 개별 게임의 요구에보다 정확하게 맞출 수 있습니다.
  • 유효성 검사 및 진단 계층을 독립적으로 활성화하여 이론적으로 "OpenGL 자체가 겪었던 문제"와의 도구 통합을 개선하고 과도한 유효성 검사를 비활성화 할 수 있습니다. 이론적으로 " 레벨 3의 그래픽 "이 훨씬 성능이 뛰어납니다.
  • 모바일 버전과 데스크톱 버전 간에는 API 차이가 크지 않으므로 이론적으로 크로스 플랫폼 게임의 포팅이 쉬워지고 다른 경우에는 모든 사람이 싫어하는 버전 확인 두통이 줄어 듭니다.

Vulkan의 피상적 구조에서 C와 매우 유사한 OpenGL과 유사합니다 (API 호출의 모양과 느낌 등). 그러나 더 나은 형식입니다 (모든 것이 int나쁘지 는 않습니다 . 관련 형식 정의가 있습니다).

OpenGL보다 훨씬 낮은 수준입니다. D3D9에서 D3D10으로의 전환에서 볼 수 있듯이 OpenGL과 Vulkan 간의 운영 설정 및 복잡성이 급격히 증가 할 것으로 예상 할 수 있습니다. D3D12 자체는 기능 측면에서 Vulkan과 매우 유사한 API이기 때문에 전환은 실제로 D3D11에서 12와 더 유사합니다.


18
Vulkan은 기본적으로 커뮤니티 의 높은 버전의 Mantle ( community.amd.com/community/amd-blogs/amd-gaming/blog/2015/03/) 임을 지적하는 것이 좋습니다 .… API 규칙은 DSA와 다소 비슷해 보입니다. 유비쿼터스 gl접두사를 제외한 OpenGL vk: blog.imgtec.com/powervr/…
jmegaffin

나는 이것이 사실이라고 가정했지만 그 연결점까지는 아무런 증거도 보지 못했습니다. 감사합니다.
Josh

3
참고로, 목요일에 Valve가 발표 된 후 추측과 추측을 (일부) 어려운 사실로 대체 할 수 있으며 Khronos 회원에 대한 모라토리엄은 (대부분) 해제됩니다.
Sean Middleditch

4
셰이더에 간단한 어셈블리와 같은 언어가 사용되었다는 점을 고려하여 셰이더 바이트 코드가 약간 재미있어서 복잡한 언어 (GLSL)로 바뀌었고 이제는 간단한 바이트 코드 언어로 돌아갑니다.
immibis

2
맨틀처럼 Vulkan은 OpenGL 옆에 서서 더 낮은 수준의 액세스를 위해 완전히 대체하지는 않을 것이라고 생각했습니다. 적어도 그것은 지금까지 읽은 것입니다. 아니면 Vulkan은 저급 및 고급 작업을 모두 처리합니까?
Roy T.

18

OpenGL의 미래를 자세히 설명하려면 :

OpenGL은 초당 그리기 호출에서 일반적인 드라이버 오버 헤드와 관련하여 Vulkan과 비슷한 성능을 달성 할 수 있습니다.


11
이것은 실제로 질문 자체에 대한 답변이 아닙니다.
MichaelHouse

1

Khronos는 최근 완전히 새로운 Vulkan API의 출시를 발표했습니다.이 API는 OpenGL 및 OpenGL ES를 보완합니다 (일부 경우 대체). Vulkan은 성능과 효율성을 높이기 위해 코드를 "금속에 더 가깝게"가져 오도록 설계된 오버 헤드가 낮은 API입니다. AMD의 Mantle API를 기반으로하며 최종 사양은 올해 후반에 나올 것으로 예상됩니다.

이 게시물 -Vulkan API에 대한 간략한 개요 -Toptal 기술 편집자 Nermin Hajdarbegovic가 Vulkan이 장기적으로 큰 이유가 된 이유를 설명합니다. 다소 시간이 걸릴 수 있지만이 크로스 플랫폼 API는 특정 장치, 특히 수십억 개의 스마트 폰 및 태블릿에 사용되는 멀티 코어 응용 프로그램 프로세서에서 3D 성능을 크게 향상시킬 수 있습니다.


2
"Khronos는 최근 완전히 새로운 Vulkan API의 출시를 발표했습니다." 해당 용어의 정의에 의해 "해제"되지 않았습니다. 12 월 8 일이며 아직 릴리스되지 않았습니다.
Nicol Bolas

2
@NicolBolas-이제 있습니다. 오늘 시작되었습니다 : khronos.org/vulkan
beatgammit
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.