จำเป็นต้องใช้พลังงานมากแค่ไหนสำหรับเกม 3D สามมิติ?


12

ถ้าเราใช้ Cryengine 3 เพื่อการพัฒนาเกมและทำให้เกม 3D เข้ากันได้ เนื่องจาก 3D ส่งรูปภาพสองรูปออกหมายความว่าคุณต้องการคอมพิวเตอร์ที่มี "กำลัง" สองเท่าหรือไม่ ดังนั้นถ้าคุณได้ 30 fps เมื่อเล่นปกติคุณจะต้อง 60 fps สำหรับการเล่นกับ 3D?

คำตอบ:


1

ในระยะสั้นใช่คุณจะต้องมีการส่งออก 60fps เพื่อให้มีผล 30fps


1
ฉันสับสนเกี่ยวกับคำตอบนี้เป็นคำตอบที่ "ยอมรับ" ให้คำตอบที่ขัดแย้งทั้งสองดูเหมือนที่นี่
jcurrie33

2
ฉันไม่รู้ว่าทำไมนี่คือคำตอบที่ยอมรับเพราะมันไม่ถูกต้องตามข้อเท็จจริง
AttackHobo

16

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

สถานการณ์เดียวที่สิ่งนี้จะเป็นจริงคือถ้าคุณมีฉาก 3 มิติที่คงที่ซึ่งซับซ้อนมากกับ GPU ที่ทำทุกอย่างและ CPU ไม่ได้ทำงาน และถึงอย่างนั้นฉันก็สงสัยว่ามันจะมีประสิทธิภาพลดลง 50%

ฉันได้ทดสอบเกมจำนวนมากด้วยสเตอริโอสามมิติของ nvidia และไม่มีเกมใดที่ลดประสิทธิภาพลงเกือบ 50%


9

โดยเฉพาะอย่างยิ่งกับ CryEngine 3 สิ่งนี้ไม่เป็นความจริง ใช่มันลดลงครึ่งหนึ่ง แต่การเปิด 3D ไม่ทำให้คุณเสียค่าใช้จ่ายครึ่งหนึ่งของเฟรม (หรือคุณต้องใช้พลังงานฮาร์ดแวร์เพิ่มเป็นสองเท่า) พวกเขาใช้การคัดลอกแคชและบัฟเฟอร์ความลึกที่มีอยู่เพื่อให้ได้ภาพที่สองดังนั้นประสิทธิภาพจะลดลง 5-10% เมื่อเปิด 3D พวกเขาเรียกสิ่งนี้ว่า "Screen Space Re-Projection Stereo"


1
ใช่ แต่ไม่ใช่สเตอริโอแบบเต็ม
samboush

พวกเขาพูดถึงสิ่งนี้ในคำอธิบายของผู้พัฒนาเกมไม่สามารถหาลิงค์ได้ในขณะนี้
David Young Young

@samboush: ทำไมถึงไม่เป็น "สเตอริโอแบบเต็ม"? มันทำงานร่วมกับ Nvidia 3D Vision และแว่นตาสเตอริโอทั่วไป
Enrico

@Enrico: หากคุณมีหน้าจอที่มีความลึกคุณจะรู้พิกัดที่แท้จริงของทุกพิกเซล จากนั้นคุณสามารถนับการเปลี่ยนแปลงของฉากปกติสำหรับตาซ้ายและขวา แต่สเตอริโอ 3 มิติที่แท้จริงคือคุณวาดสองฉาก - ให้มองตาข้างซ้ายและสองสำหรับตาขวา สองฉากเต็ม จากนั้นใช้เวลาในการวาดมากกว่า 2 ครั้ง
samboush

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

1

ฉันจะบอกว่าไม่สำคัญเลย มันเป็นทั้งปัญหาทรัพยากรฮาร์ดแวร์และความท้าทายในการพัฒนา

เวลาส่วนใหญ่คุณไม่สามารถแยกเฟรมระหว่างตาสองข้างได้ หากเกมของคุณทำงานที่ 60fps ปกติคุณจะต้องรันที่ 120fpsเพื่อความสบายตาเหมือนกัน

อย่างไรก็ตามสิ่งต่าง ๆ มากมายสามารถทำได้เพียงครั้งเดียวต่อหนึ่งสเตอริโอคู่: frustum culling - ในราคาของ frustum ที่ใหญ่กว่าเล็กน้อย (ดูการตั้งค่ากล้อง 3 มิติในการปรับให้เหมาะสมสำหรับการสร้างเกมสามมิติสามมิติบนPlayStation® ), การบดเคี้ยว และการอัปโหลดอาร์เรย์ดัชนีจับภาพฉากและแสดงเป็นพื้นผิว ...

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

เพื่อรับมือกับกำลังการประมวลผลพิเศษที่ต้องการคุณสามารถลดความละเอียดได้ จากประสบการณ์ส่วนตัวของฉันเป็นที่ยอมรับได้มากกว่าการลดเฟรม อย่าพยายามที่จะปิดการใช้งานการป้องกันนามแฝงแม้ว่า: วิศวกรของโซนี่กล่าวว่าในกระดาษข้างต้นแสดงผลเพื่อลดบัฟเฟอร์ที่มีความละเอียด AA รูปลักษณ์ที่ดีกว่าบัฟเฟอร์ละเอียดสูงโดยไม่มี AA

โปรดทราบว่ามีวิธีการอื่น ๆ เพื่อ stereovision ในเกมที่ไม่จำเป็นต้องมีทีวี 3 มิติเช่นTrioviz ฉันไม่สามารถเข้าไปดูรายละเอียดที่นี่ได้ (ปัญหา NDA)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.