nvidia vulcan что это

Что означает появление технологии Vulkan для пользователей

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что этоnvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

На минувшей неделе стало известно о глобальном релизе графических драйверов, которые отныне поддерживают новый низкоуровневый API Vulkan. Первыми, кто обратил внимание на эту новость, стали геймеры с настольными компьютерами, поскольку Vulkan в первую очередь затрагивает работу графической составляющей и со временем должен заменить морально устаревший стандарт OpenGL ES. Последний дебютировал ещё в те времена, когда компьютеры работали на одноядерных процессорах и большинство пользователей даже не задумывались о многоядерных высокопроизводительных устройствах. Однако всё меняется, и число доступных ядер в настольных и мобильных процессорах уже приближается к дюжине. Для максимально эффективного использования их потенциала и была начата работа над новым API.

В общем представлении Vulkan должен принести улучшенный игровой и пользовательский опыт, а также более высокое качество игр, в том числе на Android. По сравнению с традиционными OpenGL и Direct3D, Vulkan предоставляет возможность реализовать многопоточность и более эффективно использовать центральный процессор. Технология изначально основана на разработке от AMD под названием Mantle, однако вскоре идея была подхвачена консорциумом Khronos Group, в который сегодня входит больше 100 членов по всему миру. Vulkan версии 1.0 был выпущен для Windows, Linux и Android. Особенно большое влияние Vulkan окажет именно на мобильную платформу, поскольку предоставит разработчикам прямой доступ к GPU для полного контроля над его работой. Можно ожидать не только повышение качества изображения, но и уменьшение энергопотребления при том же результате.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что этоЧто означает появление технологии Vulkan для пользователей

NVIDIA уже опубликовала необходимые образы для разработчиков, чтобы те могли адаптировать их к нынешним Android-планшетам с чипами NVIDIA, однако сегодня их доля на рынке мизерна. Среди Khronos Group мелькают имена известных производителей, в частности, Google, Samsung, Sony, Qualcomm, Huawei и некоторых других, однако как скоро они начнут внедрять Vulkan, сказать довольно сложно. Хочется верить, что Google сделает Vulkan приоритетной разработкой для Android, однако пока что об этом официально ничего не сообщается.

Источник

Vulkan

What Is Vulkan?

Vulkan is a new-generation graphics and compute open standard API that provides high-efficiency, cross-platform access to modern GPUs. Created and evolved by the Khronos® Group standards consortium, Vulkan satisfies the needs of software developers in fields as varied as game, mobile and workstation application development. Vulkan’s explicit API design enables efficient implementations on platforms that span a wide range of mobile, console, embedded and desktop hardware using the Windows, Linux and Android operating systems.

Why Vulkan?

Vulkan is an open standard API that the entire industry can cooperatively evolve to provide access to the latest GPU technologies. The API provides a multi-threading-centric design to leverage modern multi-core CPUs, and provide access to GPUs via multiple parallel command queues. Some of the latest Vulkan features include ray tracing, bindless resources and shader programming using GLSL or HLSL. Vulkan is not tied to a specific platform and enables developers to write GPU code that is portable to diverse devices and operating systems.

Vulkan at NVIDIA

NVIDIA provides fully conformant Vulkan 1.2 drivers across our products including Geforce and Quadro on Windows and Linux, Shield Android TV, and the range of Jetson embedded processors using Android or Linux. NVIDIA Nsight™ tools enable developers with cutting-edge Vulkan application debugging, profiling and optimization capabilities.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Vulkan is available across NVIDIA’s products

NVIDIA is deeply engaged at Khronos and the Vulkan Working Group to help drive Vulkan’s evolution through developing vendor extensions to enable developers access the very latest GPU technologies, and encouraging these capabilities to be adopted as cross-vendor Vulkan specifications at the Khronos Working Group.

To help developers get up and running quickly with Vulkan, this page contains information on NVIDIA’s Vulkan drivers, links to the full source code of educational samples and helper libraries, links the downloadable NVIDIA Nsight tools to help you debug and optimise your Vulkan code, and articles and presentations to help you learn more about what Vulkan can do for you!

Vulkan Certified Driver Information

When running on Turing or Ampere hardware these drivers include the

Samples

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

