Khronos Group (el organismo de estándares detrás de OpenGL) acaba de anunciar Vulkan :
Vulkan es la API estándar abierta de nueva generación para el acceso de alta eficiencia a gráficos y computación en GPU modernas. Este diseño básico, anteriormente conocido como la Iniciativa OpenGL de próxima generación, proporciona a las aplicaciones un control directo sobre la aceleración de la GPU para maximizar el rendimiento y la previsibilidad.
Su página es bastante comercial / jerga , como lo es el comunicado de prensa ... En términos simples, ¿qué significa Vulkan para los desarrolladores de juegos? (Se cita a Gabe Newell como muy partidario, sin más explicaciones).
¿Cuál es exactamente la relación de Vulkan con OpenGL? Su nombre anterior "glNext" (abreviatura de "Iniciativa OpenGL de próxima generación") suena como un reemplazo.
Actualización: La especificación Vulkan 1.0 se lanzó el 16-02-2016.
Respuestas:
Vulkan es una nueva API para gráficos acelerados por hardware (y computación general) a través de GPU tradicionales. OpenGL continuará desarrollándose, ya que es una API de nivel más alto de lo que Vulkan pretende ser. Originalmente referido a "glNext", se puede inferir que Vulkan probablemente terminaría siendo "OpenGL 5", pero que el organismo de estándares finalmente decidió que un nuevo nombre coincidiría mejor con la ruptura relativamente limpia que la API pretende hacer de las existentes. Paradigmas de OpenGL.
Las ventajas prácticas de Vulkan para los desarrolladores de juegos son principalmente sobre el control (como permitir más, lo que potencialmente permite mejores optimizaciones a costa de un trabajo inicial significativamente más por parte del desarrollador). Específicamente:
Vulkan es muy similar a C / OpenGL en estructura superficial (la apariencia de las llamadas API, etc.) Sin embargo, está mejor tipeado (en el sentido de que no todo es simple
int
; hay tipos de letra relevantes, etc.).Es mucho más bajo que OpenGL. Uno puede esperar un salto en la configuración operativa y la complejidad entre OpenGL y Vulkan, como se vio en la transición D3D9 a D3D10, que expuso muchos más detalles ocultos del funcionamiento del dispositivo GPU al cliente API. La transición es en realidad más parecida a D3D11 a 12, ya que D3D12 es en sí una API muy similar a Vulkan, en cuanto a capacidad.
fuente
gl
prefijo ubicuo reemplazado porvk
: blog.imgtec.com/powervr/…Para elaborar sobre el futuro de OpenGL:
OpenGL podría lograr un rendimiento comparable al de Vulkan, en llamadas de extracción por segundo, pero también con respecto a la sobrecarga general del controlador:
ARB_direct_state_access
(4.5 núcleos)ARB_bindless_texture
, ...).ARB_buffer_storage
núcleo en 4.4), la CPU puede acceder directamente a la memoria intermedia, por lo que la sincronización con la GPU también es explícita, al igual que Vulkan.NV_command_list
(ver la presentación Siggraph Asia 2014 de Tristan Lorach ) proporcionen a OpenGL el mismo "paradigma de alimentación de GPU" que Vulkan.fuente
Khronos anunció recientemente el lanzamiento de la nueva API Vulkan, que complementará (y en algunos casos reemplazará) OpenGL y OpenGL ES. Vulkan es una API de bajo costo diseñado para acercar el código al metal, aumentando el rendimiento y la eficiencia. Se basa en la API Mantle de AMD, y se espera que la especificación final a finales de este año.
En esta publicación - Una breve descripción general de la API de Vulkan - El editor técnico de Toptal, Nermin Hajdarbegovic, explica por qué Vulkan podría ser un gran problema a largo plazo. Puede llevar un tiempo, pero esta API multiplataforma podría mejorar drásticamente el rendimiento 3D en ciertos dispositivos, especialmente los procesadores de aplicaciones de múltiples núcleos que se utilizan en miles de millones de teléfonos inteligentes y tabletas.
fuente