ทำไม vblank_mode จึงปรับปรุง framerate อย่างมากในการวัดประสิทธิภาพ?


8

ฉันพยายามหาวิธีแก้ไขปัญหากราฟิกที่ดีที่สุดสำหรับแล็ปท็อปของฉันด้วย Optimus Nvidia (ASUS K55VD)

ฉันทำงาน bumblebeed และฉันใช้ optirun เมื่อฉันต้องการปรับปรุงประสิทธิภาพกราฟิก ปัญหาเดียวก็คือฉันไม่รู้ว่ามันใช้งานได้จริงหรือเปล่า

เมื่อฉันรันเช่น glxgears ฉันได้รับผลการดำเนินงานดังต่อไปนี้:

glxgears ปกติบนกราฟิก Intel: arround 60 FPS
optirun glxgears บนกราฟิก nvidia: arround 1300 FPS

อย่างนี้ดูดีฉันเดา ..

ความสงสัยของฉันเริ่มต้นเมื่อฉันรันด้วย vblank_mode = 0 หน้าคำสั่งทั้งสอง:

vblank_mode = 0 glxgears ให้: arround 5,000 FPS
vblank_mode = 0 optirun glxgears ให้: ประมาณ1,400 PFS

ทำไมฉันถึงได้รับผลลัพธ์แปลก ๆ เช่นนี้?

คำตอบ:


9

vblank_mode=0 บอกให้กราฟิกการ์ดเพิกเฉยต่ออัตราการรีเฟรชของจอภาพของคุณและเพียงแค่พยายามไปถึง maximux fps ที่มันสามารถปิดได้

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

บางครั้งคุณอาจต้องการสิ่งนี้ (ในนักกีฬาออนไลน์เช่น cs: ไปเป็นต้น) เพราะมิฉะนั้นคุณจะมีความล่าช้าในการป้อนข้อมูลจำนวนมาก เป็นความล่าช้าในการป้อนข้อมูลและหน้าจอฉีกขาด

ฉันคิดว่า optirun จะตั้งvblank_mode=0ตามค่าเริ่มต้นดังนั้นมันจึงไม่เปลี่ยนแปลงไม่ว่าคุณจะระบุหรือไม่ก็ตาม primusrun ไม่ได้และมันเกินไปหมวกที่ 60 vblank_mode=0เฟรมต่อวินาทีโดยไม่ต้อง


โอเคขอบคุณ - แล้วคุณจะเปรียบเทียบพรีมัสรันและ Optirun เพื่อดูประสิทธิภาพที่แตกต่างกันอย่างไร
dhojgaard

แน่นอนคุณจะใช้ vblank = 0 สำหรับทุกกรณี Primusrun ควรมีประสิทธิภาพสูงกว่า optirun ในทุกกรณีฉันเชื่อ นี่คือมาตรฐานบางส่วน: reddit.com/r/linux/comments/1dafbl/…
bercio
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.