gp การเรนเดอร์แผงควบคุม opengl nvidia การตั้งค่า "พารามิเตอร์ส่วนกลาง" ของไดรเวอร์สำหรับการ์ดแสดงผล NVidia เพื่อประสิทธิภาพสูงสุดโดยไม่สูญเสียคุณภาพ การเรนเดอร์แบบเรียลไทม์คืออะไร

ภาพรวมโดยย่อของประเภทการเร่งความเร็ว GPU ในโปรแกรมประกอบ Adobe After Effects ก่อนหน้านี้คุณสามารถอ่านบทความประเภทเดียวกันได้: ทดสอบ Ray-traced 3D Renderer และ OptiX 3 engine ทดสอบการ์ดวิดีโอจาก AMD และ nVidia ด้วย OpenGL มาตรฐาน เอฟเฟกต์การ์ตูน, Adobe After Effects CC และกราฟิกในตัว Intel HD Graphics 4000, Ray-traced 3D Renderer และ OptiX 3, ปลั๊กอิน Video Copilot Element 3D และ OpenGL, ประสิทธิภาพของการ์ดวิดีโอ, ผลกระทบของการโอเวอร์คล็อก GPU และหน่วยความจำวิดีโอบนการ์ดวิดีโอต่อประสิทธิภาพ การใช้การเร่งความเร็ว GPU ประเภทต่างๆ ใน ​​Adobe After Effects
OpenGL คือชุดของมาตรฐานสำหรับการประมวลผลกราฟิก 2D และ 3D ประสิทธิภาพสูงโดยใช้หน่วยประมวลผลกราฟิก (GPU) สำหรับการใช้งานที่หลากหลาย OpenGL ให้การเรนเดอร์ที่รวดเร็วสำหรับการดูตัวอย่าง (โหมด Fast Draft) After Effects ยังช่วยเร่งความเร็วให้กับองค์ประกอบอินเทอร์เฟซบางส่วนและการเรนเดอร์ 3D แบบ Ray Tracing ต่างจาก After Effects เวอร์ชันก่อนๆ ตรงที่ GPU มีบทบาทสำคัญ
OpenGL ช่วยเพิ่มความเร็วให้กับขั้นตอนการทำงานของคุณด้วยไปป์ไลน์กราฟิกที่เร็วขึ้น กระบวนการหนึ่งที่ช้ากว่าใน After Effects เวอร์ชันก่อนหน้าคือกระบวนการถ่ายโอนพิกเซลไปยังหน้าจอ เรียกว่าการถ่ายโอนแบบบล็อกหรือแบบสายฟ้าแลบ ขณะนี้ GPU จัดการการดำเนินการนี้ได้อย่างมีประสิทธิภาพมากขึ้น (ด้วยกระบวนการที่เรียกว่า OpenGL Replacement Buffer)
OpenGL รองรับการเรนเดอร์องค์ประกอบอินเทอร์เฟซ เช่น องค์ประกอบ ฟุตเทจ และแผงเลเยอร์ OpenGL ยังควบคุมคุณสมบัติการเรนเดอร์อื่นๆ เช่น กริด เส้นบอกแนว ไม้บรรทัด และกล่องขอบเขต คุณลักษณะนี้เรียกอีกอย่างว่า "Hardware BlitPipe"
หากต้องการเปิดใช้งานการรองรับ OpenGL สำหรับการเรนเดอร์องค์ประกอบ UI ให้เลือกช่องทำเครื่องหมาย Hardware Accelerated Composition, Layer และ Footage Panels ใน แก้ไข > การตั้งค่า > จอแสดงผล (Windows) หรือ After Effects > การตั้งค่า > จอแสดงผล (Mac OS)
ข้อมูล GPU และ OpenGL สามารถรับได้จากกล่องโต้ตอบข้อมูล GPU หากต้องการเปิดกล่องโต้ตอบนี้ ให้เลือกแก้ไข > การตั้งค่า > ดูตัวอย่าง / แก้ไข > การตั้งค่า > ดูตัวอย่าง (Windows) หรือ After Effects > การตั้งค่า > แสดงตัวอย่าง / After Effects > การตั้งค่า > ดูตัวอย่าง (Mac OS)

ดูตัวอย่าง">

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


*หมายเหตุ: ช่องทำเครื่องหมายที่เกี่ยวข้องกับ OpenGL ถูกลบออกจากเมนูการตั้งค่า > ดูตัวอย่าง เนื่องจากตัวเรนเดอร์ OpenGL ก่อนหน้านี้ถูกลบออก
ตัวเรนเดอร์ OpenGL ดั้งเดิมถูกแทนที่ด้วยโหมด Quick Draft หากต้องการเปิดใช้งาน Fast Draft ให้คลิกปุ่มดูตัวอย่างด่วนในแผงองค์ประกอบและเลือก Fast Draft โหมด Quick Draft ทำให้เกิดการเปลี่ยนแปลงภาพเล็กน้อยในแผงองค์ประกอบ ซึ่งทำให้การดูตัวอย่างอย่างรวดเร็วสะดวกยิ่งขึ้น แบบร่างด่วนมีประโยชน์สำหรับการตั้งค่าและดูตัวอย่างองค์ประกอบสำหรับการเรนเดอร์ 3D แบบ Ray Tracing ในภายหลัง

*หมายเหตุ: หาก GPU ที่มีอยู่ของคุณไม่รองรับหรือติดตั้งไดรเวอร์รุ่นเก่า CPU จะทำการเรนเดอร์ 3D แบบ Ray Tracing โดยใช้แกนประมวลผลจริงทั้งหมด หากคุณมีการกำหนดค่าที่รองรับ GPU ในสภาพแวดล้อมคอนโซล (เช่น ฟาร์มเรนเดอร์) คุณสามารถทำการเรนเดอร์ 3D แบบ Ray Tracing บน CPU ได้โดยการตั้งค่าตัวเลือก Ray Tracing ในกล่องโต้ตอบข้อมูล GPU การเรนเดอร์ที่ทำโดย CPU ตรงกับการเรนเดอร์ที่ทำโดย GPU
*หมายเหตุ: ขณะนี้ปุ่มข้อมูล OpenGL เรียกว่าปุ่มข้อมูล GPU
ข้อกำหนดด้านฮาร์ดแวร์สำหรับ OpenGL, GPU และ After Effects- เมื่อทำงานกับองค์ประกอบการเรนเดอร์ 3D แบบ Ray Tracing สิ่งสำคัญคือคุณต้องติดตั้งฮาร์ดแวร์ที่เหมาะสมบนคอมพิวเตอร์ของคุณ การเรนเดอร์ 3D แบบ Ray Traced พร้อมการเร่งความเร็ว GPU ต้องใช้กราฟิกการ์ด NVIDIA ที่มีเทคโนโลยี CUDA ในตัว
ข้อกำหนดสำหรับฟีเจอร์ GPU/OpenGL (การเรนเดอร์ 3D แบบ Ray Tracing และการร่างแบบรวดเร็ว)- ต่อไปนี้เป็นคุณสมบัติ After Effects ที่ใช้ GPU และ OpenGL ซึ่งจำเป็นต้องจำแนกคุณสมบัติตามความสามารถของ GPU ของคุณ:
- โมดูลการเรนเดอร์ 3 มิติพร้อมการติดตามเรย์
- การเรนเดอร์โดยใช้ GPU
- โหมดดูตัวอย่าง "ร่างด่วน"
- ฉายแสงอย่างรวดเร็วไปที่หน้าจอ (OpenGL SwapBuffer)
- ตัวเลือก “ใช้ OpenGL ถ้าเป็นไปได้” สำหรับเอฟเฟกต์ภาพเคลื่อนไหว
- การติดตั้ง “แผงองค์ประกอบ เลเยอร์ และฟุตเทจที่เร่งด้วยฮาร์ดแวร์”
ระดับการสนับสนุนคุณสมบัติ การสนับสนุนมี 3 คลาสหรือระดับ - จากระดับที่มีข้อกำหนดขั้นต่ำไปจนถึงระดับที่มีข้อกำหนดสูงสุด:
ระดับ 1- สำหรับ OpenGL SwapBuffer: ระดับนี้ต้องใช้ GPU ที่รองรับ OpenGL 1.5 (หรือสูงกว่า) พร้อมรุ่นแรเงา 3.0 (หรือสูงกว่า) รองรับกราฟิกการ์ด ATI และ NVIDIA ส่วนใหญ่และ Intel HD Graphics 3000 (มีใน MacBook Air, Mac Mini, คอมพิวเตอร์ Windows หลายเครื่อง ฯลฯ) และชิปเซ็ต 4000 (Windows เท่านั้น) หาก GPU ของคุณไม่ตรงตามข้อกำหนดเหล่านี้ จะเกิดการพังทลายโดยใช้ซอฟต์แวร์ระบบปฏิบัติการ เช่น 5.5 ในเวอร์ชันของ After Effects CS และสูงกว่า จะมีการปรับปรุงแบบ blitting โดยใช้ซอฟต์แวร์
ระดับ 2- สำหรับการดูตัวอย่าง Quick Draft, Hardware BlitPipe และการเร่งความเร็วภาพเคลื่อนไหวของ GPU: เปิดใช้งานคุณสมบัติระดับ 1 ระดับนี้ต้องใช้ OpenGL 2.0 หรือสูงกว่า (พร้อม Shader Model 4.0 หรือสูงกว่าสำหรับ Windows) หน่วยความจำพื้นผิว 256 MB ขึ้นไป การ์ดแสดงผล ATI และ NVIDIA ส่วนใหญ่ที่เปิดตัวในช่วง 5 ปีที่ผ่านมาและชิปเซ็ต Intel HD Graphics 3000/4000 รองรับระดับนี้ หาก GPU ของคุณไม่ตรงตามข้อกำหนดเหล่านี้ คุณสมบัติต่อไปนี้จะถูกปิดใช้งาน:
- โหมดร่างด่วน
- การตั้งค่า “การเร่งความเร็วด้วยฮาร์ดแวร์ของแผงองค์ประกอบ เลเยอร์ และฟุตเทจ”
- ตัวเลือก "ใช้ OpenGL ถ้าเป็นไปได้" สำหรับเอฟเฟกต์ภาพเคลื่อนไหว (เอฟเฟกต์ภาพเคลื่อนไหวบน CPU)
ระดับ 3- สำหรับการเรนเดอร์ 3D แบบ Ray Tracing บน GPU: รวมคุณสมบัติระดับ 1 และระดับ 2 (สำหรับคอมพิวเตอร์ที่มีจอภาพต่ออยู่) ระดับนี้ต้องการ NVIDIA GPU ที่รองรับและหน่วยความจำพื้นผิว 512 MB ขึ้นไป ดูรายการ GPU ที่รองรับในปัจจุบันได้ที่นี่:
https://helpx.adobe.com/ru/after-effects/system-requirements.html
การติดตั้งไดรเวอร์ GPU- ก่อนที่คุณจะเริ่มใช้คุณสมบัติ After Effects และ CUDA ให้ติดตั้งไดรเวอร์วิดีโอล่าสุดสำหรับ NVIDIA GPU ของคุณ:
Windows: ติดตั้งไดรเวอร์ที่ได้รับการรับรอง WHQL ล่าสุดสำหรับ GPU ของคุณ:
http://www.nvidia.ru/Download/index.aspx?lang=ru
Mac OS: ติดตั้งไดรเวอร์ NVIDIA CUDA (เวอร์ชัน 4.0.50 หรือใหม่กว่า):
http://www.nvidia.ru/object/mac-driver-archive-ru.html
*หมายเหตุ: หาก GPU ที่มีอยู่ของคุณไม่รองรับหรือติดตั้งไดรเวอร์รุ่นเก่า CPU จะทำการเรนเดอร์ 3D แบบ Ray Tracing โดยใช้แกนประมวลผลจริงทั้งหมด หากคุณมีการกำหนดค่าที่รองรับ GPU ในสภาพแวดล้อมคอนโซล (เช่น ฟาร์มเรนเดอร์) คุณสามารถเรนเดอร์องค์ประกอบการติดตามรังสีแบบ 3 มิติได้โดยใช้ CPU โดยการตั้งค่าตัวเลือกการติดตามรังสีในกล่องโต้ตอบข้อมูล GPU (ในการตั้งค่าการแสดงตัวอย่าง) . การเรนเดอร์ที่ทำโดย CPU ตรงกับการเรนเดอร์ที่ทำโดย GPU
เกี่ยวกับผลการทดสอบการ์ดแสดงผลในโหมดต่างๆ ใน ​​After Effects

สวัสดีเพื่อนรัก ในโพสต์ถัดไป เราจะพูดถึงหัวข้อของโปรเซสเซอร์กราฟิก การแสดงภาพโดยใช้ V-Ray RT และการกระจายทรัพยากรการประมวลผลในระบบ multi-gpu อีกครั้ง ดังที่คุณทราบมาระยะหนึ่งแล้วว่า GPU กำลังเจาะลึกเข้าไปในงานของเรามากขึ้น ด้วยแพ็คเกจขนาดใหญ่ เช่น Autodesk 3ds Max, Autodesk Maya, SideFX Houdini และโปรแกรมอื่นๆ หันมาใช้ GPU เพื่อเพิ่มความเร็ว ไม่เพียงแต่การเรนเดอร์ฮาร์ดแวร์เท่านั้น แต่ยังรวมถึงทั่วไปด้วย การคำนวณตามวัตถุประสงค์ ตัวอย่างเช่น การเทสเซลเลชั่นของเรขาคณิตโดยใช้ OpenSubdiv หรือการคำนวณเอฟเฟกต์ไดนามิก รวมถึงในกระบวนการเรนเดอร์ภาพเสมือนจริง
ไม่น่าแปลกใจเลยที่การติดตั้งตัวเร่งความเร็วกราฟิกหลายตัวจะมีประโยชน์ในงานดังกล่าวและจะช่วยให้คุณสามารถกระจายโหลดระหว่างกันได้ ในเอกสารของฉัน ฉันได้เขียนไปแล้วหลายครั้งว่าฉันใช้เวิร์กสเตชันที่มีตัวเร่งความเร็วกราฟิกสองตัว ซึ่งทำเพื่อกระจายการคำนวณระหว่างกันและทำงานหนึ่งงานบน GPU หนึ่งตัว และทำงานอื่นในอีกงานหนึ่ง
ตามค่าเริ่มต้น Autodesk Maya 2015 จะเรนเดอร์พื้นที่เสมือนในวิวพอร์ต ซึ่งเหมาะอย่างยิ่งเมื่อคุณต้องการแสดงพื้นผิว ใช้เอฟเฟกต์ เช่น Ambient Occlusion แสงและเงา หรือการต่อต้านนามแฝงด้วยฮาร์ดแวร์ ในกรณีนี้ หากคุณมี GPU หลายตัว Maya จะพยายามกระจายโหลดระหว่าง GPU เหล่านั้นและเรนเดอร์โดยใช้ GPU ทั้งสองตัว

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

ตัวอย่างของการเสื่อมประสิทธิภาพระบบอย่างรุนแรงและการเรนเดอร์พื้นที่เสมือนช้าเมื่อ GPU และการเรนเดอร์ V-Ray RT ไม่ได้กำหนดค่าอย่างถูกต้อง

แน่นอน สิ่งแรกที่ต้องทำคือพิจารณาว่า GPU ตัวใดที่จะเข้าร่วมในการคำนวณ V-Ray RT ซึ่งสามารถทำได้โดยใช้ยูทิลิตี้พิเศษที่มาพร้อมกับ V-Ray สำหรับ Maya ยูทิลิตี้นี้ถูกตั้งชื่อ เลือกอุปกรณ์ OpenCL สำหรับ V-Ray RT GPU- ฉันเขียนและพูดคุยเกี่ยวกับยูทิลิตี้นี้ในโพสต์และวิดีโอก่อนหน้านี้เกี่ยวกับ V-Ray RT GPU


ยูทิลิตี้ เลือกอุปกรณ์ OpenCL สำหรับ V-Ray RT GPU
นอกจากนี้ คุณยังสามารถกำหนดตัวแปรสภาพแวดล้อมได้ด้วยตนเอง ซึ่งจริงๆ แล้วจะถูกเปลี่ยนแปลงโดยยูทิลิตี Select OpenCL สำหรับ V-Ray RT GPU


ตัวแปรสภาพแวดล้อม VRAY_OPENCL_PLATFORMS_x64 พร้อมด้วยพารามิเตอร์ที่กำหนดว่า GPU ตัวใดที่ V-Ray RT GPU จะใช้
ดังนั้น สำหรับ V-Ray RT GPU ฉันจึงได้เลือกตัวเร่งความเร็วกราฟิกตัวที่สองไว้เป็นค่าเริ่มต้น ซึ่งจะไม่รับผิดชอบในการส่งออกภาพไปยังจอภาพ โดยปกติแล้วจะเป็น NVIDIA Quadro K4000 GPU นี้ค่อนข้างทรงพลังและมีหน่วยความจำเพียงพอสำหรับงานของฉัน ดังที่แสดงในวิดีโอตอนต้นของโพสต์ ฉันพบปัญหาร้ายแรงเมื่อ Maya เริ่มช้าลงอย่างไม่น่าเชื่อในขณะที่คำนวณ V-Ray RT และการนำทางในพื้นที่เสมือนไปพร้อมๆ กัน
แต่ข้อดีของตัวเร่งความเร็วกราฟิก NVIDIA Quadro ก็คือไดรเวอร์ที่ค่อนข้างเสถียรและกำหนดค่าได้ดี เนื่องจากโดยธรรมชาติแล้ว Maya ได้รับการปรับให้เข้ากับ OpenGL API อย่างสมบูรณ์แบบ และการกำหนดค่าไดรเวอร์มีทุกสิ่งที่จำเป็นสำหรับแอปพลิเคชัน 3D คุณจึงสามารถกำหนดค่าสำหรับแอปพลิเคชันที่ต้องการได้อย่างง่ายดาย


จัดการหน้าการตั้งค่า 3D ของไดรเวอร์ NVIDIA Quadro โดยเปิดแท็บ Global Settings
สิ่งแรกที่เราต้องทำคือเปิด แผงควบคุม NVIDIA(แผงควบคุม NVIDIA) และไปที่ จัดการการตั้งค่า 3D(จัดการการตั้งค่า 3D) บนแท็บ การตั้งค่าส่วนกลาง(พารามิเตอร์ส่วนกลาง) เลือกโปรไฟล์พารามิเตอร์ส่วนกลางที่ต้องการ - รายการแบบเลื่อนลง ค่าที่ตั้งล่วงหน้าทั่วโลก(ค่าที่ตั้งล่วงหน้าทั่วโลก) ฉันใช้โปรไฟล์ Base เป็นค่าเริ่มต้นเนื่องจากใช้การตั้งค่าที่สมดุลซึ่งสามารถนำไปใช้กับแอปพลิเคชันใดก็ได้
เพื่อพิจารณาว่า GPU ตัวใดที่ติดตั้งบนระบบจะถูกใช้เพื่อแสดงพื้นที่เสมือนโดยใช้ OpenGL ซึ่งสามารถทำได้โดยใช้พารามิเตอร์ GPU เรนเดอร์ OpenGL(OpenGL เรนเดอร์ GPU) เนื่องจากในตัวอย่างของฉัน มีการใช้ GPU NVIDIA Quadro K2000 และ NVIDIA Quadro K4000 และ K2000 ใช้เพื่อแสดงภาพบนจอแสดงผลสองจอ เช่นเดียวกับการเรนเดอร์หน้าต่างการฉายภาพเสมือน และตามที่กล่าวข้างต้น รุ่น K4000 ใช้สำหรับการคำนวณ ดังนั้นจึงตัดสินใจเลือก NVIDIA Quadro K2000 GPU สำหรับคุณลักษณะนี้


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

ประสิทธิภาพของการนำทางพื้นที่เสมือนและการเรนเดอร์ V-Ray RT GPU หลังจากการเปลี่ยนแปลงทั้งหมด

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

เราแปล... แปลภาษาจีน (ตัวย่อ) จีน (ตัวเต็ม) อังกฤษ ฝรั่งเศส เยอรมัน อิตาลี โปรตุเกส รัสเซีย สเปน ตุรกี

ขออภัย เราไม่สามารถแปลข้อมูลนี้ได้ในขณะนี้ - โปรดลองอีกครั้งในภายหลัง

