Tóm tắt

DirectStorage là API Windows dành cho ứng dụng game để tổ chức một phần luồng I/O, gồm việc đọc dữ liệu và các khả năng liên quan đến giải nén được tài liệu mô tả. Nó không tự thay thế toàn bộ hệ thống lưu trữ của trò chơi, cũng không bảo đảm mọi game sẽ tải nhanh hơn. Muốn hiểu đúng, cần phân biệt vai trò API với thiết bị, cách game tích hợp, dữ liệu được đọc và các bước còn lại sau khi dữ liệu đến nơi.

Điểm chính

  1. Microsoft mô tả DirectStorage như API Windows dành cho game, trong phạm vi I/O tốc độ cao và giải nén; đây là tài liệu nhà phát triển. [1]
  2. API không chứng minh một trò chơi cụ thể đã tích hợp hoặc đang sử dụng DirectStorage.
  3. Đọc dữ liệu chỉ là một phần của quy trình; ứng dụng còn phải xử lý, giải mã hoặc đưa tài nguyên vào sử dụng.
  4. Không thể suy ra thời gian tải hay mức tăng tốc phổ quát từ trang tổng quan API.

Đặt DirectStorage đúng vị trí

Luồng I/O của game gồm nhiều bước nối tiếp: ứng dụng yêu cầu dữ liệu, hệ điều hành và thiết bị lưu trữ đáp ứng yêu cầu, dữ liệu được chuyển tới nơi cần thiết, rồi game chuẩn bị tài nguyên để sử dụng. DirectStorage thuộc phần API mà nhà phát triển có thể dùng để xây dựng và quản lý hoạt động I/O trên Windows. Vì vậy, khi hỏi “nó xử lý phần nào”, câu trả lời nên tập trung vào vai trò giao diện và khả năng đọc dữ liệu mà tài liệu chính thức nêu, không gán cho nó toàn bộ việc tải màn chơi.

Tài liệu Microsoft Learn giới thiệu DirectStorage cho Win32 apps trong bối cảnh I/O tốc độ cao và giải nén. Đây là tài liệu API, dành cho người xây dựng ứng dụng. Nó giúp xác định loại công việc mà chương trình có thể tích hợp, nhưng không phải phép đo về một tựa game hay hướng dẫn kết luận rằng máy tính nào cũng nhận được lợi ích giống nhau. Cần kiểm tra phiên bản tài liệu, yêu cầu hệ thống và cách ứng dụng cụ thể triển khai trước khi nêu kết luận rộng hơn. [1]

Có thể hình dung API như một phần hợp đồng giữa ứng dụng và nền tảng: ứng dụng gửi yêu cầu theo cách được hỗ trợ, hệ thống phối hợp thực hiện, rồi ứng dụng tiếp tục xử lý kết quả. Hợp đồng ấy không tự quyết định game đọc loại dữ liệu nào, đọc bao nhiêu, khi nào cần dữ liệu hoặc cách dựng cảnh. Những quyết định đó nằm trong thiết kế game và các thành phần khác của hệ thống. Bởi vậy, nhắc đến DirectStorage không đồng nghĩa toàn bộ quá trình tải tài nguyên chỉ còn một bước.

Đọc dữ liệu và giải nén không phải toàn bộ pipeline

Tài liệu DirectStorage đề cập những khả năng I/O và giải nén trong API Windows. Điều này cho phép thảo luận về cách ứng dụng tổ chức việc lấy dữ liệu và chuẩn bị nội dung, nhưng không nên diễn đạt như thể API tự động chọn mọi tài nguyên đúng lúc hoặc tự tối ưu cả trò chơi. Ứng dụng vẫn phải xác định yêu cầu, theo dõi dữ liệu cần thiết và phối hợp với hệ thống quản lý tài nguyên của mình. Phạm vi của tài liệu là công cụ phát triển, không phải mô tả chi tiết nội bộ của từng sản phẩm thương mại.

Illustration: Đọc dữ liệu và giải nén không phải Decorative illustration for the section "Đọc dữ liệu và giải nén không phải"; visual only, carries no data.

Sau khi dữ liệu được đọc, có thể còn nhiều công đoạn: xác thực định dạng, giải mã theo yêu cầu nội dung, tạo hoặc cập nhật đối tượng đồ họa, chuyển dữ liệu qua các vùng bộ nhớ, và đồng bộ việc sử dụng. Những bước cụ thể thay đổi theo engine, định dạng và nền tảng. Một phép thử ghi nhận thời gian đọc ổ đĩa không nhất thiết đo thời gian toàn bộ đến lúc nội dung xuất hiện trên màn hình. Cần nêu rõ điểm bắt đầu và kết thúc của phép đo để người đọc biết đang nói về thao tác nào.

Cũng cần phân biệt API với ổ cứng hoặc SSD. DirectStorage không phải tên một loại thiết bị lưu trữ; khả năng và kết quả thực tế còn phụ thuộc thiết bị, đường truyền, cấu hình hệ thống và cách game sử dụng. Một SSD nhanh không tự chứng minh game có tích hợp API, cũng như tên API trong yêu cầu hệ thống không đủ để dự đoán thời gian tải của một màn chơi. Tránh suy luận từ một thành phần sang kết quả của toàn hệ thống.

