อะไรคือความแตกต่างของไดรเวอร์ GPU จากไดรเวอร์อุปกรณ์อื่น ๆ ที่ช่วยเพิ่มประสิทธิภาพ


12

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

ด้วยเหตุนี้เราจึงไม่เคยได้ยินเกี่ยวกับไดรเวอร์ซีพียู AMD หรือ Intel ในการปรับแต่งแอพพลิเคชั่นหรือรุ่นของ Windows หรือบางอย่าง?


1
เกี่ยวกับ VTCs: นี่ไม่ได้คลุมเครือ มีเหตุผลเฉพาะเกี่ยวกับสิ่งที่ได้รับการปรับแต่งและสาเหตุที่มีไดรเวอร์ GPU (และ CPU)
Ben Richards

1
ผู้จำหน่าย CPU ทำการอัพเดท ดูเช่นdownloadcenter.intel.com/ (คลิกเฟิร์มแวร์ทางขวาสุด)
derobert

@derobert - น่าสนใจเห็นได้ชัดว่า Intel ไม่มีความตั้งใจที่จะทำซ้ำ Pentium fiasco อย่างไรก็ตามการอัปเดตเหล่านี้ใช้สำหรับไมโครโค้ดโปรเซสเซอร์และไม่ใช่ "ไดรเวอร์ CPU" เฟิร์มแวจะถูกดำเนินการในระดับที่ต่ำกว่าเครื่องรหัสของเคอร์เนลและที่.exeไฟล์
ขี้เลื่อย

@sawdust microcode ของ CPU (อย่างน้อยก็ในบางส่วน) รับผิดชอบในการแปลคำสั่ง x86 ที่ CPU ได้รับไปสู่การปฏิบัติงานจริงที่ดำเนินการอยู่ ดังนั้นจริง ๆ แล้วค่อนข้างคล้ายกับไดรเวอร์กราฟิก แน่นอน Intel ใส่ใจมากเพิ่มเติมเกี่ยวกับความถูกต้องกว่า nVidia ไม่ดังนั้นการปรับปรุงของพวกเขาอาจจะเป็นส่วนใหญ่การแก้ไขข้อบกพร่อง
Derobert

คำตอบ:


13

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

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

ตอนนี้เนื่องจาก GPU ต้องยอมรับชุดคำสั่งและใช้การดำเนินการทางคณิตศาสตร์ที่ซับซ้อนมากในฮาร์ดแวร์จะมีบางสิ่งที่ทราบว่าทำงานเร็วขึ้นหรือช้าลงผ่านไปป์ไลน์นี้ ส่วนหนึ่งของการเขียนไดรเวอร์สำหรับอุปกรณ์คือการตีความข้อมูลและคำแนะนำที่ส่งไปยังอุปกรณ์แปลมันเพื่อให้อุปกรณ์สามารถเข้าใจได้ เมื่อไดรเวอร์ทำเช่นนี้มันสามารถตัดสินใจเกี่ยวกับวิธีการส่งข้อมูลไปยังอุปกรณ์เพื่อให้งานใช้เวลาสั้นที่สุดเท่าที่จะเป็นไปได้ อย่างไรก็ตามโดยทั่วไปแล้วไดรเวอร์ไม่ได้มีข้อมูลมากนักเกี่ยวกับสิ่งที่โปรแกรมกำลังให้บริการอยู่ สิ่งที่ได้รับจากโปรแกรมคือการเรียก API ("วาดเส้น", "ระบายสีจุด", "แรเงาสามเหลี่ยม" ฯลฯ ) ดังนั้นสมมติฐานที่สามารถทำให้ไม่ดีมาก

เมื่อ AMD หรือ nVidia เผยแพร่การอัปเดตไดรเวอร์ที่มีการปรับปรุงประสิทธิภาพสำหรับเกมเฉพาะสิ่งนี้หมายความว่าไดรเวอร์จะตรวจสอบสิ่งที่เกมเรียกฮาร์ดแวร์กราฟิกและมีชุดของข้อสันนิษฐานแบบยากที่รู้เกี่ยวกับเกม การดำเนินการ อาจเป็นได้ว่าเกมมีภาพพื้นผิวจำนวนมากที่ต้องสลับหน่วยความจำเข้าและออกจากหน่วยความจำอย่างรวดเร็วหรือว่ามีการผสมสีจำนวนมากในทันทีเพื่อสร้างเอฟเฟกต์แสงบางอย่าง โดยปกติแล้วสิ่งที่เกมจะทำคือการใช้โปรแกรมขนาดเล็ก (เรียกว่า "shaders") ที่อธิบายถึงวิธีการคำนวณเหล่านี้และมันจะถูกส่งไปยัง GPU เพื่อดำเนินการ หากผู้ขับขี่รู้วิธีที่เกมใช้ฮาร์ดแวร์จะสามารถจัดระเบียบข้อมูลและเลือกชุดคำสั่งที่ทำงานตามที่ต้องการในลักษณะที่ช่วยเพิ่มปริมาณงานและประสิทธิภาพ

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

ดังนั้นโดยทั่วไปแล้วมันไม่ได้เปลี่ยนประสิทธิภาพของฮาร์ดแวร์เองมันแค่เปลี่ยนวิธีการใช้ฮาร์ดแวร์เพื่อให้สามารถทำงานได้อย่างมีประสิทธิภาพและรวดเร็วขึ้นในชุดข้อมูลเดียวกัน


เกี่ยวกับวิศวกรของคนขับที่เข้าใจว่ามีการนำเกมมาใช้อย่างไรทำให้ฉันสงสัยว่าหน้าจอ Nvidia splash ในบางเกมเป็นมากกว่าโฆษณา
หลุยส์

2
@Louis พวกเขาไม่ใช่แค่โฆษณา พวกเขาเป็นเพราะ NVidia รักษาความสัมพันธ์พิเศษกับสตูดิโอเกมบางแห่งและให้ความช่วยเหลือแก่นักพัฒนาเพื่อเพิ่มประสิทธิภาพรหัสเกมสำหรับฮาร์ดแวร์กราฟิก NVidia เอเอ็มดีก็ทำเช่นนี้ด้วย (บางครั้งคุณจะเห็นโลโก้ของ AMD ในเกม) แต่ NVidia มีประวัติว่ามีสถานะที่ใหญ่กว่ามาก
Ben Richards

อ่านอีกครั้งฉันเห็นว่ามันเป็นคำตอบที่ดีและมีเครื่องหมายถูกที่ใด ฉันหวังว่าคำตอบทั้งหมดคือการสอนในคำอธิบายของพวกเขา
Louis

คุณจะบูรณาการนี้ ( ตัวเลขมากขึ้น ) เป็นตัวอย่างสำหรับเงินรางวัลอีกแล้ว?
Louis

10

"ไดรเวอร์ CPU" ไม่ค่อยมีอยู่และแน่นอนว่าไม่ใช่โมดูลที่โหลดได้ จำเป็นต้องมี "ไดรเวอร์ CPU" เป็นครั้งคราวสำหรับรูปแบบการควบคุมหลายคอร์หรือการจัดการขัดจังหวะ (เช่นคอร์ AMD dual-core จำเป็นต้องใช้ไดรเวอร์ WinXP สำหรับการใช้งานเต็มรูปแบบ) มิฉะนั้นระบบปฏิบัติการส่วนใหญ่จะกำหนดค่าและสร้างขึ้นเพื่อเข้าถึง CPU โดยตรง หากปัญหาปรากฏขึ้นและรุนแรงรหัสเคอร์เนลจะได้รับการติดตั้งและมีการอัพเดทเคอร์เนล

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


2
อธิบายได้ว่าทำไมไดร์เวอร์ดาวน์โหลดสำหรับการ์ดของฉันมีขนาดเกิน 200MB
Louis

ฉันสงสัยจริงๆว่ามีโค้ด 200 MB ในไดรเวอร์เหล่านั้น ฉันจะแปลกใจถ้ามันเป็นมากกว่า MB เพียงเล็กน้อยเกี่ยวกับอัลกอริทึมเหล่านี้ทั้งหมด >.>
Mehrdad

1
@ Mehrdad จากความอยากรู้ฉันเปิดตัวติดตั้ง EXE พร้อม 7-zip สำหรับไดรเวอร์ของ Nivida โฟลเดอร์ Display.Driver มีขนาด 147 MB ​​มีหนึ่ง exe ที่เป็น 31 MB ไฟล์อื่น ๆ ทั้งหมดที่อยู่เหนือ 660 KB เป็น DLL
Scott Chamberlain

@Scott: exe นั้นเกือบจะแน่นอนว่าเป็นที่เก็บไฟล์เพิ่มเติมที่มีรหัสจริง ฉันคาดหวังว่าไฟล์จริงจะมีเมกะไบต์มากที่สุด ... modulo แหล่งข้อมูลใด ๆ ที่อาจมีซึ่งไม่มีรหัส
Mehrdad

0

มันไม่ได้เป็นเพียงไดรเวอร์ แต่เป็น GPU เท่านั้น GPU เป็นผู้เชี่ยวชาญในการคำนวณประเภทต่างๆ (เช่น FFT) และการจัดการหน่วยความจำ มันสามารถทำงานแบบขนานกับงานที่ได้รับส่วนใหญ่และทำให้มันมีประสิทธิภาพมากกว่า CPU เอนกประสงค์

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

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

A, ลืมเกี่ยวกับ CPU > _ <CPU สามารถปรับให้เหมาะสม CPU รุ่นใหม่ส่วนใหญ่มีเฟิร์มแวร์ที่ตั้งโปรแกรมไว้ได้ แต่การเพิ่มประสิทธิภาพนั้นไม่คุ้มค่ากับความพยายาม มันใช้เพื่อแก้ไขข้อผิดพลาดในกระบวนการสร้างฮาร์ดแวร์


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