NVIDIA provides a growing collection of Vulkan and OpenGL samples and tutorials with full source code available on GitHub. Developers can download the samples that interest them, from educational introductions to basic Vulkan workflows and extensions, through examples of how to render scenes with high geometric complexity and ray tracing,and on to professional application use-cases. The repository also contains utility code that can speed up Vulkan development.

Vulkan Developer Tools

Nsight Aftermath

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

The NVIDIA Nsight Aftermath SDK is a simple library that can be integrated into a game’s crash reporter to generate GPU «mini-dumps» when a GPU hang or exception occurs.

Nsight Systems

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

NVIDIA Nsight Systems is a system-wide analysis tool for visualizing CPU / GPU interactions to help eliminate GPU idle, stutter and CPU bottlenecks. It can trace Vulkan on the CPU & GPU, interoperating GPU APIs, and many CPU or OS events.

Nsight Graphics

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

NVIDIA Nsight Graphics enables developers to debug & profile Vulkan applications. With powerful low-level profiling features such as GPU Trace, it’s easier than ever to identify GPU performance issues and optimize with confidence.

RTX Ray Tracing in Vulkan

In November 2020, Khronos released the final versions of the Vulkan Ray Tracing extensions that seamlessly integrate ray tracing into the existing Vulkan framework. Vulkan is the industry’s first open, cross-vendor, cross-platform standard that can be used to access RTX ray tracing acceleration.



Getting Started with Vulkan Ray Tracing

A tutorial on how to use Vulkan Ray Tracing to create a complete mini-path tracer using the final Vulkan Ray Tracing extensions

An updated Vulkan Ray Tracing Tutorial using the final Vulkan Ray Tracing extensions

Read about how the 2020.6 release of the NVIDIA Nsight Graphics tool supports Vulkan Ray Tracing

Источник

Vulkan Driver Support

This page provides links to both Vulkan 1.2 general release drivers, and developer beta drivers.

Vulkan 1.2 General Release Driver Downloads

Vulkan 1.2, including support for the Vulkan Ray Tracing extensions, is available for Windows and Linux in our general release drivers here:

Vulkan Beta Driver Downloads

Vulkan Beta Driver Release Notes

The latest Vulkan 1.2 specification can be found here: https://www.khronos.org/registry/vulkan/

NVIDIA provides full Vulkan 1.2 support and functionality on NVIDIA GeForce and Quadro graphics card with one of the following Ampere, Turing, Volta, Pascal and Maxwell (first and second generation) based GPUs:

Ampere GPU Architecture
Turing GPU Architecture
Volta GPU Architecture
Pascal GPU Architecture
Maxwell 2 GPU Architecture
Maxwell 1 GPU Architecture

For any bugs or issues, please file a bug through the developer website: https://devtalk.nvidia.com/

Vulkan Beta Driver Release Updates

Descriptor Set Extensions
Cross process interop extensions:
Multi-GPU extensions:
Multiview and VR related extensions:
Other extensions:

March 10th, Windows 364.51

Vulkan on NVIDIA Hardware FAQ

1) How do I start using Vulkan in my code base?

NVIDIA Vulkan developer page https://developer.nvidia.com/Vulkan is a great place to start. You can learn from Vulkan presentations and articles as well as NVIDIA demos and SDK samples.

2) Is NVIDIA going to continue to support OpenGL in the future?

NVIDIA is fully committed to invest in OpenGL that our ISVs rely on and will continue to support and improve it. NVIDIA believes in providing maximum functionality with minimal churn to developers. Hence, NVIDIA fully supports both Vulkan and OpenGL.

3) Is NVIDIA Vulkan driver conformant?

Yes, the beta drivers typically pass the latest version of Vulkan conformance. Current conformance status can be found at https://www.khronos.org/conformance/.

4) Does NVIDIA support Vulkan on Linux for Tegra?

5) Does NVIDIA support Vulkan on Android?

Источник

Vulkan. Руководство разработчика. Настройка окружения

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Я переводчик ижевской компании CG Tribe и здесь я буду публиковать перевод руководства к Vulkan API. Ссылка на источник — vulkan-tutorial.com. Это моя вторая публикация, которая посвящена переводу раздела Development Environment.

9. Загрузка моделей

10. Создание мип-карт

FAQ

Политика конфиденциальности

1. Вступление

2. Краткий обзор

3. Настройка окружения

Windows


Если вы занимаетесь разработкой для Windows, то, скорее всего, вы используете Visual Studio. Для полной поддержки С++17 необходимо использовать Visual Studio 2017 или 2019. Шаги, описанные ниже, подходят для VS 2017.

Vulkan SDK

Самым важным компонентом для разработки программ с Vulkan является SDK. Он включает в себя заголовочные файлы, стандартные слои валидации, инструменты отладки и загрузчик функций Vulkan. Загрузчик ищет методы драйвера в рантайме (во время исполнения) так же, как это делает библиотека GLEW для OpenGL.

SDK можно загрузить с сайта LunarG. Для этого используйте кнопки внизу страницы. Вам необязательно создавать аккаунт, однако с ним у вас будет доступ к дополнительной документации.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Если вы получили сообщение об ошибке, убедитесь, что ваша видеокарта поддерживает Vulkan, а драйвер обновлен до последней версии. См. главу Введение, в которой даны ссылки на драйверы крупных производителей.

В этой папке есть и другие программы, которые могут оказаться полезными для разработки. Программы glslangValidator.exe и glslc.exe используются для компиляции шейдеров из GLSL в байт-код. Подробно эта тема будет рассмотрена в главе Шейдерные модули. В папке Bin также находятся dll библиотеки загрузчика Vulkan и слоёв валидации, в папке Lib — статические библиотеки, а в папке Include – заголовочные файлы Vulkan. Вы можете изучить и другие файлы, но для руководства они нам не понадобятся.

Как уже было сказано, Vulkan – это API, независимый от платформы, в котором нет инструментов создания окна для отображения результатов рендеринга. Чтобы использовать преимущества кроссплатформенности Vulkan и избежать ужасов Win32, мы будем использовать библиотеку GLFW для создания окна. Есть и другие доступные библиотеки, например, SDL, но GLFW лучше тем, что она абстрагирует не только создание окна, но и некоторые другие платформенно-зависимые функции.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

В отличие от DirectX 12, в Vulkan нет библиотеки для операций линейной алгебры, поэтому ее придется скачать отдельно. GLM – это удобная библиотека, разработанная для использования с графическими API, она часто используется с OpenGL.

Библиотека GLM – это header only библиотека. Скачайте последнюю версию и сохраните ее в удобном месте. У вас должна получиться подобная структура каталогов:

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Настройка Visual Studio

После установки всех библиотек мы можем настроить проект Visual Studio для Vulkan и написать немного кода, чтобы убедиться, что все работает.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Добавьте в файл код, указанный ниже. Вам необязательно пытаться понять его сейчас, важно узнать, соберется ли и запустится ли программа. В следующей главе мы начнем описание с самых азов.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Добавьте include директории для Vulkan, GLFW и GLM:

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Перейдите в Linker → General → Additional Library Directories и добавьте расположения lib-файлов для Vulkan и GLFW:

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Введите имена lib-файлов Vulkan и GLFW:

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

И измените настройки стандарта на C++:

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Теперь вы можете закрыть диалог с настройками проекта. Если все сделано верно, подсветки ошибок в коде больше не будет.

Не забудьте выбрать для компиляции 64-битный режим.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Проверьте, чтобы число расширений не равнялось нулю («X extensions supported» в консоли).

Поздравляем, вы готовы к работе с Vulkan!

Linux

Инструкции ниже предназначены для пользователей Ubuntu, но вы можете следовать им, изменив команды apt на подходящие вам команды менеджера пакетов. Вам нужен компилятор с поддержкой С++17 (GCC 7+ или Clang 5+). Вам также понадобится утилита make.

Vulkan Packages

Самыми важными компонентами для разработки с использованием Vulkan под Linux являются загрузчик Vulkan, слои валидации и несколько утилит командной строки для проверки совместимости вашего компьютера с Vulkan:

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Если вы получили сообщение об ошибке, убедитесь, что ваша видеокарта поддерживает Vulkan, а драйвер обновлен до последней версии. См. главу Введение, в которой даны ссылки на драйверы крупных производителей.

Как уже было сказано, Vulkan – это API, независимый от платформы, в котором нет инструментов создания окна для отображения результатов рендеринга. Чтобы использовать преимущества кроссплатформенности Vulkan и избежать ужасов X11, мы будем использовать библиотеку GLFW для создания окна. Есть и другие доступные библиотеки, например, SDL, но GLFW лучше тем, что она абстрагирует не только создание окна, но и некоторые другие платформенно-зависимые функции.

