© Mehmet Cetin/Shutterstock.com

DirectX คือชุดของ API ที่สร้างขึ้นโดย Microsoft เพื่อ ให้การเร่งฮาร์ดแวร์สำหรับแอพพลิเคชั่นมัลติมีเดียและเกมบนคอมพิวเตอร์ที่ใช้ Windows ด้วยระยะเวลากว่าสองทศวรรษภายใต้การควบคุม DirectX ยังคงสร้างสรรค์สิ่งใหม่ ๆ โดยแต่ละเวอร์ชันใหม่จะมีการปรับปรุงและคุณสมบัติที่หลากหลาย

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

Directx 11 vs 12: การเปรียบเทียบแบบเคียงข้างกัน

SpecificationDirectX 11DirectX 12การสนับสนุนฮาร์ดแวร์Windows 7 และ ในภายหลังWindows 10 และใหม่กว่าประสิทธิภาพกราฟิกดีมากรองรับมัลติเธรดจำกัดปรับปรุงโอเวอร์เฮด CPUปานกลางลดการจัดการทรัพยากรใช้ CPU มาก GPU มีประสิทธิภาพรองรับ Tessellationจำกัดปรับปรุงการใช้หน่วยความจำสูงลดการประมวลผลแบบอะซิงโครนัสไม่รองรับรองรับรองรับความจริงเสมือนปรับปรุงจำกัด

Directx 11 เทียบกับ 12: ความแตกต่างคืออะไร

ด้วย DirectX เวอร์ชันใหม่แต่ละเวอร์ชัน มีความก้าวหน้าอย่างมากในด้านความสามารถด้านกราฟิกและมัลติมีเดีย ตลอดจนประสิทธิภาพและประสิทธิผลที่เพิ่มขึ้น

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

การสนับสนุนฮาร์ดแวร์

DirectX 12 ทำงานได้ดีที่สุดกับ Windows เวอร์ชันล่าสุด

©sdx15/Shutterstock.com

ความแตกต่างที่สำคัญประการหนึ่งระหว่าง DirectX 11 และ 12 คือการสนับสนุนฮาร์ดแวร์ DirectX 11 เปิดตัวครั้งแรกพร้อมกับ Windows 7 และเข้ากันได้กับระบบปฏิบัติการดังกล่าวและเวอร์ชันที่ใหม่กว่า หากคุณใช้ Windows รุ่นเก่ากว่า คุณจะไม่สามารถใช้ DirectX 12 ได้

ในทางกลับกัน DirectX 12 ได้รับการออกแบบมาเพื่อให้เข้ากันได้กับ Windows 10 หรือใหม่กว่า ทำให้เป็นทางเลือกเดียว สำหรับนักเล่นเกมและผู้เชี่ยวชาญด้านมัลติมีเดียที่ยังไม่ได้อัปเกรดเป็น Windows 10

ความคลาดเคลื่อนในการรองรับฮาร์ดแวร์นี้เกิดจาก DirectX 12 ซึ่งต้องอาศัยคุณลักษณะของ Windows 10 เป็นอย่างมาก เช่น เลเยอร์นามธรรมของฮาร์ดแวร์ระดับต่ำ และการสนับสนุนใหม่ สถาปัตยกรรมของฮาร์ดแวร์

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

ประสิทธิภาพกราฟิก

กราฟิกการ์ดเป็นส่วนประกอบที่สำคัญในอุปกรณ์เล่นเกมและ พีซี

©Aleksandr Grechanyuk/Shutterstock.com

ความแตกต่างที่สำคัญอีกประการระหว่าง DirectX 11 และ DirectX 12 คือประสิทธิภาพด้านกราฟิก DirectX 12 มีการปรับปรุงมากมายเหนือ DirectX 11 โดยเฉพาะอย่างยิ่งเกี่ยวกับการโทรออกและโอเวอร์เฮดของ CPU

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

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

การรองรับมัลติเธรด

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

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

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

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

โอเวอร์เฮดของ CPU

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

ในทางกลับกัน DirectX 12 ได้รับการออกแบบมาเพื่อลดโอเวอร์เฮดของ CPU โดยให้นักพัฒนาควบคุมกราฟิกได้มากขึ้น ไปป์ไลน์

ด้วย DirectX 12 นักพัฒนาสามารถส่งการโทรไปยัง GPU ได้โดยตรง หลีกเลี่ยงงานจำนวนมากที่ไดรเวอร์มักจะจัดการ วิธีการนี้ช่วยลดการใช้ CPU โดยรวมสำหรับการเรียกแต่ละครั้ง และอาจนำไปสู่การเพิ่มประสิทธิภาพอย่างมีนัยสำคัญ

การจัดการทรัพยากร

DirectX 11 และ DirectX 12 เป็นกราฟิก API สองตัวที่สร้างโดย Microsoft เพื่อใช้ในเกม และแอพพลิเคชั่นที่เน้นภาพอื่นๆ ความแตกต่างที่สำคัญประการหนึ่งระหว่างเวอร์ชัน DirectX เหล่านี้คือวิธีจัดการทรัพยากร

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

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

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

การสนับสนุน Tessellation

DirectX 11 และ DirectX 12 เป็นกราฟิก API สองตัวที่พัฒนาโดย Microsoft ซึ่งมีเครื่องมือสำหรับสร้างภาพ 3 มิติที่ซับซ้อน ความแตกต่างที่สำคัญประการหนึ่งคือการรองรับเทสเซลเลชัน ซึ่งเป็นสไตล์ศิลปะที่ได้รับความนิยมในเกม

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

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

การใช้หน่วยความจำ

หน่วยความจำคอมพิวเตอร์

DirectX 11 และ DirectX 12 เป็นกราฟิก API ที่พัฒนาโดย Microsoft ซึ่งช่วยให้นักพัฒนาสามารถสร้างภาพ 3 มิติที่น่าทึ่งในเกมและแอปพลิเคชันอื่นๆ ความแตกต่างอย่างหนึ่งระหว่าง DirectX ทั้งสองเวอร์ชันคือวิธีจัดการกับการใช้หน่วยความจำ

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

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

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

อะซิงโครนัส คอมพิวเตอร์

DirectX 11 และ DirectX 12 เป็นกราฟิก API ที่พัฒนาโดย Microsoft ซึ่งมีเครื่องมือสำหรับสร้างภาพ 3 มิติที่ซับซ้อน ความแตกต่างระหว่างสองเวอร์ชันคือการสนับสนุนสำหรับการประมวลผลแบบอะซิงโครนัส ซึ่งช่วยให้คุณทำงานได้เร็วขึ้นกว่าปกติ

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

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

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

Directx 11 เทียบกับ 12:5 ข้อเท็จจริงที่ต้องรู้

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

Directx 11 กับ 12: อันไหนดีกว่ากัน? คุณควรใช้รุ่นใด

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

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

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

Directx 11 vs 12: อะไรคือความแตกต่าง? คำถามที่พบบ่อย (คำถามที่พบบ่อย) 

DirectX 12 จัดการกับมัลติเธรดอย่างไรเมื่อเทียบกับ DirectX 11?

DirectX 12 ช่วยให้นักพัฒนาสามารถควบคุมมัลติเธรดได้มากขึ้น มากกว่า DirectX 11 ซึ่งใช้ไดรเวอร์สำหรับการจัดการเธรด

DirectX 12 มีประสิทธิภาพที่ดีกว่า DirectX 11 หรือไม่

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

การพัฒนาเกมโดยใช้ DirectX 12 เทียบกับ DirectX 11 นั้นยากเพียงใด

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

สามารถ DirectX 11 และ DirectX 12 ใช้ร่วมกันในเกมเดียวกันได้หรือไม่

ไม่สามารถรวม DirectX 11 และ 12 ในเกมเดียวกันได้ เนื่องจากเป็น API ที่แตกต่างกันซึ่งมีแนวทางการเขียนโปรแกรมที่แตกต่างกัน

ต้องใช้ฮาร์ดแวร์ใดจึงจะเรียกใช้ DirectX 12 ได้

ในการเรียกใช้ DirectX 12 ระบบของคุณต้องใช้การ์ดกราฟิกที่รองรับ DirectX 12 และ Windows เวอร์ชันอัปเดตที่มี API นี้ (เช่น Windows 10 หรือ ในภายหลัง).

By Maxwell Gaven

ฉันทำงานด้านไอทีมา 7 ปี เป็นเรื่องสนุกที่ได้เห็นการเปลี่ยนแปลงอย่างต่อเนื่องในภาคไอที ไอทีคืองาน งานอดิเรก และชีวิตของฉัน