Incremental FS de Google te permite jugar juegos importantes antes de descargarlos por completo

Google está trabajando en un sistema de archivos incremental, un nuevo FS que podría permitir comenzar a jugar grandes juegos de Android antes de que se descarguen por completo.

Los juegos móviles son un mercado enorme, y sus ingresos totales representaron casi la mitad del mercado mundial de juegos en 2019, según una empresa de investigación de mercado. nuevozoo. Play Store está repleta de nuevos juegos para probar cada semana, y puede resultar difícil mantenerse al día si tienes tiempo limitado para jugar. Google está trabajando en un nuevo sistema de archivos para una futura versión de Android, posiblemente androide 12 en 2021, lo que podría hacer que sea mucho más fácil probar juegos nuevos. El sistema de archivos se llama Sistema de archivos incremental y está diseñado para permitir que las aplicaciones se ejecuten mientras sus archivos binarios y de recursos aún se están descargando.

A principios de mayo de 2019, Google parches enviados para fusionar el soporte para el sistema de archivos incremental en el kernel de Linux.

Según la documentación que presentó Google, Incremental FS es un "sistema de archivos virtual Linux de propósito especial que permite la ejecución de un programa mientras sus archivos binarios y de recursos aún se están procesando". descargado de forma diferida a través de la red, USB, etc." El propósito de esta característica es "permitir ejecutar grandes aplicaciones de Android antes de que sus archivos binarios y recursos se descarguen por completo a un Dispositivo Android." En este momento, si quieres jugar un juego de Android de 5 GB de tamaño, tendrás que esperar a que finalice toda la descarga antes de poder iniciar el juego. Google dice que Incremental FS puede "esperar sin problemas a que falten datos [temporalmente]", lo que significa que podrás iniciar el juego a medida que continúa descargando más y más del juego completo. En el caso de nuestro hipotético juego de Android de 5 GB, digamos que la introducción del juego tiene un tamaño de 200 MB ubicado en un desplazamiento de 1 GB. Con el sistema de archivos incremental, se pueden descargar los primeros MB de datos del juego y, mientras se ejecuta, el proceso puede requerir que el primer MB de datos con un desplazamiento de 1 GB se descargue a continuación, lo que permite que la introducción comenzar. Luego, se puede descargar el resto de los 200 MB de datos de introducción, lo que con suerte sucederá más rápido de lo que se reproduce la introducción, y luego se puede cargar el menú principal del juego. Es posible que se produzca una pequeña congelación en la ejecución cuando sea necesario cargar el siguiente conjunto de datos, es decir. el menú ubicado en el desplazamiento de 150 MB, pero esto permitiría al usuario ingresar al juego más rápido que esperar a que finalice toda la descarga.

Después de enviar los parches al kernel de Linux, Google participó en conversaciones con varios mantenedores del kernel de Linux sobre la implementación y el propósito del FS. Algunos criticaron a Google por crear un sistema de archivos de kernel personalizado en lugar de extender el FUSE o sistema de archivos existente en el espacio de usuario. Google afirmó que Los sistemas de archivos basados ​​en FUSE añaden una importante sobrecarga de rendimiento para sus escenarios objetivo, aumentar el uso de energía hasta el punto en que los teléfonos gastan energía más rápido de lo que se cargan a través de un cable. Esto fue problemático porque un empleado de Google dijo que "el objetivo del proyecto era permitir la implementación instantánea (más o menos) de aplicaciones desde el entorno de desarrollo a Android". [teléfonos]". Según este comentario, asumimos que Google solo tenía la intención de que esta función ayudara a los desarrolladores a probar compilaciones incrementales de sus juegos móviles. Sin embargo, ese podría seguir siendo el caso, varios meses después del último comentario sobre los parches iniciales del kernel de Linux, Google comenzó a fusionarse confirmaciones relacionadas con el sistema de archivos incremental para el proyecto de código abierto de Android (AOSP). Las confirmaciones introducen grandes cambios en muchas partes de Android y del kernel de Linux de Android, por lo que creemos que es Es posible que Google esté planeando utilizar el sistema de archivos incremental para mejorar la experiencia general del usuario. Quizás Google quiera permitir a los usuarios comenzar a jugar grandes juegos de Android sin tener que descargarlos por completo, sirviendo esencialmente como un juego nativo. Aplicaciones instantáneas reemplazo que no requiere ningún trabajo adicional por parte de los desarrolladores ya que la implementación está en el kernel.

Actualmente, Google está probando la función. en un Píxel 4 XL (coral), y también tienen construyó un módulo de kernel para usar con una imagen de kernel genérica (GKI). En varios comentarios, los empleados de Google explican que los dispositivos Android con esta función tendrán un nuevo directorio /data/incremental que contiene subdirectorios para cada aplicación en el dispositivo. Los subdirectorios contendrán APK, bibliotecas nativas y archivos OBB. En estos subdirectorios, se montará el sistema de archivos incremental y cada uno de ellos se montará vinculado para que apunte a los directorios de instalación originales, es decir. /data/app/. La tienda Google Play podrá comprobar la firma del archivo de aplicaciones instaladas en Incremental FS, lo que probablemente impedirá la ejecución de aplicaciones incrementales con firmas diferentes a las aplicaciones instaladas actualmente.

Dado que el trabajo en esta función aún está en curso y es probable que la fecha límite interna para cambios importantes en las funciones de Android 11 sea rápida Se acerca, si aún no se ha aprobado, sospechamos que los dispositivos no comenzarán a enviarse con soporte para el sistema de archivos incremental hasta Android. 12 en 2021. Continuaremos siguiendo el desarrollo de esta función y, por supuesto, lo actualizaremos si aprendemos más sobre cómo funciona.


Gracias a los desarrolladores reconocidos por XDA phhusson y lucas020400 por sus aportes!