Wiemy już, że Android Q będzie obsługiwał backend Vulkan dla ANGLE, co ułatwi tworzenie gier 2D. Czytaj dalej, aby dowiedzieć się więcej o tym, co to oznacza.
API Vulkana obsługa Androida została ogłoszona wraz z Androidem Nougat ponownie na Google I/O 2016. Aby odświeżyć umysł, ten interfejs API pomaga programistom uzyskać większą kontrolę nad sprzętem niskiego poziomu. Ten rodzaj dostępu pomaga im lepiej wykorzystać moc obliczeniową i graficzną poszczególnych jednostek oraz zoptymalizować gry, aby działały tak płynnie, jak to możliwe. Nic dziwnego, że prawidłowa alokacja pamięci i zarządzanie wątkami są ważne przy wszelkiego rodzaju zadaniach energochłonnych, takich jak uruchamianie gry. To właśnie robią popularne konsole, takie jak Xbox One i PlayStation 4 od dłuższego czasu – dając programistom niski poziom kontroli nad sprzętem wewnątrz urządzeń.
Co ciekawe, Vulkan jest wieloplatformowym otwartym standardem, przeznaczonym dla aplikacji graficznych na różnych platformach. Wcześniej w tym roku,
znaleźliśmy wskazówkę że Android Q może renderować elementy interfejsu użytkownika za pośrednictwem Vulkan API. Będzie to krok w kierunku dalszej poprawy płynności działania systemu. Teraz otrzymaliśmy informację, że Android Q na pewno będzie obsługiwał ANGLE, co ułatwi tworzenie gier 2D.Co to jest KĄT?
ANGLE to skrót oznaczający „Almost Native Graphics Layer Engine”. Rozwój WebGL spowodował potrzebę ustandaryzowanego rozwiązania obsługującego renderer. Sterowniki OpenGL od dłuższego czasu nie są zbyt stabilne na platformie Windows. Zatem ANGLE przeniosło wszystko na zupełnie nowy poziom, tłumacząc kod OpenGL na Direct3D, interfejs API natywnie obsługiwany w systemie Windows. Głównym celem ANGLE jest uczynienie OpenGL przenośnym i dostępnym dla wszystkich poprzez tłumaczenie zawartości WebGL i OpenGL ES na sprzętowo obsługiwany interfejs API dostępny na platformie. Stosując tę samą zasadę, ANGLE przetłumaczy kod OpenGL na kod Vulkan na Androidzie, ponieważ ten pierwszy jest oficjalnie obsługiwanym sprzętowym API w systemie operacyjnym. Prawdopodobnie używasz ANGLE codziennie, nawet nie zdając sobie z tego sprawy. ANGLE jest wbudowany w przeglądarki internetowe Google Chrome i Mozilla Firefox na komputery stacjonarne. Służy do renderowania dowolnej zawartości graficznej w tych przeglądarkach w systemie Windows.
OpenGL ES kontra Vulkan
Grupa Khronos ciężko pracuje, aby ANGLE stał się głównym rendererem OpenGL na Vulkan. Wielu z Was może nie widzieć potrzeby pozbywania się OpenGL na rzecz Vulkana, ale zdecydowanie jest nad czym pracować. W tym momencie OpenGL API jest uważaną za technologię przestarzałą. Pierwotnie ukazał się w 1992 roku, czyli 26 lat temu. 26 lat może dla niektórych z Was nie znaczy wiele, ale w kontekście rozwoju technologii to liczba astronomiczna. W 2016 roku świat poznał Vulkan – API graficzne kolejnego poziomu. Ale nowsze nie znaczy automatycznie lepsze, prawda? Pozwólcie, że wyjaśnię, dlaczego Vulkan jest znacznie lepszy niż OpenGL/OpenGL ES.
Jeśli kiedykolwiek miałeś do czynienia z OpenGL ES, wiedziałbyś, że tak jest ogromny. API ma ponad 300 rozszerzeń i wcale nie jest łatwe w użyciu. Vulkan przenosi wszystko na zupełnie nowy poziom, oferując znacznie mniejsze API i bezpośrednią kontrolę nad grafiką. Jest także łatwiejszy do wdrożenia. Chociaż Vulkan działa na niższym poziomie niż OpenGL ES, oznacza to większą kontrolę. W Vulkan zarządzanie wątkami i pamięcią jest całkowicie pozostawione twórcy gry, dzięki czemu możesz odpowiednio wykorzystać zasoby. Ponadto istnieje bardzo mała różnica między mobilną i stacjonarną wersją Vulkan, co znacznie ułatwia przenoszenie gier. Krótko mówiąc, Vulkan jest sterownikiem niskiego poziomu, który pozwala uwolnić pełny potencjał karty graficznej znajdującej się w konkretnym urządzeniu.
Dlaczego ANGLE?
Pierwszą zaletą ANGLE jest to, że jest platformą o otwartym standardzie. Istnieje mnóstwo sposobów na wniesienie wkładu w projekt. Możesz przetestować sterownik na swoich urządzeniach, zgłosić błędy, naprawić błędy, pomóc programistom w znalezieniu rozwiązań, wysłać sugestie, przekazać trochę pieniędzy na rozwój itp. Wszystko to przyspieszy rozwój. Kolejnym dużym plusem w porównaniu z OpenGL ES jest przenośność i obsługa wielu platform. Charakter ANGLE ułatwia pracę zarówno twórcom platform, jak i gier. Utrzymanie i wdrożenie ANGLE jest znacznie łatwiejsze niż wcześniejsze wdrożenia. OpenGL jest tak rozdrobniony, że śledzenie błędów i naprawianie ich na różnych urządzeniach jest uciążliwe dla programistów. Scentralizowanie wszystkich wymaganych sterowników w ANGLE oznacza, że programiści będą mogli łatwiej je wdrożyć. Programista ANGLE, Jamie Madill, potwierdził nam, że na platformie Android ANGLE będzie otrzymywać regularne aktualizacje za pośrednictwem sklepu Google Play. Aktualizacja sterowników za pośrednictwem wbudowanego rynku własnego jest dobrym pomysłem, ponieważ użytkownik nie będzie musiał aktualizować całego systemu za każdym razem, gdy aktualizacja sterownika. Ponadto programiści nie będą musieli majstrować przy kodzie za każdym razem, gdy ANGLE coś zmieni. Oto film o tym, jak ANGLE może pomóc w tworzeniu gier na Androida.
Jak widać, ANGLE ma wiele ulepszeń w stosunku do przestarzałego OpenGL ES. Pierwsza wersja deweloperska Androida Q nie jest jeszcze zbyt odległa, więc możemy poczekać i zobaczyć, jak ANGLE sprawdzi się w praktyce. Według to zatwierdzenie, użytkownicy będą mogli wymusić współpracę wszystkich aplikacji z ANGLE w opcjach programistycznych. Obsługa modułu renderującego jest już połączone do oddziału Android Pie, aby producenci OEM mogli go przetestować. Możesz śledzić rozwój ANGLE na poniższej stronie internetowej i w repozytorium GitHub.
Dziękujemy starszemu członkowi XDA XxPixX za wskazówkę!
stronie internetowej ANGLERepozytorium GitHuba