สอน

Directx 12 vs vulkan: การต่อสู้เพื่อเอนจิ้นกราฟฟิกที่ดีที่สุด?

สารบัญ:

Anonim

ในปัจจุบันสำหรับโลกของพีซีมี API กราฟิกระดับเฟิร์สคลาสสองตัวที่จัดการตลาดด้วยสิทธิ์ ด้วยเหตุนี้เราจึงนำการเปรียบเทียบ DirectX 12 Vs Vulkan มาให้คุณ

ทั้งสองมีประวัติอันยาวนานเบื้องหลังพวกเขาและกองหลังและผู้ปกป้อง วันนี้เราจะเห็นความแตกต่างกุญแจของแต่ละคนและเราจะพยายามให้แสงสว่างแก่พวกเขา

ดัชนีเนื้อหา

API กราฟิคระดับต่ำและ“ โอเวอร์เฮดไดรเวอร์”

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

API ระดับต่ำใช้ประโยชน์จากทรัพยากรของ GPU ได้ดีขึ้นบรรเทาซีพียู แต่ยังสามารถใช้ประโยชน์จากโปรเซสเซอร์มัลติคอร์ที่เรามีอยู่ได้ดีขึ้นในปัจจุบัน

ทั้ง DirectX 12 และ Vulkan 1.1 เป็น APIs ที่มุ่งเน้นการพัฒนาเกมและแอพพลิเคชั่นที่ต้องการความช่วยเหลือจากเอ็นจิ้นกราฟิกที่ทันสมัย ในขณะเดียวกันก็เป็น API ที่ได้รับการสนับสนุนโดยไดรเวอร์ของนักออกแบบชิปเซ็ตกราฟิกที่สำคัญที่สุดดังนั้นจึงเป็นวิธีที่รวดเร็วและประหยัดในการเข้าถึงฟีเจอร์ของพวกเขาโดยไม่ต้องรู้การออกแบบในระดับต่ำมาก

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

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

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

Microsoft DirectX

DirectX เกิดขึ้นตามความจำเป็นในการสร้างมาตรฐานระบบย่อยมัลติมีเดีย Windows ที่แตกต่างกันและใช้แทน WinG สำหรับ Windows 3.1 มันถูกนำมาใช้ใน Windows 95 เป็นแพคเกจเสริมและรุ่นที่สองของ DirectX 2.0 กลายเป็นองค์ประกอบพื้นฐานของ Windows 95 OSR2

ภายใน DirectX เราพบ API อิสระหลายตัวเช่น Direct3D ซึ่งเป็นหนึ่งในคำถาม DirectDraw, DirectMusic, DirectPlay และ DirectSound DirectX เป็นวิธีหนึ่งในการตั้งชื่อความก้าวหน้าร่วมกันทั่วทั้ง sub-APIs เหล่านี้ มันเป็น API สำหรับ Windows แต่ใช้สำหรับการพัฒนาเกมบนคอนโซล Xbox เพื่อให้เราสามารถพิจารณาเป็น Multiplatform API แต่ไม่ฟรีเช่นเดียวกับ Vulkan

DirectX 12 ซึ่งเป็นเวอร์ชั่นล่าสุดอยู่กับเรามาตั้งแต่ปี 2014 และยังไม่เคยหยุดนิ่งและไม่กี่เดือนที่ผ่านมาได้รับการปรับปรุงที่สำคัญเช่นรูทีนย่อย Direct RayTracing (DXR) ที่รวมอยู่ใน Windows 10 รุ่นปรับปรุงเดือนตุลาคม 1809

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

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

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

ปัจจุบัน DirectX 12 มีวางจำหน่ายแล้วโดยแปลกใจสำหรับ Windows 7 และ Windows 10 และถึงแม้ว่ามันจะไม่เข้ากันได้กับ Xbox One แต่ความจริงก็คือว่า 90% ของฟังก์ชั่นการใช้งานสำหรับพีซีนั้นมีความแตกต่างน้อยที่สุด นักพัฒนาปรับตัวได้อย่างรวดเร็วของเกมพีซีสำหรับ Xbox One และในทางกลับกัน

Vulkan แห่ง Khronos

Vulkan เป็นวิวัฒนาการ ของ API ระดับต่ำ ของ OpenGL และได้รับการสนับสนุนจาก Khronos Corporation ในโลกพีซีพวกเขามีบทบาทรองเหนือ DirectX 12 แต่การปรับตัวที่แตกต่างกับแพลตฟอร์มที่แตกต่างกันเช่น Android ทำให้มันกลายเป็นเกณฑ์มาตรฐานในด้านกราฟิกสำหรับการเคลื่อนที่ นอกจากนี้ยังเข้ากันได้กับ Linux ซึ่งเป็นตัวเลือกที่ยอดเยี่ยมของเกมในระบบฟรี

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

ประวัติ ของ Vulkan ย้อนหลังไปถึงหนึ่งปีหลังจาก DirectX 12 และ Khronos ซึ่งเป็น บริษัท ที่ไม่แสวงผลกำไรรักษาได้บ่อยครั้งหรือบ่อยกว่าที่ Microsoft ทำกับ API ของตัวเอง มันขึ้นอยู่กับ API Mantle ที่ AMD พัฒนาขึ้นสำหรับสถาปัตยกรรม GCN และเป็น API ระดับต่ำอีกตัวสำหรับการลด "โอเวอร์เฮดไดรเวอร์" AMD บริจาคการพัฒนาให้ Khronos และนี่คือรากฐานของ API กราฟิคที่ดีที่สุดในตลาด

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

Vulkan ยังแนะนำการปรับปรุง API ระดับต่ำบน Android และแพลตฟอร์มอื่น ๆ

Vulkan 1.1 เวอร์ชั่นล่าสุดเปิดตัวเมื่อปลายปี 2561 เพิ่มการปรับปรุงที่สำคัญเช่นการสนับสนุน HLSL ซึ่งเป็นทางเลือกของ DirectX 12 ในการจัดการการทำงานของ Shader โดยไม่จำเป็นต้องมีการคอมไพล์ล่วงหน้าและเข้ากันได้กับ DirectX 12 มากขึ้น นอกเหนือจากกราฟิก) การสนับสนุนที่ชัดเจนสำหรับระบบ Multi-GPU โดยไม่คำนึงถึงผู้ผลิตและแน่นอนว่ารองรับ RayTracing

จุดแข็งและจุดอ่อนของ DirectX 12 vs Vulkan

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

ในเกมพวกเขายังสามารถใช้สำหรับการดำเนินงานรองที่สำคัญมากขึ้นเช่นการคำนวณของฟิสิกส์จริงปัญญาประดิษฐ์ผลเสียงตำแหน่ง ฯลฯ

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

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

เราได้ จำกัด อัตราเฟรมไว้ที่ 120FPS สำหรับการสาธิต Driver Overhead ในการใช้ CPU ของ Dota 2 นั้นลดลงอย่างมากเมื่อใช้ FPS เดียวกัน

ข้อแตกต่างที่ชัดเจนยิ่งกว่าคือ Vulkan มีการพึ่งพา CPU ค่อนข้างน้อยโดยมีการสิ้นเปลืองโดยเฉลี่ยน้อยกว่าและยังเปิดกว้างมากขึ้นสำหรับแพลตฟอร์มที่แตกต่างกันเช่น Windows และ Linux และ homogenization กับ OpenGL ES ซึ่งเป็นรุ่นมือถือ มันกำลังอยู่ระหว่างการรวมแพลตฟอร์มที่เคลื่อนที่

DirectX 12 ได้รับการยอมรับอย่างสูงจากนักพัฒนาที่ดูเหมือนจะพบใน API นี้เป็นระบบนิเวศที่สมบูรณ์แบบเพื่อลดค่าใช้จ่ายของพวกเขาเพราะมันมีการบูรณาการที่ยอดเยี่ยมในกรอบการทำงานอย่างกว้างขวางเช่นเดียวกับ. NET Framework ด้วยการสูญเสียประสิทธิภาพเล็กน้อย

ความแตกต่างด้านประสิทธิภาพในเกมที่มี double API

เนื่องจากการเดินถูกแสดงโดยการเดินเราได้ทำการทดสอบประสิทธิภาพในเกมและเกณฑ์มาตรฐานต่าง ๆ ที่มีความสามารถในการใช้ API ทั้งสองนี้เพื่อดำเนินการ

การทดสอบค่าใช้จ่ายของไดรเวอร์ 3DMark ผลลัพธ์เป็นล้าน ๆ คำขอยิ่งดีกว่า

ขี้เถ้าแห่งความเป็นเอกเทศ ผลลัพธ์ใน FPS มากกว่านั้นดีกว่า

กองพลแปลก ผลลัพธ์ใน FPS มากกว่านั้นดีกว่า

เราสรุปคู่มือฮาร์ดแวร์ที่ดีที่สุดที่คุณสนใจ:

  • โปรเซสเซอร์ที่ดีที่สุดในตลาดมา เธอร์บอร์ดที่ดีที่สุดในตลาด หน่วยความจำ RAM ที่ดีที่สุดในตลาด การ์ดกราฟิกที่ดีที่สุดในตลาด SSD ที่ดีที่สุดในตลาด เคสที่ดีกว่าหรือเคสพีซีที่ ดีกว่าเครื่องจ่ายไฟที่ ดีกว่า

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

สอน

ตัวเลือกของบรรณาธิการ

Back to top button