Pour des directives sur les mises à jour de contenu propres au format MSIXVC d’origine, consultez Pratiques exemplaires pour les 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 selon le contenu réel plutôt que selon des limites de blocs fixes. Chaque segment est identifié par un hachage de son contenu. Cette approche signifie que :- Déplacer un fichier d’un bloc à un autre ne déclenche pas de nouveau téléchargement. Les hachages du contenu du fichier restent les mêmes, peu importe le bloc auquel il appartient.
- Réordonner les fichiers dans un bloc 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.
- Réordonner les blocs ne déclenche pas de nouveau téléchargement. La disposition des blocs est un concept logique qui n’a pas d’incidence sur 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’oblige pas à télécharger de nouveau du contenu inchangé.
Déduplication lors du téléversement
Chaque segment est haché avant le téléversement. Le processus de téléversement 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 téléversés et livrés aux joueurs. Cette déduplication se fait automatiquement : aucune action du développeur n’est requise.Chiffrement et compression par segment
Chaque segment est compressé et chiffré de façon indépendante. Cela garantit que la mise à jour d’un segment n’a pas d’incidence sur les autres.Ce qui change par rapport à MSIXVC
Les contraintes d’alignement et de disposition suivantes des 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 moins importante, car le titre avait déjà été 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 paquets
Chaque paquet MSIXVC comprend un arbre de hachage minimal fixe dont la taille croît avec la taille totale du jeu. Cette surcharge est toujours téléchargée en entier à chaque mise à jour. Pour les titres volumineux, cette surcharge est considérable :
La surcharge MSIXVC2 peut également être téléchargée partiellement, ce qui signifie que les joueurs ne reçoivent que les portions des métadonnées pertinentes pour leur mise à jour.
Améliorations 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 contenant du contenu non compressé ou d’importantes données en double dans plusieurs blocs bénéficient des plus grandes réductions de la taille de base. Les titres qui compressent déjà tout leur contenu et qui n’ont aucune duplication (comme le jeu D) bénéficient d’améliorations moins importantes, mais tout de même significatives.
Évaluer MSIXVC2 pour votre titre
Pour mesurer l’amélioration des mises à jour de contenu pour votre propre titre :- Prenez deux builds successives de votre jeu (par exemple, une build de version et le correctif qui suit).
- 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.
Téléversez les paquets MSIXVC2 dans une branche distincte de Partner Center (par exemple,
msixvc2). Ne mélangez pas les paquets MSIXVC2 et MSIXVC dans la même branche : faire revenir une branche de MSIXVC2 à MSIXVC nécessite un nouveau téléversement complet et force un nouveau téléchargement complet pour les joueurs de cette branche. Consultez Pratiques exemplaires pour les branches de paquets pour plus de détails.