Мы будем устанавливать GLFW с помощью следующей команды:

В отличие от DirectX 12, в Vulkan нет библиотеки для операций линейной алгебры, поэтому ее придется скачать отдельно. GLM – это удобная библиотека, разработанная для использования с графическими API, она часто используется с OpenGL.

Библиотека GLM – это header only библиотека. Ее можно установить из пакета libglm-dev :

Компилятор шейдеров

Теперь, когда настройка почти завершена, осталось установить программу для компиляции шейдеров из GLSL в байт-код.

glslc: error: no input files

Мы подробно рассмотрим glslc в главе о шейдерных модулях.

Настройка проекта для makefile

После установки всех библиотек мы можем настроить проект makefile для Vulkan и написать немного кода, чтобы убедиться, что все работает.

Аналогично определите базовые флаги линкера в переменной LDFLAGS :

Флаг -lglfw подключает библиотеку GLFW, -lvulkan — загрузчик Vulkan, а остальные флаги — низкоуровневые библиотеки и зависимости самой GLFW.

Запуск команды make test позволит убедиться, что программа работает успешно. При закрытии пустого окна программа должна завершиться успешным кодом возврата ( 0 ). У вас должен получиться готовый makefile, похожий на приведенный ниже:

MacOS

Инструкции ниже предназначены для тех, кто использует Xcode и менеджер пакетов Homebrew. Имейте в виду, что версия MacOS не должна быть ниже 10.11, а ваше устройство должно поддерживать Metal API.

Vulkan SDK

Самым важным компонентом для разработки программ с Vulkan является SDK. Он включает в себя заголовочные файлы, стандартные слои валидации, инструменты отладки и загрузчик функций Vulkan. Загрузчик ищет методы драйвера в рантайме (во время исполнения) так же, как это делает библиотека GLEW для OpenGL.

SDK можно загрузить с сайта LunarG. Для этого используйте кнопки внизу страницы. Вам необязательно создавать аккаунт, однако с ним у вас будет доступ к дополнительной документации.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Версия SDK для MacOS использует библиотеку MoltenVK. MacOS не имеет прямой поддержки Vulkan, а MoltenVK используется как прослойка для передачи вызовов в Apple Metal. Благодаря этому вы можете воспользоваться преимуществами отладки и производительности Apple Metal.

Как уже было сказано, Vulkan – это API, независимый от платформы, в котором нет инструментов создания окна для отображения результатов рендеринга. Мы будем использовать библиотеку GLFW для создания окна. Есть и другие доступные библиотеки, например, SDL, но GLFW лучше тем, что она абстрагирует не только создание окна, но и некоторые другие платформенно-зависимые функции.

Для установки GLFW на MacOS мы будем использовать менеджер пакетов Homebrew:

В Vulkan нет библиотеки для операций линейной алгебры, поэтому ее придется скачать отдельно. GLM – это удобная библиотека, разработанная для использования с графическими API, она часто используется с OpenGL.

Библиотека GLM – это header only библиотека. Ее можно установить из пакета glm :

Настройка Xcode

Запустите Xcode и создайте новый проект Xcode. В появившемся окне выберите Application > Command Line Tool.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Имейте в виду, вам необязательно пытаться понять весь код сейчас. Мы просто хотим использовать некоторые вызовы API, чтобы убедиться, что все работает правильно.

Xcode покажет некоторые ошибки, например, библиотеки, которые не были найдены. Необходимо настроить проект так, чтобы устранить эти ошибки. Выберите ваш проект в панели Project Navigator. Откройте вкладку Build Settings и выполните следующее:

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

(На скриншоте на каждый параметр приходится по одному пути. Но, если следовать этому мануалу, вы получите по два пути на параметр. — Прим. пер.)

Конфигурация Xcode должна иметь следующий вид:

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Осталось настроить несколько переменных среды. В панели инструментов Xcode перейдите в Product > Scheme > Edit Scheme. и во вкладке Arguments добавьте две переменные среды:

• VK_ICD_FILENAMES = vulkansdk/macOS/share/vulkan/icd.d/MoltenVK_icd.json
• VK_LAYER_PATH = vulkansdk/macOS/share/vulkan/explicit_layer.d

