Оглавление:
Демонстрация Samsung всего, на что способны Galaxy S7 и S7 edge, - как только вы сможете их достать - была впечатляющей, как никогда. Однако, как это часто бывает с подобными вещами, остаются вопросы, на которые нужно ответить. Когда дело доходит до производительности и игровых возможностей, есть хороший шанс, что хотя бы пара вопросов связана с тем, что Samsung сделает эти телефоны первыми с встроенными API-интерфейсами Vulkan.
Мы видели демонстрацию того, что Vulkan в конечном итоге будет способен в настольных средах, но большой вопрос, на который нужно ответить, - это то, что Vulkan означает для владельцев Galaxy S7 и S7. Вот то, что мы знаем до сих пор, и что мы можем догадаться, что произойдет дальше благодаря нескольким очень умным людям, работающим с Vulkan и в игровой индустрии.
Перво-наперво, что такое Вулкан?
Спросите любого, кто в настоящее время работает с OpenGL в играх, о необходимости чего-то лучшего, и вы получите тот же ответ. Да, теперь, пожалуйста.
Хотя с современными технологиями можно сделать очень многое, перенести игровой опыт на разные платформы - сложная задача. Даже с нужными людьми и нужными ресурсами это далеко не просто. AMD стремилась исправить это с помощью технологии, которую они называли Mantle, но вместо завершения проекта перешла к работе над DirectX 12. Вместо этого Mantle была передана в дар Khronos Group в качестве проекта с открытым исходным кодом для стандартизации низкоуровневых вычислений и рендеринга на нескольких компьютерах. основные процессорные системы.
По сути, целью Vulkan является облегчение получения более высокой графической производительности за счет полного использования вашего многоядерного процессора. Многопоточность означает, что Vulkan может делать то, что не может OpenGL ES, и конечным результатом является общее повышение производительности. Поскольку это проект с открытым исходным кодом, поддерживаемый несколькими небольшими группами, первый выпуск мог одновременно работать с несколькими платформами. Android является одной из этих платформ, и мы уже видели, как несколько производителей сразу начали работать над способами поддержки Vulkan для разработчиков, заинтересованных в создании чего-то, что опирается на эти API.
Когда мы сели с Сашей Виллемсом, разработчиком, который уже давно работает с Vulkan, он отметил еще одно существенное преимущество использования Vulkan.
Портирование является еще одной областью, которая должна принести пользу. Хотя OpenGL и OpenGL ES имеют много общего, вам все равно нужно приложить немало усилий для переноса, и вы обычно заканчиваете тем, что пишете отдельные средства визуализации для них обоих. С Вулканом это уже не так. Единственное, что отличается, это специфичный для платформы код, такой как получение окна рендеринга, но он был значительно улучшен по сравнению с OpenGL (ES) с WSI (интеграция оконной системы), которая является частью Vulkan. Особенно с такими устройствами, как NVIDIA Shield, которые предлагают настольную производительность, такую как производительность графического процессора, я думаю, мы увидим больше настольных игр, портированных на Android благодаря Vulkan. Например, добавление поддержки Android в мои примеры Vulkan заняло всего несколько минут, а код рендеринга в Windows, Linux и Android одинаков.
Так почему же Samsung первым на рынке? По сути, Samsung собирается использовать Vulkan для того, чтобы привлекать разработчиков к созданию опыта, прямо конкурирующего с заявлением Apple о том, что игры лучше на iPhone. Предлагая это раньше всех, Samsung может открыто подойти к разработчикам на таких мероприятиях, как предстоящая конференция разработчиков, и получить великолепные игры, которые лучше всего работают на Galaxy S7 и S7 Edge.
Является ли Вулкан ответом Металлу?
Большинство людей, использующих Vulkan прямо сейчас, с радостью сравнивают этот новый API с тем, что Apple сделала со своей низкоуровневой платформой производительности, Metal. Если вы когда-нибудь видели, как Apple демонстрирует Metal на сцене, или использовали игру, созданную с помощью Metal на iPhone, по сравнению с той же игрой на другом телефоне, вы знаете, что разница значительна. Полагаться на OpenGL ES для 3D-игр на телефоне - это нехватка ресурсов, а это означает, что ваша батарея разряжается быстрее для худшего качества. Металл в значительной степени обращается к Apple, и теоретически Vulkan может сделать нечто подобное для Android.
Это намного больше, чем это, как мы узнали из разговора с руководителем отдела развития Giant Spacekat Брианной Ву. Как разработчик, знакомый с Metal и Vulkan, она смогла предложить небольшую перспективу.
Справедливо называть их одинаковыми, поскольку обе технологии пытаются решить одну и ту же проблему. Этот стек OpenGL несостоятельный, он был написан в эпоху с этой одноядерной парадигмой, и он просто больше не работает. Развертывание Apple имеет большой смысл для них. Разница для Apple в том, что они могут просматривать список драйверов, список графических процессоров, список дисплеев, и они имеют большой контроль над оборудованием. Они могут привести кого-то для программирования этого материала на ассемблере, и это разумный путь вперед. Vulkan пытается решить ту же самую проблему в совокупности, но это гораздо более широкая вещь, которую они пытаются реализовать. Решить эту проблему намного сложнее, особенно когда нет корпорации размером с Apple, ведущей эту технологию.
На Android мы уже видели примеры того, о чем говорит Ву. NVIDIA и Samsung явно подпрыгнули и объявили о поддержке Vulkan по-своему, но до следующей версии Android не будет, по крайней мере, до того, как Google наивно использует Vulkan во всех Android. Даже когда это произойдет, это будет только для самой новой версии Android. Беглый взгляд на последние номера версий от Google - все, что вам нужно для объяснения того, почему это займет некоторое время для улучшения работы платформы.
Поддержка от Google - не единственная задача, которую предстоит решить. Широкое внедрение разработчиками является серьезной проблемой на любой платформе. Как отметил Ву во время нашего интервью, Apple уже давно выпускает Metal, и количество игр, поддерживающих эту платформу, довольно мало.
Это одна из этих идей, которая действительно решает проблему, но, по крайней мере, со стороны Apple нам предстоит пройти долгий путь, прежде чем мы действительно решим эту проблему с толстым стеком OpenGL. Честно говоря, это убивает платформу.
Samsung надеется решить эту проблему напрямую и добилась некоторого ограниченного успеха в этом подходе благодаря своим API-интерфейсам Fingerprint и поддержке многооконных приложений, но, как и Apple и Metal, пройдет некоторое время, прежде чем мы увидим какое-либо существенное принятие.
Что насчет Вулкана и ВР?
Еще одна важная причина, по которой Samsung использует возможность стать первым производителем с поддержкой Vulkan, - это Gear VR. Samsung и Oculus проделали большую работу, подняв виртуальную реальность на смартфоне выше пассивного Google Cardboard, но платформа не без проблем с производительностью. Поскольку Oculus и Samsung выступают в качестве членов Khronos Group, имеет смысл, что обе компании будут поощрять разработчиков поддерживать эту новую технологию, чтобы продолжать улучшать работу Gear VR. На самом деле, согласно Саше, VR - большая часть того, почему Vulkan сейчас так важен.
VR в значительной степени опирается на плавный опыт со стабильной частотой кадров и без скачков. Vulkan предлагает много в этой области, например, таймеры GPU и лучшую синхронизацию, а также многопоточность. Такие вещи, как микро заикание, довольно часто встречаются в OpenGL (ES) и их трудно исправить. Я думаю, что это та область, где Android выиграет больше всего. Vulkan гораздо более явный, чем OpenGL ES, и предоставляет гораздо больше информации, например, заранее о конвейере рендеринга в GPU (и драйвер), что делает его намного более прогнозирующим и, следовательно, более простым для GPU. Это приводит к гораздо меньшему количеству работы для драйвера и заменяет громоздкий (и трудно предсказуемый) конечный автомат OpenGL.
Сборка с Vulkan существенно изменила бы контекст Gear VR, и для разработчиков игр это отличный способ сделать больше в этой довольно ограниченной, но значительно более доступной форме VR. Как разработчик игр, поддержка Ву Samsung по улучшению Gear VR с помощью Vulkan не может быть более ясной.
Использование Gear VR прямо сейчас запускает процессор так сильно, что он разряжает мою батарею примерно за 50 минут, и задержка действительно ужасна. Если когда-либо был чрезвычайно убедительный аргумент в пользу того, чтобы открытый стандарт, такой как Vulkan, спустился в сборку и действительно оптимизировал этот графический слой, то это он. Мы не собираемся стучать по стеклу вечно, ты должен спросить, куда мы идем. Создание VR и этих 3D технологий абсолютно необходимо. Если Samsung собирается быть своего рода тестовым примером, это оптимально. Это место, где эта технология крайне необходима.
Нет никаких сомнений в том, что это будет полная противоположность увеличению производительности в одночасье, но потенциал Вулкана открыть двери для лучшего опыта не может быть более ясным. С Galaxy S7 и S7 Edge это первый шаг для Samsung к новым мощным игровым возможностям и опыту виртуальной реальности, а также хорошее время, чтобы быть на голову выше конкурентов и утверждать, что они здесь первыми.