- Tựa game bắn súng co-op nổi tiếng Helldivers 2 đã giảm khoảng 85% dung lượng cài đặt trong bản cập nhật mới nhất
- Với sự hỗ trợ từ Nixxes Software, game đã giảm dung lượng từ 154GB xuống 23GB bằng cách loại bỏ dữ liệu game trùng lặp (de-duplication)
- Cấu trúc dung lượng lớn trước đây là do dữ liệu bị nhân bản để tối ưu cho ổ cứng cơ học (HDD), nhưng sau đó được xác nhận là hiệu quả cải thiện thời gian tải thực tế đã bị đánh giá quá cao
- Kết quả đo gần đây cho thấy ngay cả người dùng HDD (chiếm 11% tổng số) cũng chỉ bị tăng vài giây thời gian tải nhiệm vụ
- “Phiên bản slim” mới mang lại trải nghiệm chơi tương tự phiên bản cũ, đồng thời vẫn giữ nguyên tiến độ và lịch sử mua hàng
Dung lượng cài đặt của Helldivers 2 được cắt giảm mạnh
- Arrowhead Game Studios đã thành công trong việc giảm dung lượng cài đặt của Helldivers 2 từ khoảng 154GB xuống 23GB
- Tiết kiệm khoảng 131GB dung lượng lưu trữ
- Tối ưu hóa này được thực hiện với sự hợp tác của Nixxes Software
- Nixxes được biết đến là studio chuyên phát triển bản port PC cho các tựa PlayStation chủ lực của Sony
- Qua lần hợp tác này, công ty đã áp dụng công nghệ loại bỏ dữ liệu trùng lặp
Loại bỏ tối ưu hóa cho HDD và tác động đến thời gian tải
- Cấu trúc dung lượng lớn ban đầu là do dữ liệu bị nhân bản để cải thiện tốc độ tải trên ổ cứng cơ học (HDD)
- Phương thức được dùng là lưu cùng một dữ liệu ở nhiều vị trí để giảm độ trễ tải trên HDD
- Tuy nhiên, đội ngũ phát triển xác nhận rằng ước tính trước đây dựa trên dữ liệu ngành là không chính xác
- Kết quả đo thực tế cho thấy tỷ lệ người dùng HDD gần đây ở mức 11%
- Ngay cả với nhóm người dùng này, thời gian tải nhiệm vụ cũng chỉ tăng tối đa vài giây
- Đội ngũ phát triển giải thích rằng “phần lớn thời gian tải đến từ quá trình tạo màn chơi, và quá trình này diễn ra song song với việc tải tài nguyên từ đĩa”
Cách tiếp cận của phiên bản slim
- Có thể sử dụng phiên bản slim qua bản cập nhật beta trên Steam
- Mang lại trải nghiệm giống hệt về mặt chức năng so với phiên bản cũ
- Tiến độ, đóng góp chiến tranh, lịch sử mua hàng đều được giữ nguyên
- Người tham gia beta có thể opt-out bất cứ lúc nào
Ý nghĩa từ góc độ phát triển game
- Trường hợp này được đánh giá là ví dụ cho thấy tiềm năng cắt giảm dung lượng lưu trữ của game PC
- Loại bỏ việc nhân bản dữ liệu kém hiệu quả, vốn là vấn đề phổ biến của các game AAA dung lượng lớn
- Đồng thời là lời nhắc với các studio khác về sự cần thiết của tối ưu hóa không gian lưu trữ
Thông tin bổ sung
- Helldivers 2 là game bắn súng hợp tác; qua bản cập nhật mới nhất, game đã cải thiện hiệu quả dung lượng và khả năng tiếp cận
- Tom’s Hardware giới thiệu thay đổi lần này là một bước tiến tích cực đối với game thủ PC
2 bình luận
Thật đáng chán, nhưng dù sao họ cũng đã sửa được nên vẫn là điều may mắn. Có lẽ chỉ là chưa được biết đến thôi, và những trường hợp như thế này còn nhiều hơn nữa.
Ý kiến trên Hacker News
Theo dữ liệu gần đây do các nhà phát triển công bố, ngay cả với người dùng HDD của Helldivers 2 (11% tính đến tuần trước), thời gian tải nhiệm vụ trong trường hợp xấu nhất cũng chỉ tăng thêm vài giây
Phần lớn thời gian tải là do quá trình tạo màn chơi, và việc này diễn ra song song với đọc asset từ đĩa
Dù vậy, việc dung lượng cài đặt vẫn vượt quá 150GB là điều khó chấp nhận, và vẫn còn câu hỏi vì sao một tối ưu hóa như vậy có thể làm được mà lại bị để mặc lâu đến thế
Phần lớn người dùng không xem kỹ yêu cầu dung lượng đĩa trước khi mua game nên gần như không ảnh hưởng đến doanh thu, trong khi việc sửa lại cần tài nguyên phát triển
Nếu họ phải tự chi trả chi phí lưu trữ đám mây cho 150GB mỗi người dùng thì hẳn đã xử lý ngay lập tức
Nút thắt cổ chai thật sự lộ ra rất nhanh khi đo, và cách giải quyết cũng đơn giản
Nhưng loại công việc này vừa tẻ nhạt vừa tốn kém nên thường có mức ưu tiên thấp trong tổ chức
Có lẽ do dung lượng cài đặt quá lớn nên họ lại rơi vào vòng luẩn quẩn phải cài lên HDD phụ thay vì SSD
Nhiều nhà phát triển tối ưu dựa trên cảm giác trực giác thay vì dữ liệu thực tế
Console được build với giả định có SSD nên không có dữ liệu trùng lặp
Mức 154GB trên PC là kết quả của việc trùng lặp asset quy mô lớn, và lúc đầu chỉ ở mức 40~60GB
Sau đó game tiếp tục được phát triển trên một engine đã bị khai tử (Bitsquid/Stingray, liên kết wiki) nên dung lượng cứ thế phình ra
Có người tính rằng lượng tài nguyên phần cứng bị lãng phí vì vấn đề này trong 2 năm qua lên tới ít nhất 10 triệu USD
Có nghĩa là nhà phát triển đã tiết kiệm vài trăm nghìn USD chi phí kỹ thuật bằng cách đẩy chi phí sang cho người dùng
Cách duy nhất để ngăn kiểu lãng phí này, theo họ, là xây dựng văn hóa coi trọng chất lượng phần mềm
Cá nhân người này có ổ game 2TB nên không quá bận tâm về dung lượng
Từ góc nhìn người tiêu dùng, cũng có phản hồi cho rằng khái niệm này không hẳn là một chi phí thực tế
Một người khác nói thêm rằng “cùng lắm chỉ là sự bất tiện vì phải cài ít hơn một game”
Titanfall năm 2014 cũng là một trường hợp tương tự
Trong tổng số 48GB, có tới 35GB là âm thanh không nén, được cho là để phục vụ CPU lõi kép (bài liên quan)
Giải mã MP3 gần như không tạo tải CPU đáng kể, và định dạng âm thanh của Titanfall (OGG 160kbps) vốn đã là nén mất dữ liệu
Điều này khiến người ta liên tưởng đến chuyện dọn dẹp tài nguyên không dùng đến trong tài khoản AWS để tiết kiệm 10.000 USD mỗi tháng
Gần đây, ở mod của Monster Hunter: Wilds, người ta còn làm ngược lại: lưu texture ở dạng đã giải nén sẵn để giảm nút thắt do giải nén trên GPU (liên kết video)
Tôi cũng phải đi dọn tài khoản cloud của mình thôi
Có người tò mò không biết chính xác đã có tối ưu hóa gì
HDD không có bố trí vật lý cố định nên giảm thời gian seek bằng cách lưu trùng lặp có thể cũng không hiệu quả
Cũng có thể nguyên nhân chỉ là do khi build đã tắt tùy chọn “khử trùng lặp dựa trên hash”
Sau khi khử trùng lặp, dung lượng cài đặt giảm mạnh, và tệp cập nhật thậm chí còn lớn hơn cả toàn bộ game
Giờ SSD đã là mặc định, nên bỏ nhiều công sức như vậy chỉ để tối ưu cho HDD có phần hơi quá
Cách làm là lặp lại các tài nguyên chung cần cho từng màn để có thể đọc một mạch
Đây là chiến lược hy sinh dung lượng để đổi lấy băng thông, một kỹ thuật đã được dùng từ thời CD
Có người gần đây tải Hunt: Showdown, ban đầu là 70GB, rồi một tháng sau bản cập nhật lại tải về đúng bằng ngần ấy
Có vẻ như game dùng cách cập nhật ghi đè toàn bộ
Việc phải tải lại hàng chục GB thực sự rất kém hiệu quả
Đây là vấn đề mà phần lớn game đã giải quyết từ trước khi Steam phát triển lớn mạnh
Helldivers 2 được làm trên engine cũ (dựa trên Bitsquid), nhưng vẫn cho thấy rằng không cần công nghệ mới nhất cũng có thể tạo ra một game xuất sắc
Cộng đồng thậm chí phải tự tổ chức chiến dịch yêu cầu sửa lỗi
Nếu không dùng một engine đã ngừng hỗ trợ thì có lẽ game đã ổn định hơn nhiều
Có người kể rằng trước đây khi làm tối ưu game, họ từng giảm dung lượng xuống còn 1/4 ở mức runtime, nhưng vì nhìn bề ngoài không khác gì nên producer chẳng mấy ấn tượng
Họ tự hỏi liệu lần này ở nội bộ cũng có từng vấp phải sự phản đối tương tự hay không
Có người từng gặp trường hợp Steam nhận thấy SSD thiếu dung lượng nên dùng HDD làm bộ nhớ đệm, khiến cài lại toàn bộ còn nhanh hơn cập nhật
Tải 5 phút mà cập nhật mất 8 tiếng thì thật vô lý
Hy vọng bản cập nhật này sẽ cải thiện những vấn đề như thế
Do phải giải mã lại các tệp vốn đã được mã hóa từ đĩa nên gây tải truy cập ngẫu nhiên lớn hơn
Có người thắc mắc liệu các tệp trùng lặp trên PC có thực sự được sử dụng hay không
Họ nghi ngờ rằng quyền truy cập qua hệ thống tệp có đủ hạn chế để phân biệt bản sao nào nhanh hơn trên HDD hay không
Cách này cho phép đọc tuần tự mà không cần seek trên HDD
Đây là kỹ thuật đã có từ thời Crash Bandicoot, và lý do vẫn tối ưu cho HDD vào năm 2024 có lẽ chỉ đơn giản là do ràng buộc của engine