ทำไม GPU ถึงต้องใช้ไดรเวอร์เฉพาะของเกม


30

การอัปเดตไดรเวอร์พีซี GPU มักอ้างถึงการปรับปรุงประสิทธิภาพของเกมที่วางจำหน่ายเมื่อเร็ว ๆ นี้โดยเฉพาะ เหตุใดการอัปเดตเฉพาะเกมนี้จึงจำเป็น การเปลี่ยนแปลงเฉพาะเกมมีการโต้ตอบกับรหัสเกมอย่างไร

คำตอบ:


31

ในฐานะที่เป็นคนที่มีการพัฒนาไดร์เวอร์ไม่กี่ปีฉันเห็นว่านี่เป็นสองประเด็นแยกกัน

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

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

จากนั้นก็มีด้านที่น่าเกลียดการเพิ่มประสิทธิภาพต่อแอปพลิเคชั่นจริงซึ่งคนขับจะตรวจพบว่าแอปพลิเคชั่นใดกำลังทำงานอยู่ มีหลายกรณีที่เผยแพร่สิ่งนี้ซึ่งตัวอย่างเช่นการเปลี่ยนชื่อ 3dmark executable ก็เปลี่ยนผลลัพธ์

ฉันรู้สึกว่าการเพิ่มประสิทธิภาพเหล่านี้เป็นการเสียเวลาของทุกคน - คุณโกหกลูกค้าของคุณในกรณีของการวัดประสิทธิภาพและคุณอาจเปลี่ยนวิธีการทำงานของ shader จากสิ่งที่นักพัฒนาต้องการ ฉันจำกรณีที่เปลี่ยน Shader จากการค้นหาพื้นผิวเป็นการคำนวณแบบ In-Shader (ซึ่งใช้งานได้เฉพาะกับฮาร์ดแวร์ของผู้ผลิตดังกล่าว) ซึ่งปิด แต่ไม่ได้ผลลัพธ์เดียวกันและนักพัฒนาก็ balked ว่านี่ไม่ใช่กฎหมาย การเพิ่มประสิทธิภาพ


2
+1 และนี่ควรเป็นคำตอบที่ยอมรับได้ มันเป็นงานที่ยอดเยี่ยมในการอธิบายสถานการณ์ที่แน่นอนและจากมุมมองภายใน ฉันคิดว่าฉันรู้ว่ากรณีที่คุณพูดถึง - การคำนวณแบบพิเศษอาจ? ;)
Maximus Minimus

14

ในโลกอุดมคติที่พวกเขาจะไม่

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

  • เกมดังกล่าวกำลังรวมการปฏิบัติการ A, B และ C เข้ากับชุดของ X, Y และ Z คนขับรถสามารถตั้งสมมติฐานตามสิ่งนี้และผลักดันสิ่งต่าง ๆ ให้เป็นเส้นทางรหัสที่เหมาะสมยิ่งขึ้น

  • เกมไม่เคยใช้งาน I, J หรือ K อีกครั้งคนขับอาจสามารถเลือกเส้นทางของโค้ดที่เหมาะสมที่สุดโดยขึ้นอยู่กับความสามารถในการสมมติว่าการดำเนินการเหล่านี้ไม่เคยทำ

  • เกมทำบางสิ่งบางอย่างในลักษณะที่ไม่น่าสนใจเล็กน้อย คนขับรู้เรื่องนี้ขัดขวางการโทรและแปลงเป็นสิ่งที่ (หวังว่า!) ที่จะทำงานได้ดีขึ้น

  • การแลกเปลี่ยนเฉพาะเกมสามารถทำได้ เช่นมันตกลงถ้านี้รวมกันของการทำให้รัฐไปช้าเพราะมันเป็นสิ่งสำคัญมากที่ว่ารวมกันไปได้เร็วขึ้นเพื่อให้เพิ่มประสิทธิภาพของตาม

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


