Jak dostosowano Androida do wirtualnej rzeczywistości? #io16
Google postawiło na wirtualną rzeczywistość. ProjektDaydream, rozwinięcie zabawkowych tekturowych gogli Cardboard wcoś, co przyniesie prawdziwe doświadczenie VR na smartfonach,zapowiada się całkiem ciekawie. Smartfonów z certyfikatem„Daydream ready” będzie sporo. Podczas otwierającej I/O 2016prezentacji poznaliśmy jednak tylko podstawowe założeniagoogle'owego podejścia do VR. Czas przyjrzeć się temu wszystkiemubliżej.
Podstawowy problem z VR – to musi być naprawdę płynne, dalekobardziej płynne niż to, do czego przyzwyczaiły nas interfejsyekranowe. Świat wirtualnej rzeczywistości powinien w czasierzeczywistym reagować na ruch użytkownika, w przeciwnym wypadkuwrażenie jego nierzeczywistości będzie „biło po oczach”. Towłaśnie na myśli mieli deweloperzy Google'a, mówiąc o opóźnieniuod ruchu do fotonu – jak szybko możesz wyświetlić piksele wodpowiedzi na zmianę pozycji głowy.
By pomóc w minimalizacji opóźnień, Android N otrzymałspecjalny tryb działania. Po uruchomieniu nowego systemu nacertyfikowanym urządzeniu będzie można uaktywnić nowy tryb, wktórym cały wątek rysowania interfejsu użytkownika zostaje oddanywydzielonemu rdzeniowi procesora. Drugi rdzeń zostaje zaśzarezerwowany dla obsługi sensorów, tj. żyroskopu i akcelerometru.
To nie koniec zmian. Zmienia się także cały potok rysowaniazawartości ekranu przez GPU. Normalnie w Androidzie stosowane jestpodwójne buforowanie: ekran wyświetla zawartość jednej ramki,podczas gdy GPU rysuje zawartość drugiej ramki w buforze. Poodświeżeniu ekranu zawartość z bufora jest przenoszona na ekran,podczas gdy do bufora jest już rysowana kolejna ramka. Chroni toprzed błędem rozchodzenia się ekranu, ale zarazem spowalniarysowanie. W trybie VR Android będzie więc rysował bezpośredniona ekran, tak szybko jak to tylko możliwe, starając się zachowaćsynchronizację ramek rysowanych przez GPU z cyklem odświeżaniaekranu.
Do tego wszystkiego dochodzi znany np. z Oculus Rifta mechanizm przesunięciaczasowego (time warp), który w sprytny sposób pozwala zmniejszyćodczuwalne opóźnienia. Na czym polega ta sztuczka? Pomyślcie onormalnym potoku renderowania wirtualnego świata:
Przy 60 FPS, jakie oczekiwanesą od wirtualnej rzeczywistości Daydream, oznacza to, że mamy dodyspozycji 16 milisekund na zmierzenie położenia głowy,narysowanie świata i wyświetlenie go na ekranie. 16 ms to bardzomało, średnia ludzkich reakcji to ok. 200 ms (choć wyszkoleniazjatyccy gracze reagują na poziomie 100 ms) – ale jeśli ktośbędzie akurat poruszał głową, to przesunięcie kątowe w tymczasie jest wystarczająco duże, by zauważyć różnicę międzypomiarem z pierwszego kroku a perspektywą z trzeciego kroku. Comożna w tej sytuacji zrobić? Przesunięcie czasowe działa nanarysowanej już klatce, mierzy ruch głowy wykonany w ciągu tych 16ms i wprowadza finalne poprawki przed wyświetleniem. W praktycezmniejsza to zauważalne opóźnienie o nawet połowę.
Wszystkie te zmiany doprowadziły do radykalnego skróceniaopóźnień. Nawet szybkie smartfony z Androidem 6.0 (np. wzorcowytutaj Nexus 6P) odnotowywały opóźnienie ponad 100 ms – dość bybyło widoczne dla każdego. W Androidzie N opóźnienie zmniejszyłosię do poniżej 20 ms.
Oczywiście by te zmiany były możliwe, Android musi byćuruchomiony na odpowiednim sprzęcie. Jak do tej pory spełnia jetylko jeden smartfon – Huawei Nexus 6P. Przypomnijmy jegoparametry: CPU to ośmiordzeniowy Snapdragon 810, GPU to układAdreno 430, do tego 3 GB RAM – i co najważniejsze, wyświetlacznie byle jaki, lecz WQHD (1440×2560px,518ppi), wykonany w technologii AMOLED. Tak, wyświetlaczeciekłokrystaliczne odpadają, żaden smartfon z ekranem LCDcertyfikatu zgodności z google'owym VR nie dostanie, cykl wybudzania i gaszenia pikseli nie jest tu dość szybki.
Sukces tej inicjatywy zależy w tym momencie od producentówsprzętu – czy zdołają wprowadzić na czas urządzenia watrakcyjnych cenach, a nie tylko flagowce, które spełniłybywymogi? Ze swojej strony Google zrobiło już bardzo dużo,dostarczając oprócz systemu operacyjnego także referencyjnegogle-uchwyt do smartfonu oraz bezprzewodowy kontroler. Pojawi sięteż specjalna odmiana sklepu Play, z oprogramowaniem pomyślanymspecjalnie o wirtualnej rzeczywistości. Jako alternatywa dla bardzodrogich gogli VR dla pecetów, smartfonowe rozwiązania mogązawojować rynek, szczególnie wśród młodych ludzi – co widaćchoćby po recenzjizestawu VR Samsunga pióra Mateusza Budzenia.