Версия для слабовидящих
Вышла первая версия Vulkan API Печать Email
Новости об инновациях
19.02.2016

В разработке 3D-приложений, видеоигр и систем виртуальной реальности наступает новый этап. Совместными усилиями разработчики сделали важный шаг на пути к унификации кода и более эффективному использованию аппаратных ресурсов. Консорциум Khronos Group, насчитывающий более ста компаний, официально представил первую версию открытого кроссплатформенного API под названием Vulkan (ранее – GLNext). Он обеспечивает непосредственный контроль над ГП и ЦП, устраняя «узкие места» и повышая общую производительность.

Vulkan-m

На форумах часто можно увидеть однотипные вопросы о том, раскроет ли процессор X видеокарту Y и какая конфигурация при одинаковом бюджете будет производительнее в конкретных приложениях. Он возникает из-за того, что современные ГП обладают большей производительностью, чем ЦП того же уровня и поколения. В играх и других 3D-приложениях временами возникают ситуации, когда на ЦП приходится большая нагрузка, а ГП простаивает. Например, процессор обсчитывает взаимодействие игроков и объектов, а видеокарта ждёт от него данные, чтобы отрисовать следующий кадр. Из-за несбалансированности нагрузки возникают задержки, а динамичная игра может превратиться в покадровое слайд-шоу даже с мощной видеокартой.

Указанные проблемы характерны для платформы PC и практически незнакомы владельцами игровых консолей. Разработчики консольных игр всегда знают детальные спецификации приставок и могут выполнять глубокую оптимизацию кода с учётом их особенностей. Компьютеры, ноутбуки, планшеты – это зоопарк не только из разных конфигураций, но и принципиально отличных архитектур. При создании игр для столь разношёрстной платформы приоритетом становится универсальность кода, что негативно сказывается на скорости его исполнения.

Сравнение Vulkan API и OpenGL (изображение:  Khronos Group).

Сравнение 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 насчитывает более ста участников.

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 года.

Источник - http://www.computerra.ru/140320/vulkan-api/

 

Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта