Dual GPUs ทำไมทั้ง NVIDIA และ AMD ถึงไม่สร้างมันขึ้นมา?

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

ในบางครั้งเราไม่เห็นกราฟิกการ์ดคู่ในร้านค้าซึ่งอยู่ในช่วงผู้บริโภคสูงสุด

GPU คู่ทำไมไม่ทำ

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

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

การสื่อสาร CPU-GPU และผลกระทบต่อ GPU คู่อย่างไร

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

โปรเซสเซอร์ GPU Comandos Colas

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

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

Dual GPUs แสดงผลอย่างไร? การแบ่งเฟรมเรนเดอร์เทียบกับการเรนเดอร์เฟรมทางเลือก

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

  • GPU แต่ละตัวทำงานในลักษณะที่สอดประสานกันโดยแต่ละตัวจะจัดการกับเฟรมและรายการหน้าจอที่แตกต่างกัน เรียกว่า Alternate Frame Rendering
  • ทำงานร่วมกันทั้งในเฟรมเดียวกันและแชร์พื้นที่หน้าจอ Split Frame Rendering คืออะไร

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

การเรนเดอร์เฟรมสำรอง

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

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

แยกเฟรมเรนเดอร์

แยกเฟรมเรนเดอร์

วิธีนี้เรียกว่า Split Frame Rendering, SFR และทำงานโดยเฉพาะในระบบที่แม้จะมี GPU หลายตัว แต่ก็ใช้หน่วยความจำเดียวกันได้ดี บนพีซีและเริ่มต้นด้วย DirectX 12 ไมโครซอฟท์ เพิ่มการสนับสนุนสำหรับ Split Frame Rendering ที่อนุญาตให้การ์ดกราฟิกสองตัวจัดการเฟรมเดียวกันได้ในเวลาเดียวกันโดยแชร์ที่อยู่หน่วยความจำเดียวกัน มันดูดีมากบนกระดาษ แต่…จะเกิดอะไรขึ้นเมื่อ GPU สองตัวไม่ใช้หน่วยความจำ RAM เดียวกันและแสดงผลเฟรมเดียวกันในเวลาเดียวกัน? เวลาแฝงในการเข้าถึงที่สูงอย่างน่ากลัวถูกสร้างขึ้นเพื่อการสื่อสารเมื่อ GPU ต้องการเข้าถึงข้อมูลที่อยู่บนที่อยู่ทั่วไปของ GPU ทั้งสอง

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

แต่ในตลาดพีซีในประเทศไม่ได้ใช้ทั้ง SFR และ AFR เนื่องจากต้องปรับวิธีการสร้างรายการคำสั่งซอฟต์แวร์สำหรับการกำหนดค่าประเภทนี้ จำนวนคนที่มี Dual GPU นั้นต่ำมากและไม่ต้องจ่ายเงินเลยเพื่อพัฒนาซอฟต์แวร์ที่ใช้ประโยชน์จากคุณสมบัติเหล่านี้ แม้แต่ตลาด Virtual Reality ที่มี GPU แสดงผลแต่ละตาก็ยังไม่ได้รับความต้องการมากพอสำหรับกราฟิกการ์ดที่มีหน่วยประมวลผลคำสั่งที่รองรับการจำลองเสมือนเป็นมาตรฐาน

DirectX 12 ได้รับผลกระทบ Dual GPUs หรือไม่?

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

DX11 กับ DX12

ใน DirectX 11 เกี่ยวกับ GPU แม้ว่าจะมีรายการคำสั่งหลายรายการนอกเหนือจากรายการคำสั่งสำหรับกราฟิกใน RAM ของระบบภายในไปยัง GPU แต่ทุกอย่างจะถูกดำเนินการเป็นรายการยาวซึ่งการแสดงผลของฉากมีความต้องการ ด้วย DirectX 12 มีการเปลี่ยนแปลงครั้งใหญ่โดยที่ GPU จะดำเนินการรายการคำนวณแบบขนานและแบบอะซิงโครนัส ซึ่งหมายความว่ารายการคำสั่งเหล่านี้ได้รับการแก้ไขโดยไม่คำนึงถึงสถานะของรายการคำสั่งสำหรับการแสดงผลกราฟิก

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

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