Para obtener orientación sobre actualizaciones de contenido específica del formato MSIXVC original, consulta Procedimientos recomendados para actualizaciones de contenido.
Cómo funcionan las actualizaciones de contenido de MSIXVC2
Segmentación basada en contenido
MSIXVC2 divide los datos de los archivos en segmentos de tamaño variable según el contenido real en lugar de límites de bloque fijos. Cada segmento se identifica mediante un hash de su contenido. Este enfoque significa lo siguiente:- Mover un archivo entre fragmentos no desencadena una nueva descarga. Los hashes del contenido del archivo permanecen iguales independientemente del fragmento al que pertenezca.
- Reordenar archivos dentro de un fragmento no desencadena una nueva descarga. Los límites de los segmentos se determinan por el contenido, no por la posición.
- Reordenar fragmentos no desencadena una nueva descarga. El diseño de fragmentos es un concepto lógico que no afecta la segmentación física de los datos.
- Insertar o quitar datos no produce efectos en cascada. A diferencia de los sistemas de bloques fijos, una pequeña inserción no desplaza todos los bloques siguientes ni obliga a volver a descargar contenido sin cambios.
Desduplicación en la carga
Cada segmento se procesa con un hash antes de la carga. El proceso de carga consulta la CDN para determinar qué segmentos ya existen de versiones anteriores. Solo los segmentos nuevos o modificados se cargan y se entregan a los jugadores. Esta desduplicación ocurre automáticamente: no se requiere ninguna acción del desarrollador.Cifrado y compresión por segmento
Cada segmento se comprime y cifra de forma independiente. Esto garantiza que actualizar un segmento no afecte a los demás.Qué cambia con respecto a MSIXVC
Las siguientes restricciones de alineación y diseño de las actualizaciones de contenido de MSIXVC no se aplican a MSIXVC2:Comparación de tamaños de actualización
Los siguientes datos comparan los tamaños de las actualizaciones de contenido entre MSIXVC y MSIXVC2 para las mismas compilaciones de título. No se realizó ningún cambio en los juegos: mismos recursos, mismas compilaciones, diferente formato de empaquetado.
El Juego D muestra una mejora menor porque el título ya estaba optimizado manualmente para las actualizaciones de contenido de MSIXVC (CUv3). La mayoría de los títulos que no han realizado este trabajo de optimización verán reducciones mayores. Con MSIXVC2, este trabajo de optimización ya no es necesario.
Reducción de la sobrecarga del paquete
Cada paquete MSIXVC incluye un árbol de hash mínimo fijo cuyo tamaño se escala con el tamaño total del juego. Esta sobrecarga siempre se descarga por completo con cada actualización. Para títulos grandes, esta sobrecarga es significativa:
La sobrecarga de MSIXVC2 también puede descargarse parcialmente, lo que significa que los jugadores solo reciben las partes de los metadatos que son relevantes para su actualización.
Mejoras en el tamaño del juego base
La segmentación basada en contenido y la compresión integrada también reducen los tamaños de descarga del juego base:
Los títulos con contenido sin comprimir o con una cantidad significativa de datos duplicados entre fragmentos obtienen las mayores reducciones de tamaño base. Los títulos que ya comprimen todo el contenido y no tienen duplicación (como el Juego D) obtienen mejoras menores pero aún significativas.
Evaluación de MSIXVC2 para tu título
Para medir la mejora en las actualizaciones de contenido de tu propio título:- Toma dos compilaciones secuenciales de tu juego (por ejemplo, una compilación de lanzamiento y la revisión posterior).
- Empaqueta ambas compilaciones con
makepkg.
- Compara el tamaño de actualización resultante con una compilación MSIXVC (v1) equivalente.
- Usa los resultados de la comparación para planificar tu migración a MSIXVC2.
Carga los paquetes MSIXVC2 en una rama separada de Partner Center (por ejemplo,
msixvc2). No mezcles paquetes MSIXVC2 y MSIXVC en la misma rama: revertir una rama de MSIXVC2 a MSIXVC requiere una recarga completa y obliga a una nueva descarga completa para los jugadores de esa rama. Consulta Procedimientos recomendados para ramas de paquetes para obtener más detalles.