Khronos Group представила Vulkan — новое поколение трехмерного API OpenGL. Оно создано, чтобы упростить реализацию многопоточности при разработке трехмерных приложений. Vulkan позволяет в несколько потоков готовить команды и отправлять их GPU. Он предоставляет разработчикам дополнительные возможности по генерированию команд, передавая им такие задачи, как управление памятью и потоками. Таким образом, снижается нагрузка на драйвер видеокарты.
Новый API отвечает требованиям времени и учитывает сложность современных GPU. Они становятся программируемыми устройствами с большим количеством ядер и множеством потоков.
Vukan, таким образом, выходит на новый уровень API и становится на одну планку с AMD Mantle, Microsoft DirectX 12 и Apple Metal. Однако у него есть и неоспоримое преимущество. Перечисленные API привязаны к аппаратным или программных платформам, в то время как Vulkan является универсальным. Кроме того, он может применяться как для десктопов, так и для мобильных устройств, что также отличает его и от OpenGL, имевшего различные версии для каждого вида устройств.
Vulkan также упрощает компилирование шейдерных программ средствами драйвера. OpenGL предполагал наличие в драйвере полноценного компилятора. В Vulkan применяется подход, известных по DirectX, - шейдерные программы компилируются единожды в виде байткода. Драйвер должен только уметь обрабатывать его. В OpenGL ранее драйвер сам компилировал каждую шейдерную программу по мере необходимости.