Война графических API (обзор конференции GDC 2015)

0

Мантия вылилась в «Вулкан»

Год назад началась война графических API — программных интерфейсов, с помощью которых операционная система «разговаривает» с видеокартой на вашем компьютере.

DirectX 10 и DirectX 11 оказались сущим барахлом, разочаровав как разработчиков, так и производителей видеокарт, пишет журнал «Игромания». От них ждали в первую очередь увеличения производительности за счет повышения эффективности работы с данными. Пусть и не до консольного уровня, но хотя бы процентов на пятьдесят! А вместо этого получили кучку маловостребованных фишек типа тесселяции, которые добавляют еще больше тормозов и никем толком не используются. Устав от бездействия Microsoft, производители железа попытались перехватить инициативу и начали продвигать среди разработчиков собственные решения. AMD анонсировала собственный API Mantle, a NVIDIA сделала ставку на доработанную версию открытого API OpenGL.

Как известно, Microsoft — птица гордая, пока не пнешь — не полетит. Если вспомнить события прошлого года, «пинок» получился отличный, и в рекордные сроки был представлен DirectX 12. Целый год за кулисами игровой индустрии шли разборки, и вот на GDC 2015 появились первые итоги этой войны. Слабым звеном оказалась AMD, заявившая об отказе от дальнейшего продвижения Mantle. Глава маркетингового отдела графических технологий AMD Роберт Халлок признал полную и безоговорочную капитуляцию, посоветовав всем, кто был заинтересован в их API, обратить внимание на продукты конкурентов.

Приходится констатировать, что Mantle оказался всего лишь рекламным трюком. Его интегрировали всего в две игры, Battlefield 4 и Thief, зато пиар получился отличный — AMD получила статус первопроходца в области низкоуровневых API и заслужила репутацию компании, которая расшевелила саму Microsoft. С обоими утверждениями можно поспорить, только спорить никто не будет, потому что тема уже не актуальна. AMD собрала внимание прессы, подняла продажи видеокарт… А большего, похоже, она и не планировала. Развивать собственный API — дело муторное, да и прибыли не приносящее, так зачем мучиться, особенно если шансов на победу все равно нет? За DirectX стоит Microsoft, за OpenGL — консорциум из более чем сотни IT-предприятий, вот пусть они и тянут эту лямку.

Элегантно соскочив с темы, AMD открыла дорогу OpenGL, разработчики которого также припасли для GDC 2015 пару анонсов. Во-первых, весь проект сменил название. Раньше OpenGL нового поколения обычно называли gINext, теперь же API получил звучный маркетинговый бренд Vulkan. Забавное название, ведь Vulkan — это вулкан, Mantle — мантия земной коры. Когда магма мантии пробивает кору, рождается вулкан… Вполне вероятно, что схожие тектонические ассоциации были выбраны неслучайно.

Во-вторых, Vulkan тут же поддержала Valve, обьявив его главным компонентом своих будущих игр и SteamOS в целом. Оно и понятно — в отличие от DirectX, Vulkan предназначен для работы на разных платформах, в том числе и на Linux. Вместе с ним разработчики выпустили новый шейдерный язык SPIR-V, призванный покончить с бардаком при переносе кода с одной платформы на другую.

Несмотря на крайнюю необходимость SPIR-V, несмотря на то, что Vulkan однозначно лучше DirectX 12, обе эти благие инициативы ждет трудная судьба. Microsoft будет всеми силами противостоять наступлению свободных стандартов, потому что им не нужна ни кросс-платформенность, ни прекращение бардака, ни легкость портирования игр, ведь все это угрожает монополии Windows. К счастью, времена меняются — медленнее, чем хотелось бы, но меняются.