1
ฉันบอกกับผู้เขียนไดรเวอร์ GPU ว่าบางครั้งจะมองที่ shaders สำหรับเกมยอดนิยมและเขียนเวอร์ชันของตัวเองที่ปรับให้เหมาะกับฮาร์ดแวร์ของพวกเขา
นาธานรีด

9
@NathanReed กาลครั้งหนึ่งมันไปไกลกว่านั้น ย้อนกลับไปเมื่อการกรอง Anisotropic และการบีบอัดพื้นผิวมีราคาแพง บริษัท GPU จะออกนอกเส้นทางเพื่อลดคุณภาพของภาพของผลิตภัณฑ์ขั้นปลายเมื่อมันวิ่งตามเวลาจริงเพื่อให้เร็วขึ้นโดยไม่ต้องแจ้งให้ใครทราบด้วยจอภาพราคาถูก เกมดูแย่กว่านั้นมาก พวกเขาอาจขัดขวางการโทรไปที่ PrintScreen และทำการเรนเดอร์คุณภาพเต็มรูปแบบสำหรับรูปภาพ
Norguard

8
ผู้ผลิต GPU ต้องการโกงมาตรฐานที่เป็นที่นิยม ฉันจำมาตรฐานเปรียบเทียบจากนิตยสารพีซีที่พวกเขาใช้มาตรฐานเดียวกันสองครั้งด้วยการตั้งค่าเดียวกันในระบบเดียวกัน แต่มีอยู่ครั้งหนึ่งที่พวกเขาเปลี่ยนชื่อความสามารถในการทำงานของเบนช์มาร์กเพื่อไม่ให้คนขับจำได้ คะแนนในการปฏิบัติการที่ถูกเปลี่ยนชื่อนั้นแย่กว่ากันมากสำหรับการ์ด ATI และ nvidia
ฟิลิปป์

8

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

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

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

เหตุผลที่อยู่เบื้องหลังรวมถึงเกมเฉพาะในบันทึกย่อประจำรุ่นการปรับปรุงไดรเวอร์คือ PR ไม่เพียงแสดงให้เห็นว่าผู้ผลิตการ์ด X จะทำงานได้ดีกับเกม Y แต่มันแสดงให้เห็นว่าเกม Y จะดีขึ้นกว่าที่เคยเป็นมา


6

เป็นไปได้ว่าทีมพัฒนาเกมพบปัญหาบั๊กของ GPU ที่จะทำให้เกมทำงานไม่ถูกต้องหากบั๊กของไดรเวอร์ไม่ได้รับการแก้ไข

นอกจากนี้ยังมีบางครั้งก็เป็นกลไกการตลาด ตัวอย่างเช่นATI / AMD เพิ่งรวมสำเนา Dirt 3 กับ GPU รุ่นใหม่ของพวกเขาและผลักดันความคิดในการเล่นกับ Eyefinity ด้วย 3 จอภาพในเกมนี้

ดังนั้นมันจึงเป็น symbiosis ที่นั่น

ผู้ขาย GPU: เฮ้! คุณสมบัติใหม่นี้! ไม่มีใครใช้มัน!

นักพัฒนาเกม: เราสามารถใช้มันได้! รวมเกมของเรากับ GPU ของคุณที่ใช้คุณสมบัตินี้?

ผู้จัดจำหน่าย GPU: Hell ya!


1

ความจริงก็คือ GPU ไม่จำเป็นต้องใช้ไดรเวอร์เฉพาะสำหรับเกม

ไดรเวอร์เฉพาะเกมเป็นส่วนหนึ่งของความพยายามทางการตลาดโดยผู้ผลิต GPU เพื่อพยายามสร้างความได้เปรียบเหนือผู้ผลิต GPU รายอื่น หากพวกเขาสามารถแสดงประสิทธิภาพที่ดีขึ้นในเกมยอดนิยมโดยการปรับแต่งไดรเวอร์สำหรับเกมเฉพาะเหล่านั้น (ตามทฤษฎีแล้ว) พวกเขาดึงดูดผู้เล่นเกมเหล่านั้นมากขึ้น

นั่นคือทั้งหมดที่มีอยู่

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