Меню

Vulkan api как установить

Vulkan API «Hello Triangle»

Статья описывает основные принципы работы с Vulkan API и включает в себя материал по установке SDK, обработке ошибок, работе с различными сущностями API и краткий курс по выводу треугольника, в качестве практической части. Работа позиционирует себя как быстрый экскурс в основы Vulkan API, не претендуя на полноту и оставляя детали на самостоятельное рассмотрение.

Для лучшего понимания материала крайне рекомендуется использовать документацию с официального сайта https://www.khronos.org/registry/vulkan/.

Вступление

В связи с большим количеством кода присущим Vulkan API, ради облегчения понимания происходящего структура программы не будет разделена на модули или обернута в классы, ровно как и не будет производится освобождение ресурсов и обработка сопутствующих этому процессу ошибок. Статья требует понимания базовых принципов программирования на С/С++ и уровень знакомства с WinAPI достаточный для создания окна и работы с ним. Также необходим опыт в работе со средой разработки Visual Studio 2013. Материалы по этим темам не будут включены в данную работу, т.к. могут быть легко найдены в сети.

Подготовка

Для простейшей демонстрации Vulkan API (вывод треугольника) нам потребуется установить «LunarG Vulkan SDK», создать консоль для вывода ошибок и логов, а также окно WinAPI, в которое бы и осуществлялся вывод.

Установка SDK

Скачать установщик «LunarG Vulkan SDK» можно на официальном сайте https://vulkan.lunarg.com/. Само собой, для работы с любыми версиями Vulkan API необходим не только SDK, но и соответствующий драйвер, специфический для производителя видеокарты. Также важно то, что имея SDK определенной версии, мы можем ограничить использование драйвера более низкой. При написании статьи использовалась версия SDK 1.0.21.1.

После установки SDK, все необходимые нам файлы могут быть найдены в соответствующем каталоге («C:/VulkanSDK/%версия SDK%» по умолчанию). В первую очередь нас интересуют заголовочные файлы (папка «vulkan» целиком), которые находятся в каталоге «Include» и файлы библиотек (файл «vulkan-1.lib»), в каталоге «Bin»/«Bin32». Имея их на руках, мы можем приступить к созданию консоли и окна.

Консольный проект

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

Затем, скопировать в папку с проектом (где размещен «*.vcxproj» файл, а не «*.sln») все необходимые нам файлы, т.е. папку заголовочных файлов «vulkan» и библиотечный файл «vulkan-1.lib». Убедимся в работоспособности подключенных файлов:

На данном этапе окно не является для нас чем-то необходимым, но мы бегло рассмотрим код его создания сейчас, дабы не возвращаться к этой теме во время изучения Vulkan API.

Для работы с окном нам необходимо подключить WinAPI:

Также, нам необходимо получить образец (instance) нашей программы (в контексте WinAPI):

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

Читайте также:  Как установить галоген на скутер

Обработка ошибок

В условиях большого количества кода, т.е. в условиях Vulkan API, жизненно необходимо правильно отлавливать ошибки. Важность понимания этого процесса столь велика, что обработка ошибок будет описана в отдельном разделе этой статьи.
Мы не будем рассматривать логические ошибки (вроде передачи в качестве аргумента вектора на 10 элементов, когда в действительности он рассчитан всего лишь на 5), но рассмотрим способы найти их в некоторых ситуациях (в случае передачи несовместимых параметров). Так же мы рассмотрим способы выявления ошибок, которые можно отловить в «инженерной» версии программы, а также те, которые могут различаться для видеокарт разных производителей. В конечном счете, мы получим инструмент для составления детального отчета об ошибках в debug-версии приложения.

Результат выполнения

В большинстве случаев детальный анализ ошибок и большое количество проверок допустимо только в debug-версии приложения. Фокус заключается в том, что release-версия не должна содержать ошибки по определению, а потому и тратить лишние ресурсы на их проверку нет смысла. С другой стороны, debug-версия должна предоставлять не только сам факт наличия ошибки, но и более-менее развернутое описание. К счастью, Vulkan API разрабатывался отталкиваясь именно от такой идеологии.

Слои – набор опциональных модулей, предназначенных для проверки корректности (соответствие стандарту) использования Vulkan API. Их наличие и реализация зависят от версии API и видеокарты, а потому их использование носит отладочный характер – они не включаются в release-версию приложения. Еще одним важным нюансом является то, что для образца и устройства Vulkan API слои различаются.

Доступные для образца слои перечисляются следующим образом:

Доступные для устройства слои перечисляются схожей функцией:

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

Фундаментальные объекты

Прежде чем приступить к непосредственному выводу графики, нам необходимо создать серию абстрактных объектов, которые являются фундаментом для дальнейшей работы.
В общих чертах наш план выглядит следующим образом:
• Подготовить списки слоев и расширений для образца интерфейса
• Создать образец интерфейса
• Инициализировать получение отчетов об ошибках
• Перечислить все имеющиеся физические устройства
• Подготовить списки слоев и расширений для логического устройства
• На основе любого физического устройства создать логическое устройство
Но для начала, ознакомимся с функционалом.

Образец интерфейса

Первым необходимым нам объектом является образец интерфейса (instance) Vulkan API. Он содержит в себе базовую информацию о нашем приложении, необходимых для его работы слоях и расширениях.

Структура VkInstanceCreateInfo выглядит следующим образом:

