如需原始 MSIXVC 格式特有的內容更新指引,請參閱內容更新最佳做法。
MSIXVC2 內容更新的運作方式
以內容為基礎的分段
MSIXVC2 根據實際內容而非固定的區塊邊界,將檔案資料分割成大小可變的區段。每個區段都以其內容的雜湊來識別。 此方法表示:- 在區塊之間移動檔案不會觸發重新下載。 無論檔案屬於哪個區塊,其內容雜湊都保持不變。
- 在區塊內重新排序檔案不會觸發重新下載。 區段邊界由內容決定,而非位置。
- 重新排序區塊不會觸發重新下載。 區塊配置是一個邏輯概念,不會影響資料的實體分段。
- 插入或移除資料不會產生連鎖效應。 與固定區塊系統不同,小幅插入不會移動所有後續區塊,也不會強制重新下載未變更的內容。
上傳時的重複資料刪除
每個區段在上傳之前都會進行雜湊處理。上傳程序會查詢 CDN,以判斷哪些區段已存在於先前的版本中。只有新的或已變更的區段才會上傳並傳遞給玩家。此重複資料刪除會自動進行,不需要開發人員採取任何動作。每個區段的加密和壓縮
每個區段都會獨立壓縮和加密。這可確保更新一個區段不會影響其他區段。與 MSIXVC 相比的變更
MSIXVC 內容更新的下列對齊和配置限制不適用於 MSIXVC2:更新大小比較
下列資料比較相同遊戲組建在 MSIXVC 和 MSIXVC2 之間的內容更新大小。遊戲未做任何變更,資產相同、組建相同,只有封裝格式不同。
遊戲 D 的改善幅度較小,因為該遊戲已經針對 MSIXVC 內容更新 (CUv3) 進行過手動最佳化。大多數尚未進行此最佳化工作的遊戲將會看到更大的減少幅度。使用 MSIXVC2 後,不再需要進行此最佳化工作。
套件額外負荷的減少
每個 MSIXVC 套件都包含一個固定的最小雜湊樹,其大小會隨遊戲總大小增加。每次更新時一律會完整下載此額外負荷。對於大型遊戲而言,此額外負荷相當可觀:
MSIXVC2 額外負荷也可以部分下載,這表示玩家只會收到與其更新相關的中繼資料部分。
基礎遊戲大小的改善
以內容為基礎的分段和內建壓縮也會減少基礎遊戲的下載大小:
具有未壓縮內容或區塊之間有大量重複資料的遊戲,基礎大小的減少幅度最大。已經壓縮所有內容且沒有重複資料的遊戲 (例如遊戲 D),改善幅度較小但仍有意義。
為您的遊戲評估 MSIXVC2
若要測量您自己遊戲的內容更新改善:- 取得遊戲的兩個連續組建 (例如,發行組建和後續修補程式)。
- 使用
makepkg封裝這兩個組建。
- 將產生的更新大小與對等的 MSIXVC (v1) 組建進行比較。
- 使用比較結果來規劃移轉至 MSIXVC2。
將 MSIXVC2 套件上傳至 Partner Center 中的個別分支 (例如
msixvc2)。請勿在同一個分支上混用 MSIXVC2 和 MSIXVC 套件。將分支從 MSIXVC2 還原為 MSIXVC 需要完整重新上傳,並強制該分支上的玩家完整重新下載。如需詳細資訊,請參閱套件分支最佳做法。