Microsoft ได้ประกาศเปิดตัว DirectStorage SDK เวอร์ชัน 1.2 ซึ่งนำเสนอฟีเจอร์และการแก้ไขใหม่ๆ ตามความคิดเห็นของผู้ใช้
DirectStorage คืออะไร
DirectStorage เป็นเทคโนโลยีที่รวมอยู่ใน DirectX dev kit ซึ่งออกแบบมาเพื่อช่วยให้เกมโหลดเร็วขึ้น เวลาในการโหลดเร็วขึ้นทำได้โดยการย้ายโหลดการคลายการบีบอัดจาก CPU ไปยัง GPU ซึ่งจะทำให้กระบวนการเร็วขึ้นโดยการวางไฟล์บน GPU ทันทีที่ถูกคลายการบีบอัด เพื่อให้พร้อมใช้งานได้เร็วกว่าเมื่อเปิดอยู่ คลายการบีบอัดบน CPU
DirectStorage 1.2
ด้วยการเปิดตัว DirectStorage 1.2 Microsoft ได้คำนึงถึงความคิดเห็นของผู้ใช้เพื่อใช้คุณสมบัติใหม่และการแก้ไขปรับปรุง DirectStorage SDK อย่างมาก หนึ่งในคุณสมบัติใหม่เหล่านี้คือการแนะนำ ของ Force Buffered IO ปัจจุบัน DirectStorage เปิดไฟล์ในโหมดไม่บัฟเฟอร์ซึ่งช่วยให้เครื่องมือหลีกเลี่ยงการคัดลอกที่ไม่จำเป็นและรับข้อมูลไปยัง GPU โดยเร็วที่สุด Microsoft ได้ตัดสินใจใช้โหมดบัฟเฟอร์แทนเนื่องจากนักพัฒนาซอฟต์แวร์ต้องการใช้รหัสเดียวกันบน SSD และฮาร์ดไดรฟ์ เนื่องจากต้องใช้ IO แบบบัฟเฟอร์
ส่วนเพิ่มเติมที่สำคัญถัดไปคือ GetCompressionSupport API ใหม่ เนื่องจากปัจจุบัน DirectStorage เลือกเส้นทางการคลายการบีบอัดสำหรับรูปแบบการบีบอัดในตัวตามความสามารถของ GPU แต่นักพัฒนาได้กล่าวว่าจะเป็นประโยชน์ในการทำความเข้าใจว่าเส้นทางการคลายการบีบอัดใด กำลังใช้. พวกเขาอ้างว่านี่คือการตั้งค่าความละเอียดพื้นผิวเริ่มต้นตามเส้นทางการบีบอัดที่เลือก
แก้ไขข้อบกพร่อง:
แก้ไขแล้ว https://github.com/microsoft/DirectStorage/issues/22 โดยเพิ่มช่อง “Reserved1” ใน DSTORAGE_REQUEST_OPTIONS สิ่งนี้ทำให้เค้าโครงในหน่วยความจำของโครงสร้างมีความชัดเจนมากขึ้น แต่จริงๆ แล้วไม่ได้เปลี่ยนเค้าโครงจากเวอร์ชันก่อนหน้า แก้ไข DSTORAGE_REQUEST_DESTINATION_TEXTURE_REGION สำหรับพื้นผิว 3 มิติ ตามที่รายงานให้เราทราบในช่อง DirectX Discord แก้ไขปัญหาการตั้งเวลาที่แสดงเมื่อถ่ายโอนข้อมูลที่ไม่ได้บีบอัดจากหน่วยความจำไปยังบัฟเฟอร์
การปรับปรุงประสิทธิภาพ:
ย้ายสำเนาหลังจากคลายการบีบอัด GPU ไปยังคิวการประมวลผลสำหรับ GPU ซึ่งจะเร็วกว่า
ฉันจะเรียนรู้เพิ่มเติมได้จากที่ใด
หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ DirectStorage 1.2 คุณสามารถดูบล็อกโพสต์แบบเต็มได้ ที่นี่