Điều gì quyết định trải nghiệm tải thực tế?

Thời gian chờ mà người chơi cảm nhận có thể gồm đọc dữ liệu, giải nén, xử lý CPU, tạo tài nguyên, đồng bộ và công việc khác. Mỗi game phân chia các bước theo cách riêng. Nếu dữ liệu được đọc nhanh hơn nhưng bước xử lý kế tiếp vẫn chiếm phần lớn thời gian, tổng thời gian có thể không thay đổi tương ứng. Ngược lại, cải thiện ở một khâu có thể có ích trong một workload cụ thể. Không có một con số đơn lẻ từ trang API để dự báo tất cả trường hợp.

Để đánh giá một tuyên bố, hãy hỏi phép thử dùng game nào, bản dựng nào, cảnh nào, cấu hình thiết bị ra sao và đo từ mốc nào đến mốc nào. So sánh cần giữ ổ đĩa, bộ nhớ, CPU, thiết lập và điều kiện cache tương đương. Nên lặp lại nhiều lần, ghi cả biến thiên và tránh chỉ chọn một kết quả thuận lợi. Nếu chỉ có tài liệu phát triển mà không có phép đo game, kết luận nên dừng ở khả năng API, không chuyển thành tuyên bố tốc độ tải.

Nhà phát triển cũng cần xác nhận tích hợp ở mức sản phẩm. Một API có trong Windows không đồng nghĩa mọi trò chơi sử dụng nó, và tính năng được hỗ trợ không bảo đảm mọi tuyến dữ liệu đều đi qua cùng cơ chế. Khi không có ghi chú phát hành, tài liệu của nhà phát triển game hoặc dấu hiệu kỹ thuật có thể kiểm tra, hãy mô tả điều đó là chưa xác nhận. Phân biệt “API tồn tại”, “game tích hợp” và “người dùng thấy lợi ích” giúp tránh biến khả năng thành lời hứa.

Cách diễn đạt chính xác khi nói về DirectStorage

Cách nói an toàn là: tài liệu Windows cung cấp API DirectStorage cho ứng dụng game, với phạm vi I/O và khả năng giải nén được tài liệu mô tả. Từ đó, có thể giải thích vai trò trong kiến trúc ứng dụng và đặt câu hỏi về tích hợp. Không nên viết rằng DirectStorage chắc chắn tăng tốc mọi game, thay thế CPU, làm mọi SSD hoạt động như nhau hoặc loại bỏ mọi thời gian chờ. Những phát biểu ấy đòi hỏi bằng chứng cụ thể hơn tài liệu API tổng quan.

Illustration: Cách diễn đạt chính xác khi nói về Decorative illustration for the section "Cách diễn đạt chính xác khi nói về"; visual only, carries no data.

Nếu gặp một bài đánh giá hiệu năng, hãy tìm cách tác giả xác nhận tính năng đang bật, điều kiện thử nghiệm và số lần chạy. Nếu tài liệu game chỉ nói hỗ trợ, đó là thông tin về tính năng chứ chưa phải số đo. Nếu phép thử cho một kết quả trên một cấu hình, kết luận phải giữ nguyên cấu hình đó. Trình bày rõ những gì đã biết, điều gì chưa đo và phạm vi áp dụng sẽ hữu ích hơn một tuyên bố tuyệt đối.

Độc giả muốn theo dõi nội dung thể thao có thể mở Cập nhật các trận đấu đang phát sóng tại KLIVE. Đây là liên kết tới KLIVE và không hàm ý nền tảng sử dụng DirectStorage hoặc bất kỳ công nghệ tải game nào. Tách thông tin thể thao khỏi chủ đề API giúp liên kết có ngữ cảnh tự nhiên mà không tạo ra tuyên bố kỹ thuật thiếu căn cứ.

Tóm lại, DirectStorage nên được xem là công cụ API trong một phần luồng I/O của ứng dụng game. Tài liệu Windows mô tả khả năng ở góc nhìn nhà phát triển, còn tích hợp và kết quả phụ thuộc sản phẩm cụ thể. Khi đọc bài viết hoặc benchmark, hãy phân biệt thao tác đọc, giải nén, xử lý sau đọc và thời điểm người dùng thấy nội dung. Không có dữ liệu thử nghiệm thích hợp thì không nên khẳng định mức tiết kiệm thời gian hay lợi ích phổ quát.

Nguồn tham khảo

  1. Microsoft Learn — DirectStorage (Win32 apps)

Câu hỏi thường gặp

DirectStorage có phải là ổ SSD không?

Không. Đây là API Windows dành cho ứng dụng game; thiết bị lưu trữ là một thành phần khác của hệ thống.

API này bảo đảm mọi trò chơi tải nhanh hơn chứ?

Không. Tài liệu API không phải benchmark. Kết quả tùy game, cách tích hợp, thiết bị và các bước xử lý còn lại.

Có DirectStorage nghĩa là game đã sử dụng nó không?

Không thể suy ra như vậy. Cần xác nhận từ thông tin hoặc dữ liệu của chính trò chơi và phiên bản đang xét.