SSD ปรับปรุงประสิทธิภาพในคอนโซลเมื่อสตรีมมิ่งอย่างไร

เมื่อเร็ว ๆ นี้ ไมโครซอฟท์ ได้เปิดตัวการอัปเดตสำหรับไฟล์ DirectX กราฟิก API ที่เพิ่มรันไทม์ใหม่ที่เรียกว่า ข้อเสนอแนะตัวอย่าง และนั่นจะเป็นส่วนสำคัญของวิธีการที่คอนโซลรุ่นต่อไปจะ ใช้ประโยชน์จาก SSD เพื่อปรับปรุงประสิทธิภาพเมื่อพูดถึงการสตรีม . คุณต้องการที่จะรู้ว่ามันทำงานอย่างไร ในบทความนี้เราอธิบายให้คุณ

คำติชมตัวอย่างเป็นคุณลักษณะ Direct3D ใหม่ที่กำหนดวิธีการบันทึกและบันทึกข้อมูลพื้นผิวและตำแหน่งบนหน้าจอ ไม่ได้จนกว่าจะถึงตอนนี้นักพัฒนาซอฟต์แวร์จะเห็นรายละเอียดที่ทึบแสงซึ่งมีคุณภาพน้อยลงและต้องการความพยายามมากขึ้นจากฮาร์ดแวร์ในการสร้างเฟรมที่ออกอากาศในสตรีม

ตัวควบคุม

ผลตอบรับตัวอย่าง

ใช้ Xbox อันดับ X ตัวอย่างเช่นซึ่ง SSD เร็วพอสมควรโดยมีความเร็วในการอ่านตามทฤษฎี 2.4 GB / s และฮาร์ดแวร์คลายการบีบอัดที่ควรเพิ่มอัตราพื้นผิวนั้นเป็นสองเท่าโดยใช้อัลกอริทึมที่กำหนดเองที่เรียกว่า BCPack จำเป็นต้องมีเทคนิคใหม่ ๆ เพื่อให้สามารถใช้ประโยชน์จากแบนด์วิดท์นั้นได้อย่างมีประสิทธิภาพและเมื่อพูดถึงการสตรีมจากคอนโซลประสิทธิภาพของเกมจะไม่ถูกลงโทษอย่างรุนแรง

Sampler Feedback ใช้ผลลัพธ์ของเฟรมที่แสดงผลก่อนหน้านี้เพื่อกำหนดพื้นผิวที่จะอ่านในหน่วยความจำ แนวคิดก็คือพื้นผิวส่วนใหญ่ที่เก็บไว้ในหน่วยความจำนั้นมีคุณภาพของรายละเอียดที่ต่ำมาก แต่เนื่องจากเกมต้องการพื้นผิวที่มีความละเอียดสูงกว่าจึงมีการโหลดสำหรับเฟรมถัดไป โดยพื้นฐานแล้ว บันทึกเฟรมที่แสดงผลแล้วในหน่วยความจำเพื่อใช้ในภายหลัง

แต่ละพื้นผิวประกอบด้วยสิ่งที่พวกเขาเรียกว่า "Mipmaps" ซึ่งเป็นห่วงโซ่ของแต่ละเฟรมที่มีขนาดเล็กลงเรื่อย ๆ ของแต่ละพื้นผิว นักพัฒนาใช้พื้นผิวที่เหมือนกระเบื้องโมเสคเหล่านี้ซึ่งแบ่งพื้นผิวขนาดใหญ่ออกเป็น กล่องขนาดเล็กที่สามารถโหลดทีละรายการ เพื่อปรับปรุงกระบวนการและปรับปรุงประสิทธิภาพ

ตัวอย่างเช่นพื้นผิว 1024 x 1024 สามารถสร้างจากโมเสกขนาด 64 128 x 128 เฟรม Mipmap ของคุณจะมีพื้นผิว 512 x 512 ที่ทำจาก 16 128 x 128 เฟรมและพื้นผิว 256 x ที่เล็กกว่า 256 ทำจาก 4 เฟรมและพื้นผิวที่เล็กลงสำหรับการดูเพิ่มเติม

