Para obter orientações sobre atualizações de conteúdo específicas do formato MSIXVC original, confira Práticas recomendadas de atualização de conteúdo.
Como funcionam as atualizações de conteúdo do MSIXVC2
Segmentação baseada em conteúdo
O MSIXVC2 divide os dados dos arquivos em segmentos de tamanho variável com base no conteúdo real, em vez de limites fixos de blocos. Cada segmento é identificado por um hash do seu conteúdo. Essa abordagem significa que:- Mover um arquivo entre chunks não dispara um novo download. Os hashes de conteúdo do arquivo permanecem os mesmos, independentemente do chunk ao qual ele pertence.
- Reordenar arquivos dentro de um chunk não dispara um novo download. Os limites dos segmentos são determinados pelo conteúdo, não pela posição.
- Reordenar chunks não dispara um novo download. O layout de chunks é um conceito lógico que não afeta a segmentação física dos dados.
- Inserir ou remover dados não gera efeito cascata. Diferentemente dos sistemas de blocos fixos, uma pequena inserção não desloca todos os blocos subsequentes nem força novos downloads de conteúdo inalterado.
Eliminação de duplicação no carregamento
Cada segmento recebe um hash antes do carregamento. O processo de carregamento consulta a CDN para determinar quais segmentos já existem de versões anteriores. Somente os segmentos novos ou alterados são carregados e entregues aos jogadores. Essa eliminação de duplicação acontece automaticamente, sem necessidade de nenhuma ação do desenvolvedor.Criptografia e compactação por segmento
Cada segmento é compactado e criptografado de forma independente. Isso garante que a atualização de um segmento não afete os outros.O que muda em relação ao MSIXVC
As seguintes restrições de alinhamento e layout das atualizações de conteúdo do MSIXVC não se aplicam ao MSIXVC2:Comparação do tamanho das atualizações
Os dados a seguir comparam os tamanhos das atualizações de conteúdo entre MSIXVC e MSIXVC2 para os mesmos builds de títulos. Nenhuma alteração foi feita nos jogos: mesmos ativos, mesmos builds, formato de empacotamento diferente.
O Jogo D apresenta uma melhoria menor porque o título já havia sido otimizado manualmente para atualizações de conteúdo do MSIXVC (CUv3). A maioria dos títulos que não fizeram esse trabalho de otimização verá reduções maiores. Com o MSIXVC2, esse trabalho de otimização não é mais necessário.
Redução da sobrecarga do pacote
Todo pacote MSIXVC inclui uma árvore de hash mínima fixa cujo tamanho aumenta com o tamanho total do jogo. Essa sobrecarga é sempre baixada integralmente a cada atualização. Para títulos grandes, essa sobrecarga é significativa:
A sobrecarga do MSIXVC2 também pode ser baixada parcialmente, o que significa que os jogadores recebem somente as partes dos metadados relevantes para a sua atualização.
Melhorias no tamanho do jogo base
A segmentação baseada em conteúdo e a compactação integrada também reduzem os tamanhos de download do jogo base:
Títulos com conteúdo não compactado ou com dados duplicados significativos entre chunks têm as maiores reduções no tamanho base. Títulos que já compactam todo o conteúdo e não têm duplicação (como o Jogo D) têm melhorias menores, mas ainda significativas.
Avaliando o MSIXVC2 para o seu título
Para medir a melhoria nas atualizações de conteúdo do seu próprio título:- Pegue dois builds sequenciais do seu jogo (por exemplo, um build de lançamento e o patch subsequente).
- Empacote os dois builds usando
makepkg.
- Compare o tamanho da atualização resultante com um build MSIXVC (v1) equivalente.
- Use os resultados da comparação para planejar sua migração para o MSIXVC2.
Carregue os pacotes MSIXVC2 em um branch separado no Partner Center (por exemplo,
msixvc2). Não misture pacotes MSIXVC2 e MSIXVC no mesmo branch: reverter um branch de MSIXVC2 para MSIXVC exige um novo carregamento completo e força um novo download completo para os jogadores desse branch. Confira Práticas recomendadas para branches de pacotes para obter detalhes.