Вышла первая версия Vulkan API
В разработке 3D-приложений, видеоигр и систем виртуальной реальности наступает новый этап. Совместными усилиями разработчики сделали важный шаг на пути к унификации кода и более эффективному использованию аппаратных ресурсов. Консорциум Khronos Group, насчитывающий более ста компаний, официально представил первую версию открытого кроссплатформенного API под названием Vulkan (ранее – GLNext). Он обеспечивает непосредственный контроль над ГП и ЦП, устраняя «узкие места» и повышая общую производительность.
На форумах часто можно увидеть однотипные вопросы о том, раскроет ли процессор X видеокарту Y и какая конфигурация при одинаковом бюджете будет производительнее в конкретных приложениях. Он возникает из-за того, что современные ГП обладают большей производительностью, чем ЦП того же уровня и поколения. В играх и других 3D-приложениях временами возникают ситуации, когда на ЦП приходится большая нагрузка, а ГП простаивает. Например, процессор обсчитывает взаимодействие игроков и объектов, а видеокарта ждёт от него данные, чтобы отрисовать следующий кадр. Из-за несбалансированности нагрузки возникают задержки, а динамичная игра может превратиться в покадровое слайд-шоу даже с мощной видеокартой.
Указанные проблемы характерны для платформы PC и практически незнакомы владельцами игровых консолей. Разработчики консольных игр всегда знают детальные спецификации приставок и могут выполнять глубокую оптимизацию кода с учётом их особенностей. Компьютеры, ноутбуки, планшеты – это зоопарк не только из разных конфигураций, но и принципиально отличных архитектур. При создании игр для столь разношёрстной платформы приоритетом становится универсальность кода, что негативно сказывается на скорости его исполнения.
Сравнение Vulkan API и OpenGL (изображение: Khronos Group).Разработчики операционных систем по-разному пытаются решить проблему низкой эффективности кода сторонних приложений. Microsoft начала искать пути оптимизации графических вычислений давно, однако реальная поддержка низкоуровневых операций появилась только в DirectX 12. Этот API доступен лишь в одной ОС – Windows 10. В свою очередь, положение Apple оказалось ближе к таковому у производителей игровых консолей. Когда одна и та же компания выпускает мобильные процессоры и софт, его согласованной работы добиться куда легче. Тем не менее, пути оптимизации самой разработки игр и приложений у Apple далеко не исчерпаны. В iOS 8 появился Metal API, также ориентированный на использование низкоуровневых операций.
Остальные крупные компании предпочитают действовать совместно и в рамках открытых стандартов. Появившийся 16 лет назад консорциум Khronos Group объединил более ста производителей, включая таких кровных друзей, как AMD, Nvidia и Intel. В своё время консорциум явил на свет открытые стандарты OpenGL, OpenCL, OpenCV и многие другие.
Khronos Group насчитывает более ста участников.По сравнению с OpenGL, Vulkan даёт разработчикам возможность использовать низкоуровневые операции без ущерба для переносимости кода. С помощью Vulkan на разных платформах можно достичь почти такого же сбалансированного алгоритма, как на специализированных игровых консолях. Этот API помогает эффективнее использовать аппаратные возможности дискретных видеокарт и интегрированных графических чипов в 2D и 3D-режимах.
Подобно DirectX 12, Vulkan поддерживает прямой доступ к памяти GPU. Дополнительно Vulkan снижает зависимость скорости отрисовки от качества драйверов. За счёт трансляции кода шейдерных программ в промежуточный двоичный формат, их компиляцию можно выполнять уже на этапе разработки, а не во время запуска 3D-приложения.
Vulkan разрабатывается с середины 2014 года. В его основу легли графические библиотеки другого низкоуровневого API – AMD Mantle. Компания AMD также выступала в роли редактора официальных спецификаций. Помимо них Khronos group опубликовала ряд тестов, демонстрирующих преимущество нового API. Все они доступны на портале GitHub.
«У Vulkan есть огромный потенциал, – говорит Дин Секулик (Dean Sekulic), программист Croteam. – Если сказать о нём в одном предложении, то с появлением Vulkan завершилось давнее противостояние между борцами за производительность и переносимость кода. Сейчас мы портируем на него The Talos Principle в подтверждение новой концепции разработки».
Компания Valve спонсирует создание открытого SDK LunarG с поддержкой API Vulkan. Однако несмотря на открытые спецификации, доступные инструменты разработки, возможность глубокой оптимизации кода и другие преимущества, Vulkan ещё какое-то время будет редко используемым API. Большинство игроделов останутся верны DirectX 11/12 и OpenGL. Куда проще повысить системные требования или снизить качество графики, чем осваивать новые способы разработки. Понимая это, консорциум Khronos Group стремиться обеспечить поддержку Vulkan не только в новых ОС и графических решениях, но и на морально устаревших системах.
Сейчас Vulkan поддерживается в среде Windows (начиная с седьмой версии), Linux, SteamOS и Android. В ближайшее время ожидается добавление поддержки ОС Tizen от Samsung. Бета-версии драйверов с поддержкой API Vulkan уже выпустили AMD и Nvidia. На очереди Intel, Qualcomm, ARM и другие производители, входящие в консорциум Khronos Group. Демонстрацию Vulkan на графическом чипе ARM Mali можно увидеть в ролике ниже.
В настоящее время Vulkan можно протестировать на видеокартах с графическими чипами Nvidia GeForce GT 630 и выше, AMD Radeon HD 7700 и новее. Также API Vulkan поддерживает гибридные процессоры AMD с графическим ядром Radeon HD 8500 – 8900 и R2 – R9. Встроенная графика десктопных и мобильных процессоров Intel поддерживается Vulkan начиная с семейства Core пятого поколения.
В полной мере возможности нового API раскроются перспективными графическими процессорами Nvidia серии Pascal и AMD с архитектурой GCN четвёртого поколения. Соответствующие видеокарты предположительно войдут в серию GTX 1xxx и Radeon Rx 400. По неофициальным данным начало их продаж планируется на второй квартал 2016 года.
Vulkan® SDK — Что входит в SDK
Вулкан ® SDK
Vulkan — это графический и вычислительный API нового поколения, обеспечивающий высокоэффективный межплатформенный доступ к современным графическим процессорам (GPU), которые используются в самых разных устройствах, от ПК и консолей до мобильных телефонов и встроенных платформ. Vulkan API был создан Khronos Group, консорциумом компаний, занимающихся аппаратным и программным обеспечением.
Помимо предоставления программных решений для 3D-графики и консультационных услуг, LunarG также является создателем и куратором пакета разработки программного обеспечения Vulkan (SDK). Vulkan SDK – это набор основных инструментов, используемых разработчиками для помощи в разработке и отладке приложений Vulkan. LunarG тесно сотрудничает с рабочей группой Khronos Vulkan, чтобы постоянно улучшать компоненты Vulkan SDK по мере того, как Vulkan API продолжает развиваться.
Компания LunarG недавно передала Khronos Group этот SDK с открытым исходным кодом, который доступен для операционных систем Windows ® , Linux и macOS ® . SDK имеет открытый исходный код и доступен всем.
Скачайте Вулкан SDK
Vulkan SDK включает:
Vulkan Loader
Vulkan SDK включает бинарный загрузчик Vulkan под маркой Khronos для Linux и macOS. В Windows загрузчик Vulkan поставляется с пакетами обновлений драйверов поставщиков оборудования. Загрузчик обнаруживает и управляет устройствами и слоями Vulkan, доступными приложению.
Инструменты разработчика приложений Vulkan
SDK предоставляет вам инструменты, помогающие разработчику в процессе разработки приложений. Распространенными инструментами являются уровни проверки, apidump, vulkaninfo и инструменты захвата/воспроизведения.
Инструменты захвата Vulkan
Инструменты захвата и воспроизведения позволяют захватывать вызовы API в двоичном формате и воспроизводить их. Это полезно для совместного использования трассировок при отладке приложений третьими сторонами (например, IHV) без необходимости совместного использования приложения. Для разработчиков приложений может быть полезно проверить, что приложение выполняет использование Vulkan API, как и ожидалось.
Инструменты SPIR-V™
SPIR-V — это новое бинарное промежуточное представление (IR) для графических шейдеров и вычислительных ядер. Графический API Vulkan требует формата SPIR-V для всех шейдеров. Чтобы помочь вам выполнить это требование, SDK включает инструменты для правильного создания шейдеров, преобразования GLSL и HLSL, проверки и улучшения сжатия.
Документация SDK
Каждый SDK предназначен для версии заголовка Vulkan. Включена онлайн-документация для всех инструментов в SDK, а также сборки спецификации Vulkan для заголовочной версии.
Примеры и руководство по Vulkan
Предоставляется интерактивное руководство по Vulkan, которое проведет пользователя через шаги по отображению основного объекта на экране. Кроме того, существуют простые образцы Vulkan, демонстрирующие использование некоторых вызовов API Vulkan.
Преимущества использования SDK
- Предоставляет вашим разработчикам необходимые инструменты для разработки приложений Vulkan
- Оптимизирует процесс разработки приложений в Vulkan, предоставляя готовые версии ключевых инструментов разработчика по сравнению с заголовком Vulkan версии 9.0048
Наша работа с Khronos Group
LunarG имеет давние партнерские отношения с Khronos Group, технологическим консорциумом, который занимается разработкой передовых бесплатных стандартов ускорения для 3D-графики. LunarG также активно влияет на процесс спецификации Vulkan и представляет потребности своих клиентов на собраниях рабочей группы Vulkan.
Часто задаваемые вопросы о Vulkan SDK
Найдите ответы на самые важные вопросы о Vulkan SDK.
Чтение часто задаваемых вопросов
Белая бумага
Совместимость версий Vulkan SDK
Узнайте, почему больше не нужен Vulkan SDK на основе заголовков 1.0.
Скачать информационный документ
Нужна помощь с программным обеспечением для 3D-графики
?
Заинтересованы в программных услугах LunarG или у вас есть уникальная потребность, которую вы здесь не видите? Давайте поговорим о вашем проекте…
Свяжитесь с нами
Главная | Вулкан | Кроссплатформенная 3D-графика
Главная | Вулкан | Кроссплатформенная 3D-графикаКонференция и встреча разработчиков Premier Vulkan
7-9 февраля 2023 г. | Мюнхен, Германия
Страница события
Khronos укрепляет экосистему Вулкана
Vulkan 1. 3 включает широко поддерживаемые функции в основной стандарт; дорожная карта Vulkan дает представление о будущих требованиях Vulkan для ключевых рынков; Профили упрощают разработку и развертывание портативных приложений
Вулкан 1.3 Пресс-релиз
Hades — Супергигантские игры
Теперь доступно с Vulkan на ПК и Nintendo Switch
Hades — отмеченная множеством наград бродилка по подземельям, в которой вы бросаете вызов богу мертвых, рубя и прорубая себе путь к выходу из Подземного мира греческих мифов.
Учить больше
Half Life: Аликс — Valve
Вулкан для VR
Half-Life: Alyx — это VR-возвращение Valve к серии Half-Life. Это история невозможной борьбы со злобной инопланетной расой, известной как Альянс, действие которой происходит между событиями Half-Life и Half-Life 2. Играя за Аликс Вэнс, вы — единственный шанс человечества на выживание.
Учить больше
Path of Exile — Игры с шлифовальным механизмом
Доступно на ПК и macOS с Vulkan
Path of Exile — бесплатная ролевая онлайн-игра, действие которой происходит в темном фэнтезийном мире Рэкласт. Доступно на ПК, macOS с Vulkan.
Учить больше
Поддержка платформы Vulkan
Vulkan — это межплатформенный отраслевой стандарт, позволяющий разработчикам ориентироваться на широкий спектр устройств с одним и тем же графическим API.
Вулкан Девелопментс
Последние расширения и дополнения Vulkan API
Vulkan постоянно развивается, предлагая новые возможности и улучшения API.
Вот некоторые из последних разработокBaldur’s Gate 3 — Larian Studios
Вулкан Девелопментс
Последние расширения и дополнения Vulkan API
Vulkan постоянно развивается, добавляя новые возможности и улучшения в API. Вот некоторые из последних разработок
Новичок в программировании графики?
Если вы только начинаете свое путешествие по программированию графики, мы перечислили несколько рекомендуемых ресурсов, которые помогут вам освоить основы.
Узнать больше
Марек Окон — Unsplash
Сообщество
Присоединяйтесь к нашему сообществу
Есть несколько способов следить за последними разработками Vulkan, получать ответы на вопросы и вносить предложения по улучшению.
Вы найдете оживленные обсуждения сообщества Vulkan на нескольких форумах и в социальных сетях ниже. Это отличный способ принять участие!
Последний проект
Vulkan Portability
Vulkan® Portability™ направлен на противодействие фрагментации платформы путем поощрения многоуровневой реализации функций Vulkan через Metal, DX12 и другие API. Переносимость Vulkan позволяет надежно развертывать приложения Vulkan на различных платформах
Последний проект
Vulkan SC
Выпуск спецификации Vulkan SC 1.0 1 марта 2022 г. стал важной вехой в разработке нового поколения критически важных для безопасности API. Основанный на Vulkan 1.2 API, Vulkan SC удовлетворяет потребности критически важных с точки зрения безопасности систем, используя производительность современных графических процессоров для удовлетворения их требований к графике и вычислениям.
События
Предстоящие события
Посмотреть больше событий
Вулканизированный 2023
2 февраля 2023 г. — 9 февраля 2023 г.
Крупнейшее мероприятие, посвященное 3D-разработчикам, использующим Vulkan API, пройдет в прекрасном городе Мюнхен в Германии 6-7 февраля 2023 г.
Подробнее
Затенение сетки разных производителей с помощью Vulkan
27 октября 2022 г.
Затенение сетки разных производителей с помощью Vulkan Этот сеанс проводится в поддержку нового блога Затенение сетки разных поставщиков с помощью Vulkan. Четверг, 27 октября 2022 г. Продолжительность: 60 минут Время начала: 18:00…
Подробнее
Новости
Последние новости о Вулкане
Узнать больше
Блог Collabora: взгляд на расширения Vulkan в Venus
Venus — это виртуальный драйвер Vulkan, основанный на протоколе Virtio-GPU. По сути, протокол поверх другого протокола, он определяет сериализацию команд Vulkan между гостем и хостом. В этом блоге подробно рассказывается о драйвере Venus, его компонентах и их взаимосвязях в контексте расширений.
MoltenVK обновлен для поддержки Vulkan 1.2 на Apple macOS/iOS
MoltenVK 1.2 был помечен сегодня, и в этой версии теперь есть поддержка Vulkan 1.2. Этот выпуск MoltenVK 1.2 построен на основе Vulkan SDK 1.3.231, а также предоставляет поддержку SPIR-V 1.4, KHR_shader_float_controls, улучшает функциональность семафора Vulkan, устраняет утечки памяти, устраняет сбои и множество других улучшений для сопоставления Vulkan с Metal.
Оставить комментарий