จำนวนเต็มขูดหินปูน

แต่ละไทล์เหล่านี้สามารถโหลดลงในหน่วยความจำหรือจองไว้เพื่อใช้ในภายหลัง เมื่อ GPU แสดงฉากโดยดูที่ไทล์เฉพาะใน Mipmaps ที่ต้องการ ส่วนขยาย Sampler Feedback ช่วยเมื่อใดก็ตามที่ GPU ต้องโหลดภาพโมเสคมันสามารถบัฟเฟอร์เฟรมที่ต้องการและระดับของรายละเอียด หากไทล์ที่คุณต้องการไม่อยู่ในหน่วยความจำระบบจะใช้เวอร์ชันความละเอียดพื้นผิวที่ต่ำกว่า บันทึกการทำงานของ GPU .

ซึ่งหมายความว่าหลังจากแสดงผลไฟล์ ซีพียู มีข้อมูลมากมายเกี่ยวกับกระเบื้องที่ต้องการคุณสามารถเปรียบเทียบข้อมูลนี้กับสิ่งที่โหลดไปแล้วได้อย่างรวดเร็วและคุณจะได้รับรายการสิ่งที่ GPU ขอ แต่ไม่มี CPU ยังสามารถติดตามไทล์ที่ต้องการล่าสุดซึ่งคุณสามารถดาวน์โหลดเพื่อเพิ่มหน่วยความจำได้

วิธีที่คอนโซล SSD ปรับปรุงประสิทธิภาพการสตรีม

มีสองสิ่งที่กำหนดว่า SSD สามารถทำงานได้เร็วเพียงใด: ขนาดของคำขอ (จำนวนข้อมูลที่เข้ามา) และความลึกของคิว (จำนวนคำขอที่ได้รับพร้อมกัน) สำหรับ SSD การอ่าน 4K ที่มีความลึก 1 หรือ 2 เป็นปริมาณงานที่ "สุ่ม" โดยทั่วไปและโดยทั่วไปจะค่อนข้างช้า ในทางตรงกันข้าม 128 KB อ่านที่ความลึกของคิว 16 มีประสิทธิภาพที่ดีกว่ามาก

ด้วย 128 x 128 ไทล์และ 4 ไบต์ต่อพิกเซลไทล์คือ 64 KB หลายพื้นผิวเช่นปกติและจะต้องใช้สีพร้อมกันเสมอดังนั้นจึงโหลดและยกเลิกการโหลดพร้อมกันดังนั้นหลังจากบีบอัดขนาดอาจเป็น 64 KB หรือมากกว่า เนื่องจาก CPU รู้ว่าพื้นผิวใดที่จำเป็นตลอดเวลาจึงสามารถจัดคิวได้เร็วเท่าที่ต้องการซึ่งหมายความว่า เมื่อพูดถึงการส่งสัญญาณพื้นผิวจะได้รับประโยชน์อย่างมากจากแบนด์วิดท์ที่เพิ่มขึ้นซึ่ง SSD มอบให้.

ต่อด้วยตัวอย่าง Xbox Series X หากความเร็วในการโหลดพื้นผิวหลังจากคลายการบีบอัดคือ 3.8 GB / s จะอนุญาตให้โหลด 64 MB ต่อเฟรมที่ 60 FPS; เร็วพอที่จะโหลด 1000 พื้นผิวต่อเฟรมเทียบเท่ากับพื้นผิวเดียว 4096 x 4096

กล่าวอีกอย่างหนึ่งว่าด้วยเทคโนโลยี Sampler Feedback นี้เราจะมีประสิทธิภาพที่ดีขึ้นและมีคุณภาพของพื้นผิวที่ดีขึ้นโดยเฉพาะอย่างยิ่งการสตรีมที่น่าสนใจเป็นพิเศษเพราะมันจะมี บทลงโทษที่ต่ำกว่าสำหรับ GPU และ CPU ใช้ประโยชน์จากแบนด์วิดธ์มหาศาลที่จัดทำโดย SSD.