У вас должно получиться следующее:

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Итак, настройка завершена! После запуска проекта (не забудьте установить конфигурацию сборки Debug или Release) вы увидите следующее:

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Число расширений должно быть больше нуля («X extensions supported» в консоли). Остальные логи берутся из библиотек. Вы можете получать разные сообщения в зависимости от вашей конфигурации.

Поздравляем! Теперь вы готовы к реальной работе с Vulkan.

Источник

Что такое Vulkan и DirectX и как они влияют на видеоигры

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что это

Большинство из нас, геймеров, слышали о Microsoft DirectX. Однако, немногие из нас знакомы с его утилитами и как они влияют на видеоигры. В настоящее время, фактически, приобретя конкурента в форме Vulkan, вещи относящиеся к двум API, как правило, становятся еще более сложными. В этом руководстве мы увидим, что такое API, Vulkan и DirectX, и мы покажим метод, с помощью которого они влияют на наши игры.

Предварительная информация о API

Прежде чем мы начнем говорить о DirectX и Vulkan, нам нужно сначала понять, что такое API. Аббревиатура означает «Интерфейс прикладного программирования».

Интерфейс предназначен для обеспечения связи между двумя объектами. Одним из примеров является графический интерфейс Windows, который играет роль посредника между операционной системой и пользователем.

Интерфейс обеспечивает удобную среду. С помощью этой среды мы используем операционную систему, не зная, как ее функции реализованы в фоновом режиме. Интерфейс прикладного программирования (API) заполняет роль посредника. Однако на этот раз пользователь может быть ПК или другой программой и не обязательно человеком. API-интерфейсы гораздо более распространены, чем можно было бы подумать, предлагая программистам необходимые инструменты для создания своего программного обеспечения.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что этоОриентировочный пример, в котором мы используем API, — это когда мы автоматически регистрируемся в новом социальном средстве или онлайн-сервисе, используя наши ранее существующие учетные записи из Facebook или Google (вместо создания новой учетной записи вручную).

В таких случаях веб-сайт использует API, через который он связывается с конкретной услугой (например, Facebook или Twitter), чтобы собирать нашу личную информацию (имя (имена), адрес электронной почты, контактные номера и т. д.) Для создания нашего нового аккаунта.

Тем не менее существует множество других применений API для всех видов взаимодействия между приложениями и компьютерами, такими как системы баз данных, операционные системы и библиотеки программного обеспечения.

В таких случаях использование API-интерфейсов применимо к нашему компьютерному оборудованию и в частности, к нашей графической карте (видеокартам).

DirectX и Vulkan фактически улучшают связь между приложением (игрой) и графическим процессором, чтобы повысить производительность графики.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что этоMicrosoft DirectX

С выпуском Windows 95 и модели защищенной памяти разработчики не имели такого же доступа к ресурсам, как в MS-DOS. DirectX впервые появился в виде набора конкретных API для разработки мультимедийных приложений, таких как игры.

Термин «DirectX» начинается со слова «Direct», ссылаясь на прямой доступ к ресурсам системы. Некоторые примеры включают Direct3D для графики и DirectSound для аудио. Часть «Х» относится к API в общей коллекции; таким образом объединив все API-интерфейсы под названием DirectX. Вышеупомянутое название также вдохновило название популярной видеоигр компании Xbox.

Вышеприведенное иллюстрирует тесную связь между DirectX и консолью Microsoft. Его последняя версия, DirectX 12, имеет большие улучшения. Тем не менее он поддерживается только Windows 10 и новейшей игровой консолью компании Xbox One.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что этоDirect3D является жемчужиной DirectX и полезен для создания 3D-объектов на нашем экране. Он также позволяет просматривать игры в полноэкранном режиме, а также использовать аппаратные ускорители. Последний метод позволяет реализовать некоторые функции более эффективно, чем они работают в программном обеспечении. Это может быть достигнуто за счет более эффективного использования аппаратного обеспечения нашего компьютера. В этом случае это будет наша видеокарта.

Вулкан AMD

В 2015 году Kronos Group разработала свой собственный API. Vulkan — это низкоуровневый API, используемый для разработки графически требующих приложений. Его первая стабильная версия дебютировала в августе 2016 года.

Следует четко указать, что «низкий уровень» не относится к качеству. Вместо этого этот термин описывает способность Вулкана работать на аппаратном уровне.

