Przyrostowy FS firmy Google pozwala grać w duże gry przed pełnym pobraniem

Google pracuje nad przyrostowym systemem plików, nowym systemem plików, który umożliwi rozpoczęcie grania w duże gry na Androida, zanim zostaną one w pełni pobrane.

Według firmy badawczej gry mobilne to ogromny rynek, a jego łączne przychody stanowią prawie połowę światowego rynku gier w 2019 roku Nowe zoo. Sklep Play co tydzień jest zalewany nowymi grami do wypróbowania, za którymi może być trudno nadążyć, jeśli masz ograniczony czas na grę. Prawdopodobnie Google pracuje nad nowym systemem plików dla przyszłej wersji Androida Androida 12 w 2021 r., co mogłoby znacznie ułatwić testowanie nowych gier. System plików nazywa się przyrostowym systemem plików i zaprojektowano go tak, aby umożliwiał uruchamianie aplikacji w trakcie pobierania plików binarnych i zasobów.

Na początku maja 2019 r. Google przesłane poprawki aby połączyć obsługę przyrostowego systemu plików z jądrem Linuksa. Według dokumentacji który przedstawił Google, Inkrementalny FS to „wirtualny system plików specjalnego przeznaczenia dla Linuksa, który umożliwia wykonywanie programu w czasie, gdy jego pliki binarne i zasoby są nadal leniwie pobierane przez sieć, USB itp.” Celem tej funkcji jest „umożliwienie uruchamiania dużych aplikacji na Androida, zanim ich pliki binarne i zasoby zostaną w pełni pobrane na dysk Urządzenie z systemem Android.” W tej chwili, jeśli chcesz zagrać w grę na Androida o rozmiarze 5 GB, przed uruchomieniem gry musisz poczekać na zakończenie pobierania. Google twierdzi, że przyrostowy FS może „bezproblemowo czekać na [tymczasowo] brakujące dane”, co oznacza, że ​​będziesz mógł uruchomić grę, gdy będzie ona pobierać coraz większą część pełnej wersji gry. W przypadku naszej hipotetycznej gry na Androida o pojemności 5 GB, załóżmy, że intro gry ma rozmiar 200 MB i jest umieszczone z przesunięciem 1 GB. Dzięki przyrostowemu systemowi plików można pobrać pierwszy MB danych gry i podczas jej wykonywania proces może wymagać pobrania pierwszego MB danych z przesunięciem 1 GB, co umożliwi wprowadzenie początek. Następnie można pobrać pozostałe 200 MB danych wprowadzających, co, miejmy nadzieję, nastąpi szybciej niż odtworzenie wprowadzenia, a następnie można załadować główne menu gry. Wykonywanie może zostać nieznacznie wstrzymane, gdy trzeba załadować kolejny zestaw danych, tj. menu znajdujące się w przesunięciu 150 MB, ale pozwoliłoby to użytkownikowi wejść do gry szybciej niż czekać na zakończenie całego pobierania.

Po przesłaniu poprawek do jądra Linuksa firma Google nawiązała dyskusje z wieloma opiekunami jądra Linuksa na temat implementacji i celu systemu operacyjnego. Niektórzy krytykowali Google za utworzenie niestandardowego systemu plików jądra zamiast rozszerzania istniejącego FUSE, czyli systemu plików w przestrzeni użytkownika. Google to stwierdził Systemy plików oparte na FUSE zwiększają znacząco wydajność w docelowych scenariuszach zwiększając zużycie energii do poziomu, w którym telefony zużywają energię szybciej niż ładują się za pomocą przewodu. Było to problematyczne, ponieważ pracownik Google powiedział, że „celem projektu było umożliwienie natychmiastowego (-ish) wdrożenia aplikacji ze środowiska deweloperskiego na Androida [telefony].” Na podstawie tego komentarza założyliśmy, że Google zamierzał udostępnić tę funkcję wyłącznie po to, aby pomóc programistom w testowaniu przyrostowych kompilacji ich gry mobilne. Jednak może tak być nadal, kilka miesięcy po ostatnim komentarzu na temat pierwszych poprawek jądra Linuksa, Google zaczęło się łączyć zatwierdzenia związane z przyrostowym systemem plików w projekcie Android Open Source Project (AOSP). Zatwierdzenia wprowadzają ogromne zmiany w wielu częściach Androida i jądra Linuksa, więc wierzymy, że tak możliwe, że Google planuje używać przyrostowego systemu plików w celu poprawy ogólnego komfortu użytkowania. Być może Google chce umożliwić użytkownikom rozpoczęcie grania w duże gry na Androida bez konieczności ich pełnego pobierania – zasadniczo w trybie natywnym Aplikacje błyskawiczne zamiennik, który nie wymaga dodatkowej pracy od programistów, ponieważ implementacja odbywa się w jądrze.

Obecnie Google testuje tę funkcję na Pixelu 4 XL (koralowiec) i oni też to mają zbudował moduł jądra do użytku z ogólnym obrazem jądra (GKI). W kilku komentarzach Googlersi wyjaśniają, że urządzenia z Androidem wyposażone w tę funkcję będą miały nowy katalog /data/inkrementalny zawierający podkatalogi dla każdej aplikacji na urządzeniu. Podkatalogi będą zawierać pliki APK, biblioteki natywne i pliki OBB. W tych podkatalogach zostanie zamontowany przyrostowy system plików, a każdy z nich zostanie podłączony tak, aby wskazywał oryginalne katalogi instalacyjne, tj. /data/app/. Sklep Google Play będzie mógł sprawdzić podpis pliku aplikacji zainstalowanych na przyrostowym systemie plików, co prawdopodobnie uniemożliwi wykonanie aplikacji przyrostowych z innymi sygnaturami niż aktualnie zainstalowane aplikacje.

Biorąc pod uwagę, że prace nad tą funkcją wciąż trwają, a wewnętrzny termin wprowadzenia głównych zmian w funkcjach Androida 11 prawdopodobnie zbliża się szybko zbliża się, jeśli jeszcze nie minął, podejrzewamy, że urządzenia nie zaczną być dostarczane z obsługą przyrostowego systemu plików aż do Androida 12 w 2021 r. Będziemy nadal śledzić rozwój tej funkcji i oczywiście poinformujemy Cię, jeśli dowiemy się więcej o jej działaniu.


Dziękujemy uznanym programistom XDA Phusson I Luca020400 za ich wpisy!