Комментарии 5
Поздравляю команду разработчиков! Очень большую работу проделали.
А с чем связано отставание Vulkan даже от DX11?
Очевидно с тем, что реализации vulkan в драйверах не оптимизированы. Вулкан оказался никому не нужен, и вендоры занимаются его поддержкой в последнюю очередь. Приоритет за тем, что бы быстро и стабильно работал DirectX
Странно - а я слышал иное - что DirectX 12 не особо был интересен. А вообще тут вроде бы так - Vulkan лучше работает на AMD видеокартах, а DirectX 12 на nVIDIA - вендоры просто сделали ставки на разные API. Но тут ещё есть одно исключение - на XBOX и PS Vulkan толи вовсе нет до сих пор, толи там с поддержкой всё ещё хуже (не смотря на то, что там железо от AMD, хотя давно обещали всё наладить на этих платформах - но, видимо, не ранее как выйдет следующее поколение). На MacOS в Vulkan есть - но поддержка слабая (не знаю, у кого там лучше, но там из них лучше, конечно, Metal рулит). Вот на Linux и мобилках (вероятно даже на iOS) Vulkan должен неплохо работать (ну и DirectX там нет и в помине), но с оговоркой - только на современном не бюджетном железе (поддерживающем последние две версии API Vulkan). Nintendo - не поддерживает ни Vulkan ни DirectX - это странно, что nVIDIA и Nintendo не стали делать ставку на Vulkan (хотя тут понятно - для них Vulkan из стана конкурирующего лагеря с открытым ПО, а у них политика проприетарности) - ведь это позволило бы проще создавать кросплатформенные игры и порты для данной платформы.
API Vulkan интересен в первую очередь из-за кроссплатформенности - сейчас с помощью него можно делать игры и порты не только под Windows и Linux, но хотя бы под мобилки (явно предпочтительнее устаревшего Open GL ES - но только под современное железо, а это не гуд - т.к. на рынке полно старого железа - под него всё-равно придётся API Open GL ES ещё реализовывать - зато шейдеры не надо сильно переделывать - под Vulkan и Open GL ES). А позже - под Play Station и XBOX. Под MacOS пока всё под вопросом - но думаю тоже можно будет - хотя Metal там будет предпочтительнее.
Но сейчас, конечно, пока, увы, нет к единой унификации API по разным платформам - поэтому игры обычно делают под определённую платформу и определённый предпочтительный API для этой платформы. А порты на другую платформу уже адаптируют под другой API. Поэтому применение готовых 3D движков очень востребовано - т.к. они уже адаптированы под разные API - и переделывать основное приложение, при сборке под разные платформы, сильно шибко не придётся (но я, конечно, лукавлю - т.к. зачастую разные платформы - это совсем разные уровни возможностей вывода графики - и тут полно своих нюансов и кроме API).
А ещё Vulkan - это достаточно сложный API (куда сложнее Open GL, и даже сложнее, тоже не простого, DirectX 12) - и оптимизировать под него игры тоже не просто (хотя тут свободны очень много - и профессионалы при наличии времени могут тут разгуляться очень сильно -но пока очень мало кто так заморачивается, да и готовые 3D движки навряли смогут тут так сильно разгуляться - они же универсальные, тут выпиливание напильником каждого отдельного проекта очень затруднительно).
Поэтому Vulkan пока не особо популярен - просто применять его эффективно можно пока мало где - а жаль
UNIGINE 2.16: Asset Store, Vulkan и DX12, Даблы и Марс в Community, интеграция с ROS, .NET 6, новый менеджер окон