Хронос окружает себя одними из самых больших имен в ИТ-индустрии. Некоторые из них — Google, Intel, Sony, Nvidia и AMD. Последние два дали API, свести к минимуму время разработки Vulkan.

OpenGL — популярный API среди графических дизайнеров. Фактически он был разработан Хроносом, и он также включает в себя многие характеристики Вулкана. Однако его прием игровыми дизайнерами был непредвиденным.

Одним из самых сильных активов Vulkan является тот факт, что он с открытым исходным кодом. Кроме того, совместимость Vulkan с несколькими платформами вместе с общей производительностью — это два дополнительных актива, которые делают его более прибыльным, чем DirectX.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что этоЗдесь вы можете найти полный список с именами, которые содержат Khronos. Мантия обеспечила основную базу, на которой был разработан Вулкан. Наконец Vulkan в настоящее время находится в версии 1.1.

Как они влияют на игры

До этого момента мы рассмотрели некоторые основы, касающиеся API, Microsoft и Khronos. Но как они влияют на игры?

Эти два API значительно улучшили производительность. До сих пор DirectX, по-видимому, обеспечивал лучшую производительность, чем Vulcan, что на самом деле он не так далеко позади.

Microsoft утверждает, что DirectX 12 снижает потребление на 50% при использовании DirectX 11. С другой стороны, Vulkan также демонстрирует лучшую гибкость, чем его предшественник. Говоря о предшественниках, DirectX 11 и OpenGL были созданы с учетом одноядерных процессоров; что означает, что они не были точно настроены с использованием новых, многоядерных процессоров.

В результате одно ядро ​​управляет большинством различных процессов, в то время как остальные работают с низкой скоростью, а иногда и вовсе отключены. Оба API (DirectX 12 и Vulkan) поддерживают процессоры с несколькими ядрами и потоками, чтобы максимально эффективно использовать свои возможности. Более того, они передают большую часть требуемых задач от процессора к графической карте (видеокартам), предлагая более сбалансированный опыт.

Взаимодействие между этими двумя элементами может существенно повлиять на будущие сборки ПК. Графические карты в значительной степени важнее, чем процессоры, когда дело доходит до игр. С дальнейшим развитием игровых API маловероятно, что процессоры могут стать еще менее важными, когда дело доходит до него. Таким образом, даже с простым процессором мы можем получить хорошую производительность без каких-либо узких мест.

Поддержка нескольких графических карт

Здесь Khronos Group столкнулась со значительным разрывом между двумя API-интерфейсами с поддержкой использования нескольких графических карт (использование явного многоканального GPU). Мы можем использовать разные карты, если их чипы имеют аналогичную архитектуру и используют один и тот же драйвер. Это позволит различным картам обрабатывать другую часть экрана.

Microsoft здесь еще на один шаг впереди, позволяя использовать несколько графических карт даже у другого производителя, что часто бывает, поскольку большинство систем имеют независимый и интегрированный графический процессор. Важно подчеркнуть тот факт, что эти реализации отличаются от возможностей SLI и Crossfire от Nvidia и AMD, которые реализованы с помощью драйверов, и в частности, в случае SLI требуют идентичные графические карты.

Шейдеры

Шейдеры — это небольшие программы, которые запускаются на наших видеокартах. Они отвечают за определенные функции различных объектов в 3D-среде. Тени, туман и освещение в игре являются результатом шейдера.

Vulkan использует промежуточное представление для шейдеров под названием SPIR-V. Его двоичная форма похожа на байт-код DirectX DX.

SPIR-V версия 1.3 отличается SPIR-V opt, инструментом для уменьшения размера шейдеров. Максимальный размер достигает + 40% от байт-кода DX соответствующего представления для DirectX.

Кроме того, некоторые структуры в HLSL (высокоуровневый шейдерный язык), которые были разработаны Microsoft, не поддерживались непосредственно некоторыми видеокартами.

HLSL широко используется DirectX с версии 9. Он использовался в качестве дополнения к существующему языку ассемблера шейдеров. С новой версией SPIR-V Vulkan также поддерживает ее.

Таким образом, разработчики смогут использовать существующий код для своих шейдеров, и им не нужно будет изобретать колесо. Следовательно, игры будут легко перенесены с одной платформы на другую.

Совместимость с несколькими платформами

Что касается платформ, большое преимущество Vulkan заключается в том, что он поддерживает Windows, Linux, Mac OS, Android и iOS. DirectX 12 с другой стороны, поддерживается только в Windows 10 и Xbox One. Чтобы использовать усовершенствования, предлагаемые DirectX 12, нам нужно либо обновить нашу операционную систему до Windows 10, либо получить новую консоль компании.

Если вы хотите попробовать DirectX 12, и вам не удалось получить Windows 10 во время бесплатного обновления, ознакомьтесь с нашим пошаговым руководством по свободным методам модернизации, которые доступны:

Возвращаясь к предыдущей теме, игровой порт, поддерживаемый API Vulkan, будет значительно проще по сравнению с портом, поддерживаемым DirectX.

С одной стороны, мы можем иметь названия на нескольких платформах, а с другой разные операционные системы имеют возможность размещать наши игры. Одна из причин, почему Linux не так популярен, как Windows, связана с тем, что последняя отличается от игр.

Распределение Linux может быть лучшим выбором для размещения наших игр, поскольку он может быть скорректирован для этой цели. Например Steam OS — это специализированная операционная система, предназначенная исключительно для игр.

Также подумайте: компания думает о создании программного обеспечения для разработки игр и хочет поддерживать API. Кто бы вы выбрали?

Оба имеют схожие мощности оба лучшие, чем их предшественники, и оба обеспечивают явное использование видеокарт. Vulkan поддерживает все платформы, включая Windows 10 и Xbox One, в то время как DirectX поддерживает только последние две.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что этоВиртуальная реальность

Необходимо сказать, что Vulkan является примером больших улучшений в области виртуальной реальности. Приложение VR должно отображать определенную 3D-сцену с двух разных точек зрения — по одному для каждого глаза.

До этого момента вышесказанное было возможно, отправив все необходимые команды на нашу графическую карту, чтобы сформировать трехмерное изображение для одной перспективы. Подход такой же для перспективы нашего второго глаза.

Версия 1.1 Vulkan предлагает набор команд рендеринга для формирования нескольких, немного разных выходов (изображений), которые в конечном итоге дают лучшую производительность в приложениях VR.

Развитие и будущее

Было бы упущением, не говоря уже о ходе разработки двух API. С одной стороны, у нас есть ветеран DirectX с более чем 20-летним развитием. С другой стороны, Вулкану едва будет 3 года с 2015 года. Тот факт, что Vulkan является открытым исходным кодом, может немного повлиять на его темпы роста. Конечно игроки Khronos, похоже серьезно относятся к разработке API, так как уровни улучшения впечатляют.

Все мы можем создавать новые инструменты и модификации и предоставлять их сообществу, помогая API расти быстрее. Наконец следует упомянуть, что DirectX не имеет вышеуказанной функции. Несмотря на свои годы развития, около 40 игр в настоящее время используют Vulkan, занимая большую часть рынка. Некоторые из них — Quake, Roblox, Talos и Dota 2. Что касается производительности, Vulkan приближается к DirectX, и в некоторых случаях он превосходит его. Самые захватывающие примеры работы Вулкана — игра Doom.

nvidia vulcan что это. Смотреть фото nvidia vulcan что это. Смотреть картинку nvidia vulcan что это. Картинка про nvidia vulcan что это. Фото nvidia vulcan что этоVulkan расширил свою поддержку названий AAA, таких как Wolfenstein II, не пренебрегая названиями VR, такими как Doom VFR и Serious Sam VR. Здесь вы можете увидеть подробный список поддерживаемых игр. Хотя здесь вы найдете игры с поддержкой DirectX 12.

Оба API значительно улучшили производительность. Лучшее использование нескольких графических карт и меньшее использование ЦП повысит общую производительность наших систем. По слухам, новые видеокарты от Nvidia будут выпущены к концу лета и значительно превзойдут сегодняшние высокопроизводительные графические карты. В целом, общее состояние вещей кажется довольно гибким. В любом случае, изменения в разработке игр скоро будут у нас, и оба API несомненно будут играть важную роль.

Как вы относитесь к двум API?

Вы уже узнали всю информацию, которую мы предоставили на Vulkan и DirectX? Со временем их соперничество усиливается, какой из двух API вы считаете более полезным для развития игры? Мы с нетерпением ждем ваших комментариев.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *