หน่วยฟังก์ชันคงที่ของ GPU มีหน้าที่รับผิดชอบในการทำชุดของงานเฉพาะที่โดดเด่นในการทำงานซ้ำซากและซ้ำซากหน่วยเหล่านี้พบได้ในโปรเซสเซอร์กราฟิกทุกตัวตั้งแต่เริ่มต้นและไม่ขึ้นกับผู้ผลิตใด ๆ ซึ่งเป็นสิ่งจำเป็นสำหรับการแสดงกราฟิกและดูแลข้าวละมานเฉพาะที่แตกต่างกัน ในท่อกราฟิก
ตัวเร่งความเร็วหรือตัวประมวลผลร่วมคือหน่วยประมวลผลใด ๆ ที่ทำงานเฉพาะหรือชุดของงานโดยใช้เวลาน้อยกว่าโปรเซสเซอร์หลักนอกเหนือจากการทำโดยใช้พื้นที่และการบริโภคน้อยกว่าการใช้ตัวประมวลผลวัตถุประสงค์ทั่วไป
ใน GPU สิ่งที่ใกล้เคียงที่สุดกับ GPU ที่ใช้งานทั่วไปคือหน่วยคำนวณที่โปรแกรม shader ทำงาน แต่มีงานกราฟิกบางอย่างที่ดำเนินการโดยหน่วยพิเศษ
แก้ไขหน่วยฟังก์ชันบน GPU
เพื่อให้เข้าใจถึงวิธีการแสดงผลกราฟิกเราต้องเข้าใจว่าสิ่งนี้ใช้งานได้ในฐานะโรงงานที่ผลิตในขั้นตอนต่างๆให้นึกถึงรูปสามเหลี่ยมต่างๆที่ประกอบเป็นฉากในขนมปังที่ขึ้นรูปและปรุงจนได้บรรจุภัณฑ์ขั้นสุดท้าย แต่แทนที่จะเป็น ขนมปังที่เรามีคือภาพบนหน้าจอ
GPU มีสองขั้นตอนบางขั้นตอนดำเนินการผ่านโปรแกรม shader ใน Compute Units หรือ SM ส่วนอื่น ๆ ใช้หน่วยฟังก์ชันคงที่ กระบวนการนี้กำกับโดยหน่วยประมวลผลคำสั่งซึ่งเป็นหน่วยที่ย้ายข้อมูลผ่าน GPU ในขั้นตอนต่างๆของไปป์ไลน์กราฟิก
หน่วย GPU แต่ละหน่วยไม่ว่าจะเป็นฟังก์ชันคงที่หรือหน่วยประมวลผลจะรับข้อมูลอินพุตที่ประมวลผลโดยโปรแกรม ในกรณีของตัวเร่งความเร็วหรือหน่วยฟังก์ชันคงที่สิ่งที่พวกเขาทำคือใช้โปรแกรมที่มีไมโครโปรแกรมที่ติดตั้งโดยผู้ผลิต GPU อยู่แล้ว
หน่วยฟังก์ชันคงที่ใน GPU
ที่นี่เราจัดทำรายการหน่วยฟังก์ชันคงที่ที่ใช้บ่อยที่สุดและใช้มากที่สุดใน GPU
หากไม่มีพวกเขาก็จะเป็นหน่วยประมวลผลผ่านโปรแกรม shader ที่จะต้องทำงานเหล่านี้โดยต้องใช้ชิปขนาดใหญ่และใช้พลังงานจำนวนมาก
หน่วยฟังก์ชันคงที่สำหรับการแรสเตอร์
พวกเขามีหน้าที่ในการถ่ายสามเหลี่ยมและเปลี่ยนให้เป็นชิ้นส่วนซึ่งประกอบด้วยการฉายภาพลงบนกล้องเพื่อเปลี่ยนให้เป็นกลุ่มพิกเซลที่ GPU จะต้องปรับสี
เป็นหนึ่งในขั้นตอนที่ซับซ้อนที่สุดของกราฟิก 3 มิติและการใช้งานในรูปแบบของตัวเร่งความเร็วเฉพาะคือสิ่งที่นำไปสู่การกำเนิดของกราฟิกการ์ด 3 มิติ
หน่วยฟังก์ชันคงที่สำหรับการกรองพื้นผิว
โดยปกติจะอยู่ภายใน Compute Unit ซึ่งเชื่อมต่อกับแคชข้อมูลงานของมันไม่มีใครอื่นนอกจากใช้ตัวกรองแอนไอโซทรอปิกแบบไตรลิเนียร์ไตรลิเนียร์ มันขึ้นอยู่กับการสุ่มตัวอย่างพิกเซลหลาย ๆ ตัว
GPU ร่วมสมัยทั้งหมดใช้ประโยชน์จากหน่วยพื้นผิวที่จัดกลุ่ม 4 คูณ 4 โดยมีการเชื่อมต่อ 16 จุดกับแคชข้อมูลช่วยให้คุณใช้ฟิลเตอร์สองเส้นที่อัตราการพื้นผิว 100% ฟิลเตอร์ไตรลิเนียร์ที่ 50% และแอนไอโซทรอปิก 25%
นอกจากนี้ยังรวมกับ Compute Units เพื่อเรียกใช้โปรแกรม Pixel หรือ Fragment Shaders จากที่ที่มีการจัดการค่าของพื้นผิว
หน่วยฟังก์ชันคงที่สำหรับการเทสเซลล์
มีหน้าที่รับผิดชอบในการดำเนินการสิ่งที่เราเรียกว่าการแบ่งพื้นผิวซึ่งประกอบด้วยการแบ่งจุดยอดของแบบจำลองออกเป็นหลาย ๆ จุดโดยไม่สูญเสียรูปร่างดั้งเดิม
หน่วยเทสเซลเลชั่นทำงานก่อนยูนิตแรสเตอร์และเป็นดาบสองคมเนื่องจากการเทสเซลเลชั่นที่มากเกินไปจะไม่มีจุดหมายบนวัตถุที่อยู่ไกลมากและอาจทำให้คอขวดกับยูนิตแรสเตอร์
ในทางกลับกันหน่วยเทสเซลเลชันขั้นสูงสามารถใช้การทำแผนที่การกระจัดซึ่งเป็นการสร้างรูปทรงเรขาคณิตในแบบจำลองจากแผนที่การกระจัดและแม้แต่สร้างอนุภาค
หน่วยคัดแยก
มีหน้าที่ในการกำจัดรูปทรงเรขาคณิตที่ไม่จำเป็นของเวทีกล่าวคือรูปทรงที่เล็กเกินไปจะถูกซ่อนไว้โดยองค์ประกอบอื่นที่ขัดขวางการมองเห็นหรืออยู่นอกฉาก
งานของคุณคือลบสามเหลี่ยมที่ตรงตามข้อกำหนดทั้งสามนี้ออกจากรายการหน้าจอ
เอาต์พุต Raster
Raster OutPut หรือ ROP เป็นหน่วยที่รับผิดชอบในการสร้างบัฟเฟอร์ภาพดังนั้นจึงเป็นหน่วยที่สามารถเขียนลงใน VRAM ได้โดยตรงแม้ว่าใน GPU ร่วมสมัยจะสามารถทำได้ผ่านแคช L2 และในกรณีของ Tiles ก็ตาม Renderers ทำในหน่วยความจำภายในของ GPU เอง
ทำงานในสองขั้นตอนระหว่างไปป์ไลน์ขั้นแรกในขั้นตอนแรสเตอร์ที่สร้าง Z-Buffer ซึ่งเป็นบัฟเฟอร์ภาพที่ระบุว่าแต่ละองค์ประกอบของฉากอยู่ห่างจากกล้องมากเพียงใด ลำดับที่สองหลังจากพื้นผิวที่สร้างบัฟเฟอร์สีในรูปแบบ RGBA
หน่วยแยกเรย์สำหรับการติดตามเรย์
เป็นหน่วยที่รับผิดชอบในการคำนวณการตัดกันของรังสีกับพื้นผิวใน Ray Tracing เรามีบทช่วยสอนเกี่ยวกับการทำงานของมันคุณสามารถค้นหาได้ในชื่อ " RT Cores สำหรับ Ray Tracing ทำงานอย่างไรและอย่างไร "