Поле flags зарезервировано для использования в будущем и должно быть равно нулю. pApplicationInfo – указатель на структуру, содержащую информацию о приложении. enabledLayerCount и ppEnabledLayerNames – количество слоев и указатель на массив их названий. enabledExtensionCount и ppEnabledExtensionNames – количество и названия расширений.

Читайте также:  Как установить cwm recovery через flash tools

Больше всего здесь нас интересует указатель на структуру с информацией о приложении – pApplicationInfo :

Теперь можно приступать к созданию образца интерфейса. Для начала нужно подготовить списки слоев:

Заполним информацию о приложении:

И, собственно, информацию для создания образца интерфейса:

Отчет об ошибках

Отчет об ошибках — мощный инструмент, который позволяет получать информацию от слоев, используя функцию обратного вызова (callback).
Как и любой другой объект Vulkan API, отчет рассматривается как объект и имеет соответствующие функции для создания и структуры, для описания. Отличие в том, что функцию для создания отчета мы будем получать с помощью vkGetInstanceProcAddr :

Полученная нами функция имеет следующий вид:

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

Итак, преступим к созданию отчета:

Физические устройства

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

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

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

Источник

Vulkan api как установить

Если вы столкнулись с проблемой низкого FPS в DOOM и вам хочется ее исправить, то вы пришли как раз по адресу.
Магическая штука Vulkan API поднимает FPS в среднем на 15-25 кадров (зависит от конфигурации вашего компа), превращая некомфортные 20-30 FPS в совершенно играбельные 50-60.

ВНИМАНИЕ! ПРЕЖДЕ ЧЕМ ВЫПОЛНЯТЬ ДЕЙСТВИЯ, ОПИСАННЫЕ В РУКОВОДСТВЕ, НЕОБХОДИМО УБЕДИТЬСЯ, ЧТО ВАШ КОМПЬЮТЕР СООТВЕТСТВУЕТ ХОТЯ БЫ МИНИМАЛЬНЫМ СИСТЕМНЫМ ТРЕБОВАНИЯМ!

Что это вообще за зверь и как ему удается так ощутимо повысить производительность?

Почему он дает такой прирост к FPS? Я, конечно, могу начать вам рассказывать о супер-пупер технологиях, использующихся в нем, но для простоты просто скажу, что он использует компьютерное железно намного эффективнее, чем его предшественник OpenGL.

Все очень просто, начнем с первого шага:

Запускаем сам DOOM. Заходим в Параметры>Расширенные и в пункте «Графический API» выбираем «Vulkan API» вместо «OpenGL». Перезапускаем игру.

Заходим в игру и радуемся повышению производительности!

Вы не обновили драйвера, либо скачали не ту их версию. Перекачиваем более новую/стабильную версию.

Огромное спасибо пользователю arikuto за найденную инструкцию!

Не забудьте оценить руководство или оставить свою критику/пожелания!

Источник

Что такое драйвера VulkanRT(Run Time Libraries) для Windows?

Vulkan Run Time Libraries — кроссплатформенный API для работы с 2D и 3D графикой и повышения производительности графического процессора. Разработана компаниями AMD и Khronos Group, но используется также NVidia и другими разработчиками.

Читайте также:  Как установить на телефон программу слежения с другова телефона

VulkanRT — это нужные драйвера для Windows, которые не следует удалять. Это не вирус и не тот вулкан, который предложит крутить барабан. Vulcan API повышает производительность графического процессора видеокарты, заставляя её работать с максимальной эффективностью. Помимо новых версий Windows, технология также применяется на Linux и Android.

Папка с Vulkan Run Time Libraries находится в Program Files и весит совсем немного, программа также отображается в списке установленных программ и среди иных драйверов и компонентов Windows. Многие пользователи не знают, что за программа VulkanRT, и по ошибке путают эти драйвера с рекламными вирусами.

Что такое VulkanRT и зачем он Windows

В России распространено игровое вирусное ПО со словом «Вулкан», поэтому название VulkanRT вызывает опаску у пользователей. Это полезные драйвера для работы с графикой, динамические библиотеки Vulkan Run Time Libraries от разработчика NVidia.

Обычно приложение попадает на компьютер без ведома пользователей — вместе с новыми драйверами или при обновлении ПО. Драйвера можно поставить самостоятельно, если загрузить и установить приложение GeForce Experience с сайта NVidia.

В текущей версии вся программа состоит из нескольких файлов:

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

Стоит ли удалять VulkanRT с компьютера?

В первую очередь VilkanRT и Vilcan api нужны геймерам, играющим в современные игры с последними версиями библиотек DirectX. Приложение vulkaninfo.exe и остальные элементы драйверов нужны последним версиям DirectX 12 для повышения качества изображения в компьютерных играх.

Если драйвера удалить, такие игры не могут работать на максимальных настройках графики, часть настроек будут недоступны. Отдельные игры могут вообще не запуститься — это уже стало головной болью многих геймеров, которые после этого ищут инструкции, как скачать и установить VulcanRT и API. Для Windows 8/10 и Linux ПО Vulcan можно загрузить на сайте NVivia.com.

Тем не менее, некоторым пользователям не нравится технология Vulkan — он делает изображение более «расплывчатым», сглаживая картинку ради реалистичности. Драйвера также можно удалить, если на компьютере нет игр и других приложений, использующих VulkanRT.

Удалить vulkaninfo.exe можно через стандартный деинсталлятор Windows:

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

Источник