Pour obtenir des conseils sur les mises à jour de contenu propres au format MSIXVC d’origine, consultez Bonnes pratiques relatives aux mises à jour de contenu.
Fonctionnement des mises à jour de contenu MSIXVC2
Segmentation basée sur le contenu
MSIXVC2 divise les données des fichiers en segments de taille variable en fonction du contenu réel plutôt que de limites de blocs fixes. Chaque segment est identifié par un hachage de son contenu. Cette approche signifie que :- Le déplacement d’un fichier entre des segments de package (chunks) ne déclenche pas de nouveau téléchargement. Les hachages du contenu du fichier restent identiques, quel que soit le chunk auquel il appartient.
- La réorganisation des fichiers au sein d’un chunk ne déclenche pas de nouveau téléchargement. Les limites des segments sont déterminées par le contenu, et non par la position.
- La réorganisation des chunks ne déclenche pas de nouveau téléchargement. La disposition des chunks est un concept logique qui n’affecte pas la segmentation physique des données.
- L’insertion ou la suppression de données n’a pas d’effet en cascade. Contrairement aux systèmes à blocs fixes, une petite insertion ne décale pas tous les blocs suivants et n’impose pas de nouveau téléchargement du contenu inchangé.
Déduplication lors du chargement
Chaque segment est haché avant le chargement. Le processus de chargement interroge le CDN pour déterminer quels segments existent déjà dans les versions précédentes. Seuls les segments nouveaux ou modifiés sont chargés et distribués aux joueurs. Cette déduplication s’effectue automatiquement ; aucune action n’est requise de la part du développeur.Chiffrement et compression par segment
Chaque segment est compressé et chiffré indépendamment. Ainsi, la mise à jour d’un segment n’affecte pas les autres.Ce qui change par rapport à MSIXVC
Les contraintes d’alignement et de disposition suivantes liées aux mises à jour de contenu MSIXVC ne s’appliquent pas à MSIXVC2 :Comparaison de la taille des mises à jour
Les données suivantes comparent la taille des mises à jour de contenu entre MSIXVC et MSIXVC2 pour les mêmes builds de titres. Aucune modification n’a été apportée aux jeux : mêmes ressources, mêmes builds, format d’empaquetage différent.
Le jeu D présente une amélioration moindre, car le titre était déjà optimisé manuellement pour les mises à jour de contenu MSIXVC (CUv3). La plupart des titres qui n’ont pas effectué ce travail d’optimisation constateront des réductions plus importantes. Avec MSIXVC2, ce travail d’optimisation n’est plus nécessaire.
Réduction de la surcharge des packages
Chaque package MSIXVC inclut un arbre de hachage minimal fixe dont la taille augmente avec la taille totale du jeu. Cette surcharge est toujours entièrement téléchargée à chaque mise à jour. Pour les titres volumineux, cette surcharge est importante :
La surcharge MSIXVC2 peut également être téléchargée partiellement, ce qui signifie que les joueurs ne reçoivent que les parties des métadonnées pertinentes pour leur mise à jour.
Amélioration de la taille du jeu de base
La segmentation basée sur le contenu et la compression intégrée réduisent également la taille de téléchargement du jeu de base :
Les titres dont le contenu n’est pas compressé ou qui comportent d’importantes données dupliquées entre les chunks bénéficient des plus fortes réductions de taille de base. Les titres qui compressent déjà tout leur contenu et ne présentent aucune duplication (comme le jeu D) bénéficient d’améliorations plus modestes, mais néanmoins significatives.
Évaluation de MSIXVC2 pour votre titre
Pour mesurer l’amélioration des mises à jour de contenu pour votre propre titre :- Prenez deux builds consécutives de votre jeu (par exemple, une build de version et le correctif suivant).
- Empaquetez les deux builds à l’aide de
makepkg.
- Comparez la taille de mise à jour obtenue à celle d’une build MSIXVC (v1) équivalente.
- Utilisez les résultats de la comparaison pour planifier votre migration vers MSIXVC2.
Chargez les packages MSIXVC2 dans une branche distincte de Partner Center (par exemple,
msixvc2). Ne mélangez pas les packages MSIXVC2 et MSIXVC dans la même branche : le retour d’une branche de MSIXVC2 à MSIXVC nécessite un nouveau chargement complet et impose un nouveau téléchargement complet aux joueurs de cette branche. Pour plus de détails, consultez Bonnes pratiques relatives aux branches de packages.