การแนะนำ

ตัวอย่างนี้สาธิตการสร้างพื้นผิวใน OpenGL* 4.3 ซึ่งขอบเขตทาสได้รับการอัพเดตโดยเคอร์เนล OpenCL™ C ​​​​ที่ทำงานบน GPU กราฟิกโปรเซสเซอร์ Intel® ที่ใช้ Microsoft Windows* การใช้งานเทคโนโลยีดังกล่าวครั้งหนึ่งอาจเป็นในแอปพลิเคชันคอมพิวเตอร์วิทัศน์แบบเรียลไทม์ ซึ่งจำเป็นต้องเรียกใช้ตัวตรวจจับองค์ประกอบภาพบางอย่างใน OpenCL แต่ในแบบเรียลไทม์จะแสดงภาพที่เสร็จสมบูรณ์พร้อมกับตัวตรวจจับที่ทำเครื่องหมายไว้อย่างชัดเจนบนหน้าจอ ในกรณีนี้ คุณต้องเข้าถึงความสามารถภาษา C ทั้งหมดของคอร์ OpenCL รวมถึงความสามารถในการเรนเดอร์ของ OpenGL API เพื่อให้เข้ากันได้กับไปป์ไลน์การเรนเดอร์ที่มีอยู่ อีกตัวอย่างหนึ่งของการใช้เทคโนโลยีดังกล่าว: หากใช้พื้นผิวขั้นตอนที่สร้างขึ้นแบบไดนามิกใน OpenCL เพื่อแสดงวัตถุสามมิติในฉาก สุดท้ายนี้ ลองจินตนาการถึงขั้นตอนหลังการประมวลผลภาพใน OpenCL หลังจากที่ฉากถูกเรนเดอร์โดยใช้ไปป์ไลน์ 3 มิติ สิ่งนี้มีประโยชน์สำหรับการแปลงสี การเปลี่ยนความละเอียด หรือการบีบอัดข้อมูลในบางสถานการณ์

ตัวอย่างนี้แสดงให้เห็นว่า OpenCL อัปเดตพื้นผิวที่สร้างขึ้นใน OpenGL อย่างไร แนวทางเดียวกันนี้ใช้กับการอัปเดตออบเจ็กต์บัฟเฟอร์จุดยอดหรือบัฟเฟอร์เฟรมนอกหน้าจอที่อาจใช้ในไปป์ไลน์การประมวลผลภาพออฟไลน์

ส่วนขยายการแชร์ Surface ถูกกำหนดไว้ในข้อกำหนดส่วนขยาย OpenCL โดยบรรทัด cl _ khr _ gl _ sharing นอกจากนี้เรายังใช้ส่วนขยาย cl_khr_gl_event ซึ่งได้รับการสนับสนุนโดย Intel GPU

แรงจูงใจ

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

หลักการพื้นฐาน

หากต้องการสร้างพื้นผิว OpenGL และเข้าถึงเป็นอิมเมจ OpenCL ที่มีประสิทธิภาพสูงสุดบน Intel GPU คุณไม่ควรสร้าง OpenGL Pixel Buffer Object (PBO) PBO ไม่ได้รับประโยชน์จากข้อดีด้านประสิทธิภาพของ Intel GPU พวกเขายังสร้างสำเนาข้อมูลเชิงเส้นเพิ่มเติมอย่างน้อยหนึ่งสำเนา ซึ่งจากนั้นจะถูกคัดลอกเป็นรูปแบบพื้นผิวที่ GPU ใช้ในการเรนเดอร์ ประการที่สอง แทนที่จะใช้ glFinish() เพื่อซิงโครไนซ์ระหว่าง OpenCL และ OpenGL เราสามารถใช้กลไกการซิงโครไนซ์โดยนัยได้เนื่องจาก Intel GPU รองรับส่วนขยาย cl_khr_gl_event

Intel® GPU พร้อมหน่วยความจำกายภาพที่ใช้ร่วมกัน

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

การวาดภาพ 1. ความสัมพันธ์ระหว่าง CPU, GPUอินเทล® และหน่วยความจำหลัก โปรดทราบว่า CPU และ GPU แชร์พูลหน่วยความจำที่ใช้ร่วมกัน (ซึ่งต่างจาก GPU แยกที่มีหน่วยความจำเฉพาะของตัวเองที่จัดการโดยไดรเวอร์)

เหตุใดคุณไม่ควรใช้ Pixel Buffer Objects (PBO) กับ Intel GPU

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

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

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

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

RVO สามารถใช้ในกรณีใดบ้างเมื่อมีการใช้พื้นผิวร่วมกัน

มีสถานการณ์สมมติที่จะใช้ออบเจ็กต์ RVO ตัวอย่างเช่น หากไม่มีรูปแบบพื้นผิวที่เหมาะสมซึ่งเข้ากันได้กับ OpenGL และ OpenCL ตามตาราง 9.4 ในข้อกำหนดส่วนขยาย OpenCL ในกรณีนี้ คุณสามารถสร้าง BBO และแชร์กับ API ที่เกี่ยวข้องกับการแบ่งปันบัฟเฟอร์ได้ อย่างไรก็ตาม พยายามหลีกเลี่ยงสถานการณ์ดังกล่าวเพื่อหลีกเลี่ยงการลดประสิทธิภาพการทำงานที่กล่าวถึงข้างต้น หากจำเป็น โปรดดูตัวอย่างของ Maxim Shevtsov ซึ่งลิงก์ไว้ในส่วนข้อมูลอ้างอิง

การซิงโครไนซ์ระหว่าง OpenCL™ และ OpenGL*

ณ รันไทม์ สิ่งสำคัญคือต้องได้รับประสิทธิภาพสูงสุดจาก OpenCL และ OpenGL ข้อกำหนดระบุดังต่อไปนี้:

“ก่อนที่จะเรียกวัตถุclEnqueueรับ GLObjectsแอปพลิเคชันจะต้องตรวจสอบให้แน่ใจว่าการดำเนินการที่ค้างอยู่ทั้งหมดเสร็จสมบูรณ์ก.ล.ผู้ที่สามารถเข้าถึงวัตถุที่ระบุไว้ในบันทึก_ วัตถุ- หากต้องการทำสิ่งนี้แบบพกพา คุณสามารถเรียกใช้และรอให้คำสั่งเสร็จสิ้นglFinishสำหรับทุกบริบทก.ล.โดยมีการเลื่อนการอ้างอิงไปยังออบเจ็กต์เหล่านี้ วิธีการซิงโครไนซ์ที่มีประสิทธิภาพมากขึ้นอาจมีให้ในการใช้งานที่แตกต่างกัน ตัวอย่างเช่น ในบางแพลตฟอร์ม การโทรก็อาจเพียงพอแล้วglflushหรือการซิงโครไนซ์อาจเกิดขึ้นโดยปริยายภายในเธรด หรืออาจมีส่วนขยายที่ผู้ขายสนับสนุนซึ่งอนุญาตให้สตรีมคำสั่งแบ่งเขตก.ล.และรอให้แต่ละส่วนในคิวคำสั่งดำเนินการให้เสร็จสิ้นซี.แอล.- โปรดทราบว่าในปัจจุบันวิธีการซิงโครไนซ์เดียวที่รองรับการพกพาระหว่างการใช้งานที่แตกต่างกันคือOpenGL, เป็นglFinish».

เพื่อการพกพาสูงสุด ข้อมูลจำเพาะเรียกร้องให้ glFinish() แต่นั่นเป็นการบล็อกการโทร! บน Intel GPU การใช้การซิงโครไนซ์โดยนัยจะมีประสิทธิภาพมากกว่าหรือการซิงโครไนซ์วัตถุระหว่าง OpenCL และ OpenGL ด้วยส่วนขยาย cl_khr_gl_events ซึ่งจะอธิบายรายละเอียดเพิ่มเติมด้านล่าง การใช้การซิงโครไนซ์โดยนัยเป็นทางเลือก โค้ดตัวอย่างประกอบด้วยส่วนที่แสดงความคิดเห็นซึ่งคุณสามารถใช้ถ้าคุณต้องการใช้การซิงโครไนซ์โดยนัย

ภาพรวมของการแชร์ Surface สำหรับ OpenCL และ OpenGL

ก่อนอื่นเราจะอธิบายขั้นตอนที่จำเป็นในการสนับสนุนการแบ่งปัน Surface ในระหว่างการเริ่มต้น การดำเนินการ และการปิดระบบ จากนั้นเราจะอธิบาย API และไวยากรณ์ภาษาโดยละเอียดยิ่งขึ้น สุดท้ายนี้ เราจะพูดถึงวิธีการขยายแนวคิดเหล่านี้ให้ครอบคลุมรูปแบบพื้นผิวอื่นๆ ที่อยู่นอกเหนือขอบเขตของตัวอย่างนี้ เราใช้ห้องสมุดสาธารณะ freeglut สำหรับการจัดการหน้าต่าง เช่นเดียวกับห้องสมุด glew การใช้ไลบรารีเหล่านี้เป็นแนวทางปฏิบัติมาตรฐานในแอปพลิเคชัน OpenGL ตัวอย่าง ดังนั้นเราจะไม่อธิบายไลบรารีเหล่านี้โดยละเอียด

การเริ่มต้น

  1. โอเพนซีแอล:
    1. สร้างบริบทที่ส่งผ่านพารามิเตอร์อุปกรณ์ที่เหมาะสม
    2. สร้างคิวอุปกรณ์และบริบทที่รองรับการสื่อสารระหว่าง OpenGL และ OpenCL
  2. OpenGL: สร้างพื้นผิว OpenGL ที่คุณต้องการให้ OpenCL ใช้งานได้
  3. OpenCL: การใช้ตัวอธิบาย OpenGL ที่สร้างขึ้นในขั้นตอนที่ 2 สร้างพื้นผิวที่ใช้ร่วมกันผ่านส่วนขยาย OpenCL

ขั้นตอนที่ 1 และ 2 สามารถย้อนกลับได้ ขั้นตอนที่ 3 ควรปฏิบัติตามขั้นตอนที่ 1 และ 2

