Вече знаем, че Android Q ще поддържа Vulkan-backend за ANGLE, за да улесни разработването на 2D игри. Прочетете, за да научите повече за това какво означава.
API на Vulkan поддръжката за Android беше обявена с Android Nougat отново на Google I/O 2016. За да освежите ума си, този API помага на разработчиците да получат повече контрол върху хардуера от ниско ниво. Този вид достъп им помага да се възползват по-добре от обработката и графичната мощност на съответните единици и да оптимизират игрите, за да работят възможно най-гладко. Не е изненадващо, че правилното разпределение на паметта и управлението на нишките са важни при всякакъв вид енергоемки задачи, като например стартиране на игра. Това е, което популярните конзоли като Xbox One и PlayStation 4 правят от дълго време - предоставяйки на разработчиците контрол на ниско ниво на хардуера вътре в устройствата.
Това, което също е интересно е, че Vulkan е междуплатформен отворен стандарт, насочен към графични приложения на различни платформи. По-рано тази година,
намерихме улика че Android Q може да визуализира елементите на потребителския интерфейс чрез API на Vulkan. Това ще бъде стъпка, предприета за по-нататъшно подобряване на гладкостта на системата. Сега получихме информация, че Android Q със сигурност ще поддържа ANGLE, за да улесни разработването на 2D игри.Какво е ЪГЪЛ?
ANGLE е съкращение и означава „Almost Native Graphics Layer Engine“. Възходът на WebGL доведе до необходимост от стандартизирано решение за поддръжка на рендера. OpenGL драйверите не са много стабилни на платформата Windows от доста време. И така, ANGLE изведе всичко на съвсем ново ниво с превода на OpenGL кода в Direct3D, API, който се поддържа първоначално в Windows. Основната цел на ANGLE е да направи OpenGL преносим и достъпен за всички, като преведе съдържанието на WebGL и OpenGL ES в хардуерно поддържан API, достъпен на платформата. Използвайки същия принцип, ANGLE ще преведе OpenGL кода в Vulkan код на Android, тъй като първият е официално поддържан хардуерен API на операционната система. Вероятно използвате ANGLE всеки ден, без изобщо да го осъзнавате. ANGLE е вграден в уеб браузърите Google Chrome и Mozilla Firefox за настолен компютър. Използва се за изобразяване на всяко графично съдържание в тези браузъри в Windows.
OpenGL ES срещу Vulkan
Khronos Group работи усилено, за да превърне ANGLE в основния рендър на OpenGL на Vulkan. Много от вас може да не виждат необходимостта да се отърват от OpenGL в полза на Vulkan, но определено има място за подобрение. В този момент OpenGL API се счита за антична технология. Първоначално е издаден през 1992 г., което е преди 26 години. 26 години може да не означават много за някои от вас, но това е астрономическо число, що се отнася до развитието на технологиите. През 2016 г. светът беше представен на Vulkan - следващото ниво на графичен API. Но по-ново не означава автоматично по-добро, нали? Нека обясня защо Vulkan е много по-добър от OpenGL/OpenGL ES.
Ако някога сте се занимавали с OpenGL ES, ще знаете, че е така огромен. API има над 300 разширения и изобщо не е лесен за използване. Vulkan извежда всичко на съвсем ново ниво, предлагайки много по-малък API и директен контрол на графиките. Освен това е по-лесно за изпълнение. Въпреки че Vulkan работи на по-ниско ниво от OpenGL ES, това означава повече мощност за контрол. С Vulkan управлението на нишките и паметта е изцяло оставено на разработчика на играта, така че можете да използвате адекватно ресурсите. Освен това има много малка разлика между мобилната и настолната версия на Vulkan, което прави пренасянето на игри много по-лесно. Казано накратко, Vulkan е драйвер от ниско ниво, който ви позволява да разгърнете пълния потенциал на графичната карта, присъстваща на конкретното устройство.
Защо ANGLE?
Първото предимство на ANGLE е, че е платформа с отворен стандарт. Има много начини да допринесете за проекта. Можете да тествате драйвера на вашите устройства, да съобщавате за грешки, да поправяте грешки, да помагате на разработчиците да измислят решения, да изпращате предложения, да дарявате пари за разработката и т.н. Всичко това ще увеличи скоростта на развитие. Следващият голям плюс в сравнение с OpenGL ES е преносимостта и поддръжката на различни платформи. Естеството на ANGLE прави работата по-лесна както за разработчиците на платформа, така и за разработчиците на игри. Поддържането и прилагането на ANGLE е много по-лесно от по-ранните реализации. OpenGL е толкова фрагментиран, че проследяването на грешките и коригирането им на различни устройства е болка за разработчиците. Централизирането на всички необходими драйвери в ANGLE означава, че разработчиците ще имат по-лесно време да ги внедрят. Разработчикът на ANGLE, Джейми Мадил, потвърди с нас, че на платформата Android ANGLE ще получава редовни актуализации чрез Google Play Store. Актуализирането на драйвери чрез вградения пазар на първа страна е добра идея, защото потребителят няма да трябва да актуализира цялата система всеки път, когато драйверът се актуализира. Също така, разработчиците няма да трябва да се занимават с кода всеки път, когато ANGLE промени нещо. Ето видео за това как ANGLE може да бъде от полза за разработването на игри за Android.
Както можете да видите, ANGLE има множество подобрения спрямо остарелия OpenGL ES. Първата предварителна версия на Android Q за разработчици не е толкова далеч, така че можем да изчакаме и да видим как ANGLE работи на практика. Според този ангажимент, потребителите ще могат да накарат всички приложения да работят с ANGLE от опциите за разработчици. Поддръжката за рендера е вече обединени в клона на Android Pie за OEM производители, за да го тестват. Можете да проследите развитието на ANGLE от уебсайта и хранилището на GitHub по-долу.
Благодарение на XDA Senior Member XxPixX за върха!
Уебсайт ANGLEGitHub хранилище