r   e   k   l   a   m   a
r   e   k   l   a   m   a

Jak dostosowano Androida do wirtualnej rzeczywistości? #io16

Strona główna AktualnościOPROGRAMOWANIE

Google postawiło na wirtualną rzeczywistość. Projekt Daydream, rozwinięcie zabawkowych tekturowych gogli Cardboard w coś, 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 2016 prezentacji poznaliśmy jednak tylko podstawowe założenia google'owego podejścia do VR. Czas przyjrzeć się temu wszystkiemu bliżej.

Podstawowy problem z VR – to musi być naprawdę płynne, daleko bardziej płynne niż to, do czego przyzwyczaiły nas interfejsy ekranowe. Świat wirtualnej rzeczywistości powinien w czasie rzeczywistym reagować na ruch użytkownika, w przeciwnym wypadku wrażenie jego nierzeczywistości będzie „biło po oczach”. To właśnie na myśli mieli deweloperzy Google'a, mówiąc o opóźnieniu od ruchu do fotonu – jak szybko możesz wyświetlić piksele w odpowiedzi na zmianę pozycji głowy.

By pomóc w minimalizacji opóźnień, Android N otrzymał specjalny tryb działania. Po uruchomieniu nowego systemu na certyfikowanym urządzeniu będzie można uaktywnić nowy tryb, w którym cały wątek rysowania interfejsu użytkownika zostaje oddany wydzielonemu rdzeniowi procesora. Drugi rdzeń zostaje zaś zarezerwowany dla obsługi sensorów, tj. żyroskopu i akcelerometru.

r   e   k   l   a   m   a

To nie koniec zmian. Zmienia się także cały potok rysowania zawartości ekranu przez GPU. Normalnie w Androidzie stosowane jest podwójne buforowanie: ekran wyświetla zawartość jednej ramki, podczas gdy GPU rysuje zawartość drugiej ramki w buforze. Po odświeżeniu ekranu zawartość z bufora jest przenoszona na ekran, podczas gdy do bufora jest już rysowana kolejna ramka. Chroni to przed błędem rozchodzenia się ekranu, ale zarazem spowalnia rysowanie. W trybie VR Android będzie więc rysował bezpośrednio na ekran, tak szybko jak to tylko możliwe, starając się zachować synchronizację ramek rysowanych przez GPU z cyklem odświeżania ekranu.

Do tego wszystkiego dochodzi znany np. z Oculus Rifta mechanizm przesunięcia czasowego (time warp), który w sprytny sposób pozwala zmniejszyć odczuwalne opóźnienia. Na czym polega ta sztuczka? Pomyślcie o normalnym potoku renderowania wirtualnego świata:

  1. ustalona zostaje pozycja głowy użytkownika
  2. ustawiona zostaje pozycja wirtualnej kamery
  3. dla tej perspektywy rysowany jest widok świata

Przy 60 FPS, jakie oczekiwane są od wirtualnej rzeczywistości Daydream, oznacza to, że mamy do dyspozycji 16 milisekund na zmierzenie położenia głowy, narysowanie świata i wyświetlenie go na ekranie. 16 ms to bardzo mało, średnia ludzkich reakcji to ok. 200 ms (choć wyszkoleni azjatyccy gracze reagują na poziomie 100 ms) – ale jeśli ktoś będzie akurat poruszał głową, to przesunięcie kątowe w tym czasie jest wystarczająco duże, by zauważyć różnicę między pomiarem z pierwszego kroku a perspektywą z trzeciego kroku. Co można w tej sytuacji zrobić? Przesunięcie czasowe działa na narysowanej już klatce, mierzy ruch głowy wykonany w ciągu tych 16 ms i wprowadza finalne poprawki przed wyświetleniem. W praktyce zmniejsza to zauważalne opóźnienie o nawet połowę.

Wszystkie te zmiany doprowadziły do radykalnego skrócenia opóźnień. Nawet szybkie smartfony z Androidem 6.0 (np. wzorcowy tutaj Nexus 6P) odnotowywały opóźnienie ponad 100 ms – dość by było widoczne dla każdego. W Androidzie N opóźnienie zmniejszyło się 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 je tylko jeden smartfon – Huawei Nexus 6P. Przypomnijmy jego parametry: CPU to ośmiordzeniowy Snapdragon 810, GPU to układ Adreno 430, do tego 3 GB RAM – i co najważniejsze, wyświetlacz nie byle jaki, lecz WQHD (1440×2560px, 518ppi), wykonany w technologii AMOLED. Tak, wyświetlacze ciekłokrystaliczne odpadają, żaden smartfon z ekranem LCD certyfikatu 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ów sprzętu – czy zdołają wprowadzić na czas urządzenia w atrakcyjnych cenach, a nie tylko flagowce, które spełniłyby wymogi? Ze swojej strony Google zrobiło już bardzo dużo, dostarczając oprócz systemu operacyjnego także referencyjne gogle-uchwyt do smartfonu oraz bezprzewodowy kontroler. Pojawi się też specjalna odmiana sklepu Play, z oprogramowaniem pomyślanym specjalnie o wirtualnej rzeczywistości. Jako alternatywa dla bardzo drogich gogli VR dla pecetów, smartfonowe rozwiązania mogą zawojować rynek, szczególnie wśród młodych ludzi – co widać choćby po recenzji zestawu VR Samsunga pióra Mateusza Budzenia.

© dobreprogramy

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.