ลือ DirectX 12 จะทำให้ใช้การ์ดจอ AMD และ Nvidia ได้ในเครื่องเดียวกัน
คอเกมคงคุ้นเคยกับชื่อ DirectX เป็นอย่างดี ซึ่งในเวอร์ชันหน้า คือ DirectX 12 มีข่าวออกมาว่า จะสามารถทำให้การ์ดจอจากสองค่ายดังคือ AMD และ Nvidia ใช้ร่วมกันได้แล้ว
ณ งาน Game Developers Conference 2014 ทางบริษัท Microsoft พร้อมกับเหล่าพาร์ทเนอร์ Nvidia ,AMD ,Intel และ Qualcomm ได้เปิดตัวโชว์ API ใหม่สำหรับการเล่นเกมนั่นก็คือ DirectX 12 ที่หลายคนเริ่มหวั่นใจต้องได้เปลี่ยนการ์ดจอเมื่อมันมาถึงไหม
ทีนี้มาเข้าถึงเนื้อหาที่ว่า Microsoft บอกอะไรบ้างเกี่ยวกับ DirectX 12 โดยหลักแล้วคือเจ้า API รุ่นใหม่นี้จะช่วยให้เหล่านักพัฒนาสามารถนำไปใช้งานได้หลากหลายแพลตฟอร์มของ Microsoft ไม่ว่าจะเป็น Windows ,Xbox One และ Windows mobile นอกจากนั้นแล้วยังเพิ่มประสิทธิภาพกราฟฟิคของเกมรุ่นใหม่โดยที่นักพัฒนา สามารถแบ่งการทำงาน multi-core CPUs ได้อย่างง่ายดาย ฉะนั้นมันจะช่วยเพิ่มประสิทธิภาพให้กับ CPU และลดอาการ ‘คอขวด’ ที่เป็นปัญหาหลักๆมาตั้งแต่สมัยก่อนเป็นเพราะว่านักพัฒนาสามารถเข้าถึง ฮาร์ดแวร์ในระดับ ‘lower-level’ คือระดับต่ำกว่าปกติทำให้ DirectX ทำงานกับตัวเอนจิ้นและฮาร์ดแวร์ได้ดีและเร็วยิ่งขึ้น ,Microsoft ประมาณไว้คร่าวๆว่านี่จะทำให้ CPU ทำงานได้รวดเร็วขึ้นถึง 50% เลยทีเดียว
จากความสามารถที่ว่ามาด้านบนแน่นอนว่ามันจะทำให้การเล่นเกมนั้นมี ประสิทธิภาพมากยิ่งขึ้นและฟังดูแล้วก็คล้ายเทคโนโลยี Mantle ของทางค่าย AMD พอสมควร ส่วนทางด้านการ์ดจอทาง Microsoft ได้อ้างว่า DirectX 12 จะซับพอร์ตการทำงานแบบหลาย GPUs และการทำงานแบบไฮบริด CPU/GPU มากขึ้นอีกด้วย
ปัญหาที่หลายคนกังวลว่า DirectX 12 นั้นจะซับพอร์ตกับการ์ดจอปัจจุบันที่เราใช้ๆกันอยู่ไหม ตรงนี้ทาง Nvidia ได้ออกมาบอกว่าการ์ดไหนที่รองรับ DirectX 11 ในขณะนี้มันจะรองรับกับ DirectX 12 ประกอบไปด้วยรุ่น Fermi, Kepler และ Maxwell ครับ ทางด้านระบบปฏิบัติการที่รองรับยังไม่มีการระบุออกมาเพียงแต่ทางบริษัทก็ ทราบดีว่าปริมาณผู้ใช้งานและสนับสนุน Windows 7 ยังคงมีมากอยู่ คาดว่าปลายปี 2014 นี้จะเผยข้อมูลออกมาให้ได้ทราบกันมากกว่านี้ ส่วนกำหนดการปล่อย DirectX 12 ทาง Microsoft คาดว่าจะปล่อยออกมาในช่วงเทศกาลวันหยุดปี 2015 ซึ่งก็คือปลายปีนั่นเอง เชื่อว่าระหว่างนั้นเราอาจจะได้เห็นค่ายการ์ดจอเข็นการ์ดรุ่นใหม่พร้อมกับ ระบุข้างกล่องว่า DirectX12 supported อะไรทำนองนี้
Credit : Juropy
เสริม DX12
ไมโครซอฟท์เผยข้อมูลของ DirectX 12 ตามสัญญา โดยเบื้องต้นยังเน้นเฉพาะส่วนประกอบหลัก Direct3D 12 เพียงอย่างเดียวครับ
ธีมหลักของ Direct3D 12 คือ “รีดพลังจาก GPU ให้ได้เยอะกว่าเดิม” ทำให้แนวทางการพัฒนาเน้นไปที่ Direct3d 12 เข้าถึงฮาร์ดแวร์ระดับล่างได้มากขึ้น (ลด overhead ของซอฟต์แวร์ลง) โดยแบ่งออกเป็น 3 ส่วนย่อย
- ปรับการทำงานของ pipeline สำหรับเรนเดอร์กราฟิก ให้กระบวนการทำงานใกล้เคียงกับฮาร์ดแวร์จริงมากขึ้น โดย Direct3D 12 ใช้ออบเจคต์แบบใหม่ที่เรียกว่า pipeline state objects (PSOs)
- ปรับกระบวนการส่งงานไปยัง GPU (work submission) ให้ตรงกับการทำงานของฮาร์ดแวร์มากขึ้น โดยใช้แนวคิดที่เรียกว่า command list คอยกำหนดว่า GPU จะต้องดึง PSO ตัวไหนไปทำงานอะไรบ้าง
- ปรับวิธีการกำหนดทรัพยากร (resource) เพิ่มแนวคิดของ descriptor heap/table ของ resource ช่วยให้การจัดการ resource มีประสิทธิภาพมากขึ้น
ผลการทดสอบด้วย 3DMark พบว่า Direct3D 12 รองรับการทำงานแบบมัลติเธร็ดได้ดีขึ้น (กราฟล่าง) และลดอัตราการใช้งาน CPU ลงได้ถึง 50% เมื่อเทียบกับ Direct3D 11 (กราฟบน)
ไมโครซอฟท์ยังไม่เผยรายละเอียดของ DirectX 12 ในส่วนอื่นๆ มากนัก เท่าที่มีข้อมูลคือ
- DirectX 12 จะออกรุ่นจริงภายในปีนี้ และตั้งเป้าว่าเกมที่เขียนบน DirectX 12 จะวางขายจริงช่วงปลายปี 2015
- รองรับแพลตฟอร์มของไมโครซอฟท์ทุกตัว ทั้งพีซี แท็บเล็ต มือถือ และ Xbox One (ยังไม่ตอบว่าจะมีบน Windows 7 หรือไม่)
- ใช้งานได้กับ GPU รุ่นใหม่ๆ “ส่วนใหญ่” ในท้องตลาด
- NVIDIA บอกว่า GPU ที่รองรับ DirectX 11 จะสามารถใช้งาน DirectX 12 ได้ทุกตัว (ตั้งแต่ Fermi ขึ้นไป)
- AMD บอกว่า GPU ที่ใช้สถาปัตยกรรม GCN (Radeon HD 7000) จะรองรับ DirectX 12