Съдържание:
Демонстрацията на Samsung за всичко, на което Galaxy S7 и S7 edge ще бъдат способни - след като успеете да ги вземете - беше толкова впечатляващо, колкото някога. Както често се случва с подобни неща, все пак има въпроси, на които трябва да се отговори. Що се отнася до производителността и възможностите за игри, има голям шанс поне няколко от тези въпроси да са свързани със Samsung, който прави тези телефони първите с API на Vulkan на борда.
Виждахме демонстрации за това, на какво Vulkan в крайна сметка ще бъде способен в настолни среди, но голям въпрос, нуждаещ се от отговор е какво означава Vulkan за собствениците на Galaxy S7 и S7 edge. Ето какво знаем досега и това, което можем да предположим, че ще се случи след това благодарение на някои много умни хора, работещи с Vulkan и в игралната индустрия.
Първи неща първо, какво е Вулкан?
Попитайте всеки, който в момента работи с OpenGL в гейминга, за нуждата от нещо по-добро и ще получите същия отговор. Да, сега моля.
Макар че с много съвременни технологии може да се направи много, носенето на игрови изживявания в платформи е огромно предизвикателство. Дори и с правилните хора и правилните ресурси, далеч не е лесно. AMD се опита да поправи това с технология, която те нарекоха Mantle, но вместо да завърши проекта, премина към работа върху DirectX 12. Mantle беше дарен на групата Khronos като усилие с отворен код за стандартизиране на ниско ниво на изчисления и рендериране на мулти- основни CPU системи.
По принцип целта на Vulkan е да улесни постигането на по-добра графична производителност, като използва напълно вашия многоядрен процесор. Multi-threadading означава, че Vulkan може да направи това, което OpenGL ES не може, а крайният резултат е цялостно повишаване на производителността. Тъй като това е проект с отворен код, поддържан от няколко малки групи, първата версия успя да се насочи към няколко платформи едновременно. Android е една от тези платформи и вече видяхме, че няколко производители веднага започват да работят по начини да подкрепят Vulkan за разработчици, които се интересуват от изграждането на нещо, което разчита на тези API.
Когато седнахме със Sascha Willems, разработчик, който работи с 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.
Вълкан ли е отговор на Metal?
Повечето хора, които използват Vulkan в момента, са щастливи да сравнят този нов API с това, което Apple направи с тяхната ниско ниво на производителност, Metal. Ако някога сте виждали начина, по който Apple показва Metal на сцената, или сте използвали игра, построена с Metal на iPhone срещу същата игра на друг телефон, знаете разликата в същественото. Разчитането на OpenGL ES за 3D игри на телефона е ресурсна свиня, което означава, че батерията ви се изтощава по-бързо за по-ниско изживяване. Метални адреси, които в голяма степен за Apple и на теория Vulkan биха могли да направят нещо подобно за Android.
Има много повече от това, както научихме от разговори с гигантския Spacekat, ръководител на отдела за развитие Брайана Ву. Като разработчик, запознат с Metal и Vulkan, тя успя да предложи малко перспектива.
Честно е да ги наречем подобни, тъй като и двете технологии се опитват да решат един и същ проблем. Този стек на OpenGL е несъстоятелен, той е написан в епоха с тази едноядрена парадигма и просто не работи вече. Apple, разгръщащ Metal, има много смисъл за тях. Разликата за Apple е, че те могат да разгледат списък с драйвери, списък с графични процесори, списък с дисплеи и имат много контрол върху хардуера. Те могат да доведат някого да програмира тези неща в Асамблеята и това е приемлив начин за напред. Вулкан се опитва да реши същият този проблем съвкупно, но това е много по-широко нещо, което те се опитват да приложат. Това е много, много по-труден проблем за решаване, особено когато няма корпорация с големината на Apple, водеща тази технология.
В Android вече видяхме примери за това, което Ву говори. NVIDIA и Samsung очевидно са скочили право и са обявили поддръжка за Vulkan по свои собствени начини, но това ще бъде поне до следващата версия на Android, преди Google да приеме Vulkan наивно във всички Android. Дори когато това се случи, това ще е само за най-новата версия на Android, която се движи напред. Един бърз поглед на последните номера на версиите от Google е всичко обяснение, от което се нуждаете, защо това ще отнеме известно време, за да бъдете подобрител на работата на платформата.
Поддръжката от Google не е единственото предизвикателство, което предстои. Широкото приемане на програмисти е значително предизвикателство за всяка платформа. Както Ву посочи по време на нашето интервю, Apple Metal е вече доста време и броят на игрите в подкрепа на рамката е сравнително малък.
Това е една от тези идеи, която наистина решава проблем, но поне от страна на Apple имаме дълъг път, преди да решим наистина този дебел проблем с OpenGL стека. Честно казано, убива платформата.
Samsung се надява да се справи с това директно и има известен ограничен успех с този подход с техните API за пръстови отпечатъци и поддръжка на много прозорци на приложения, но, подобно на Apple и Metal, ще мине известно време, преди да видим някакво значително приемане.
Ами Vulkan и VR?
Другата голяма причина, поради която Samsung прескача възможността да бъде първият производител с поддръжка на Vulkan, е Gear VR. Samsung и Oculus свършиха чудесна работа, издигайки базираната на смартфони VR над пасивното изживяване на Google Cardboard, но платформата не остава без проблеми с производителността. С Oculus и Samsung, които действат като членове на групата Khronos, има смисъл и двете компании да насърчават разработчиците да подкрепят тази нова технология, за да продължат да подобряват изживяването на Gear VR. Всъщност, според Саша, VR е голяма част от причините, поради които Vulkan е толкова голяма работа в момента.
VR до голяма степен разчита на гладкото изживяване със стабилна честота на кадрите и без натрупвания. Vulkan предлага много в тази област, например таймери за графичен процесор и по-добра синхронизация, заедно с мулти резба. Нещата като микро заекването са доста често срещани с OpenGL (ES) и трудно се поправят. Мисля, че това е област, в която Android ще има най-голяма полза. Vulkan е далеч по-ясен от OpenGL ES и предоставя много повече информация за напр. Тръбопровода за рендериране към графичния процесор (и драйвера) предварително, което го прави много по-предсказуем и по този начин по-лесен за графичния процесор. Това води до далеч по-малко работа за водача и замества обемното (и трудно предвидимото) състояние на OpenGL.
Изграждането с Vulkan би направило съществена промяна в контекста на Gear VR, особено за разработчиците на игри това е чудесен начин да се направи повече в тази доста ограничена, но значително по-достъпна форма на VR. Като разработчик на игри, поддръжката на Wu от Samsung за подобряване на Gear VR с Vulkan не може да бъде по-ясна.
С помощта на Gear VR в момента работи процесорът толкова силно, че той зарежда батерията ми за около 50 минути, а латентността е наистина ужасна. Ако някога е имало изключително завладяващ случай отворен стандарт като Vulkan да слезе в Асамблеята и наистина да оптимизира този графичен слой, това е всичко. Няма да пипаме стъкло завинаги, трябва да попитате къде отиваме. Изграждането на VR и тези 3D технологии е абсолютно критично. Ако Samsung ще бъде този вид тест тук, това е оптимално. Това е мястото, където тази технология е отчаяно необходима.
Няма съмнение, че това ще е точно обратното на повишаване на ефективността за една нощ, но потенциалът на Vulkan да отвори врати за по-добри преживявания не би могъл да бъде по-ясен. С Galaxy S7 и S7 Edge, това е първа стъпка за Samsung към мощно ново гейминг и VR опит и добро време да застане глава и рамене над конкуренцията и да твърди, че са били тук на първо място.