การบันทึกลงบนพื้นผิวที่ใช้ร่วมกันในโอเพ่นซีแอล

  1. ล็อคพื้นผิวสำหรับการเข้าถึงแบบพิเศษของ OpenCL
  2. เขียนลงบนพื้นผิวนี้ผ่านเคอร์เนล OpenCL C เมื่อทำงานกับข้อมูลพื้นผิว คุณต้องใช้ฟังก์ชันอ่านหรือเขียนรูปภาพ และส่งผ่านรูปภาพตามลำดับ
  3. ปลดล็อกพื้นผิวเพื่อให้สิทธิ์การเข้าถึงแบบอ่านหรือเขียนแก่ OpenGL

ต้องปฏิบัติตามขั้นตอนที่ 1, 2 และ 3 ตามลำดับที่แสดง

วงจร

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

ปิดตัวลง

  1. การล้างสถานะ OpenCL
  2. การล้างสถานะ OpenGL

รายละเอียดเกี่ยวกับการแชร์พื้นผิว OpenGL และ OpenCL

ส่วนนี้ให้รายละเอียดของขั้นตอนที่อธิบายไว้ในส่วนก่อนหน้า

การเริ่มต้น

  1. โอเพนซีแอล:
    1. ออกแบบสอบถามเพื่อพิจารณาว่ารองรับส่วนขยายหรือไม่ เสร็จสิ้นและออกหากไม่รองรับ

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

      ตัวอย่างนี้รองรับเฉพาะ Intel GPU เท่านั้น แต่สามารถรองรับ GPU อื่น ๆ ได้โดยไม่ต้องใช้ความพยายามมากนัก ส่วนขยายที่เราต้องการคือ cl _ khr _ gl _ sharing นี่คือข้อมูลโค้ดที่เกี่ยวข้อง ถ่าน extension_string; memset(extension_string, "

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

การกำหนดโมเดลกราฟิก

คุณสามารถกำหนดรุ่นของการ์ดแสดงผลที่ใช้ในระบบได้หลายวิธี สิ่งที่ง่ายที่สุดคือ:

  1. คลิกขวาที่เดสก์ท็อปแล้วเลือกรายการด้านล่าง "ความละเอียดหน้าจอ"
  2. คลิกที่ "ตัวเลือกขั้นสูง"
  3. หน้าต่างที่ปรากฏขึ้นจะแสดงข้อมูลเกี่ยวกับการ์ดแสดงผล แท็บ "อะแดปเตอร์" จะแสดงชื่อรุ่น

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

การติดตั้งไดรเวอร์ที่ถูกต้อง

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

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

จะกำหนดค่าไดรเวอร์การ์ดแสดงผล Nvidia ได้อย่างไร?

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

โดยปกติแล้ว Nvidia Control Center จะเปิดจากเดสก์ท็อป คลิกขวาที่เดสก์ท็อปแล้วเลือก "แผงควบคุม NVIDIA" เราต้องเลือกรายการ "จัดการพารามิเตอร์ 3D" ส่วนนี้ประกอบด้วยส่วนสำคัญ เช่น การกรองพื้นผิว การบัฟเฟอร์ การซิงโครไนซ์ ฯลฯ

การเพิ่มประสิทธิภาพแบบแอนไอโซทรอปิก

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

เป็นที่น่าสังเกตว่าการกรองพื้นผิวแม้ว่าจะมีผลกระทบต่อประสิทธิภาพ แต่ก็มีน้อย พารามิเตอร์อื่นมีผลดีกว่า

การกรองและการเพิ่มประสิทธิภาพ

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

เรายังใส่ใจกับตัวเลือก มันมีการตั้งค่า: 2x, 4x, 8x, 16x ยิ่งค่าสูง พื้นผิวในเกมก็จะดูเป็นธรรมชาติมากขึ้น แต่อย่างที่เราเข้าใจแล้ว ค่าที่สูงกว่าหมายถึงทรัพยากรกราฟิกที่ใหญ่ขึ้น

การบัฟเฟอร์สามเท่าคือการบัฟเฟอร์สองครั้ง เทคโนโลยีนี้ช่วยให้คุณหลีกเลี่ยงหรืออย่างน้อยก็ลดจำนวนสิ่งประดิษฐ์กราฟิกได้ ควรตั้งค่าตัวเลือกนี้เป็น "ปิด" เพื่อปรับปรุงประสิทธิภาพเล็กน้อย

ในตัวเลือก "การกรองพื้นผิว" จะมีตัวเลือก "คุณภาพ" และ "ประสิทธิภาพ" เลือก "ประสิทธิภาพ" - สิ่งนี้จะลดคุณภาพของการกรองพื้นผิว แต่จะเพิ่มความเร็วในการประมวลผล

นี่เป็นการตั้งค่าพื้นฐานที่สุดที่ช่วยให้คุณได้รับความเร็วในการประมวลผลข้อมูลที่สูงขึ้นด้วยการ์ดแสดงผลของคุณ ยังมีรายย่อย:

  1. พัลส์ซิงค์แนวตั้ง - เลือกค่า "Adaptive"
  2. PhysX - ซีพียู
  3. การจัดการพลังงาน - เลือกโหมดเพื่อประสิทธิภาพสูงสุด
  4. การลดรอยหยักถูกปิดใช้งาน
  5. การเพิ่มประสิทธิภาพการสตรีม - เปิดใช้งานแล้ว

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

บทสรุป

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

ตอนนี้คุณรู้วิธีกำหนดค่าการ์ดแสดงผล Nvidia อย่างถูกต้องแล้วและคุณสามารถทำได้ด้วยตัวเอง

สวัสดีทุกคน! วันนี้เป็นบทความที่น่าสนใจมากเกี่ยวกับการปรับแต่งการ์ดแสดงผลของคุณให้มีประสิทธิภาพสูงในเกมคอมพิวเตอร์ เพื่อน ๆ ยอมรับว่าหลังจากติดตั้งไดรเวอร์การ์ดแสดงผลแล้วครั้งหนึ่งคุณเปิด "แผงควบคุม NVIDIA" และเห็นคำที่ไม่คุ้นเคยที่นั่น: DSR, shaders, CUDA, พัลส์นาฬิกา, SSAA, FXAA และอื่น ๆ และตัดสินใจที่จะไม่ไปที่นั่นอีกต่อไป . อย่างไรก็ตาม เป็นไปได้และจำเป็นต้องเข้าใจทั้งหมดนี้ เนื่องจากประสิทธิภาพขึ้นอยู่กับการตั้งค่าเหล่านี้โดยตรง มีความเข้าใจผิดว่าทุกอย่างในแผงที่ซับซ้อนนี้ได้รับการกำหนดค่าอย่างถูกต้องตามค่าเริ่มต้น แต่น่าเสียดายที่ยังห่างไกลจากกรณีนี้ และประสบการณ์แสดงให้เห็นว่าการตั้งค่าที่ถูกต้องจะได้รับรางวัลด้วยการเพิ่มขึ้นอย่างมากอัตราเฟรมเตรียมตัวให้พร้อม เราจะเข้าใจถึงการเพิ่มประสิทธิภาพการสตรีม การกรองแบบแอนไอโซทรอปิก และการบัฟเฟอร์สามเท่า สุดท้ายแล้วคุณจะไม่เสียใจและจะได้รับรางวัลในรูปแบบนี้เพิ่ม FPS ในเกม

การตั้งค่าการ์ดกราฟิก Nvidia สำหรับเล่นเกม

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

ดังนั้น เพื่อไปที่เมนูการจัดการไดรเวอร์วิดีโอ ให้คลิกขวาที่ใดก็ได้บนเดสก์ท็อปแล้วเลือก “แผงควบคุม NVIDIA” จากเมนูที่เปิดขึ้น

จากนั้นในหน้าต่างที่เปิดขึ้น ให้ไปที่แท็บ "จัดการพารามิเตอร์ 3D"

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

ดังนั้นประเด็นแรก” CUDA - GPU- นี่คือรายการโปรเซสเซอร์วิดีโอที่คุณสามารถเลือกได้ และจะถูกใช้งานโดยแอปพลิเคชัน CUDA CUDA (Compute Unified Device Architecture) เป็นสถาปัตยกรรมการประมวลผลแบบขนานที่ใช้โดย GPU สมัยใหม่ทั้งหมดเพื่อเพิ่มประสิทธิภาพการประมวลผล

รายการถัดไป " DSR - ความนุ่มนวล“ เราข้ามไปเพราะมันเป็นส่วนหนึ่งของการตั้งค่ารายการ "DSR - องศา" และจำเป็นต้องปิดการใช้งานในทางกลับกัน และตอนนี้ฉันจะอธิบายว่าทำไม

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

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

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

ภาพเสมือนจริงที่เตรียมไว้ล่วงหน้า- ฟังก์ชั่นสำหรับแว่นตาเสมือนจริงนั้นไม่น่าสนใจสำหรับเรา เนื่องจาก VR ยังห่างไกลจากการใช้งานในชีวิตประจำวันของนักเล่นเกมทั่วไป เราปล่อยให้เป็นค่าเริ่มต้น - ใช้การตั้งค่าแอปพลิเคชัน 3D

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

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

จำนวนเฟรมที่เตรียมไว้ล่วงหน้าสูงสุด- จำนวนเฟรมที่ CPU สามารถจัดเตรียมได้ก่อนที่ GPU จะประมวลผล ยิ่งมูลค่าสูงเท่าไรก็ยิ่งดีเท่านั้น

การลบรอยหยักหลายเฟรม (MFAA)- หนึ่งในเทคโนโลยีต่อต้านนามแฝงที่ใช้ในการกำจัด "รอยหยัก" ที่ขอบของภาพ เทคโนโลยีต่อต้านนามแฝงใด ๆ (SSAA, FXAA) มีความต้องการอย่างมากใน GPU (คำถามเดียวคือระดับของความตะกละ)

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

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

การป้องกันนามแฝง - FXAA, การป้องกันนามแฝง - การแก้ไขแกมม่า, การป้องกันนามแฝง - พารามิเตอร์, การป้องกันนามแฝง - ความโปร่งใส, การป้องกันนามแฝง - โหมด ฉันได้เขียนเกี่ยวกับการทำให้เรียบขึ้นเล็กน้อยแล้ว ปิดทุกอย่าง

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



มีคำถามหรือไม่?

แจ้งการพิมพ์ผิด

ข้อความที่จะส่งถึงบรรณาธิการของเรา: