
ตอนที่ Microsoft Windows 7 เปิดตัว BETA ให้คนทั่วไปได้ทดสอบ สิ่งหนึ่งที่เปลี่ยนแปลงไปนอกจากความเร็วและความสเถียรที่เพิ่มมากขึ้นนั่น ก็คือ ชุดคำสั่งกราฟฟิกการ์ดตัวใหม่นามว่า DirectX 11 โดยเจ้า DirectX 11 ถ้าพูดแล้วมันก็เป็นเพียงชุดคำสั่งกราฟฟิกการ์ดที่พัฒนาต่อยอดมาจาก DirectX 10.1 ซึ่งแน่นอนว่าคนส่วนใหญ่มักมองว่า DirectX เป็นตัวสร้างภาพให้สวย ซึ่งในความคิดของผมๆ ว่า คนเหล่านั้นมองแคบเกินไป เพราะ DirectX ไม่ได้เป็นตัวทำให้เกิดภาพ แต่ DirectX เป็นเหมือนห้องสมุดให้นักเขียนโปรแกรมเลือกใช้คำสั่ง และส่งข้อมูลที่ถูกคัดเลือกนั้นไปให้การ์ดจอเป็นผู้ประมวลผล ซึ่งเจ้า DirectX มีคำสั่งหลักๆ ที่ใช้ในการทำงานดังนี้
* DirectDraw (DDraw) ใช้วาดภาพ 2 มิติ
* Direct3D (D3D) ใช้วาดภาพ 3 มิติ ซึ่งแบ่งย่อยได้อีก 2 ประเภทคือ
- Direct3DRM (Retained Mode) (D3DRM) ใช้วาดภาพ 3 มิติแบบง่าย
- Direct3DIM (Immediate Mode) (D3DIM) ใช้วาดภาพ 3 มิติ แบบยาก
* DirectInput (DXInput) เป็นการรับข้อมูลจากอุปกรณ์ input ทั้งหมด เช่น keyboard mouse และ joystick
* DirectSound (DXSound) ส่วนในการสร้างเสียงต่างๆ
* DirectPlay (DXPlay) เป็นตัวควบคุมระบบ Multiplayer
ซึ่งในปัจจุบันหลังจาก Microsoft Windows 7 และ ATI Radeon HD 5800 Sereis ออกวางจำหน่ายกระแส DirectX 11 กำลัง
จะกลับมาฮอตฮิตเหมือนครั้งที่ DirectX 10 วางจำหน่ายอีกครั้ง ซึ่งผมเห็นฝรั่งหลายคนพูดถึง DirectX 11 ในทางดีก็มากทางร้ายก็มาก เพราะฉะนั้นวันนี้ผมจึงอยากอาสาพาคนไทยทุกท่านไปชำแหละเจ้าชุดคำสั่ง DirectX 11 กันครับว่ามันจะดีจะเลวตามที่ฝรั่งเขากล่าวกันไหม
| DX 10 | DX 10.1 | DX 11 |
Tesselation | X | X | / |
Shader Model 5.0 | X | X | / |
DirectCompute 11 | X | X | / |
DirectCompute 10.1 | X | / | / |
DirectCompute 10 | / | / | / |
Multi-threading | / | / | / |
HDR Texture compression | X | X | / |
เกมใดในปัจจุบันรองรับ DirectX 11
Aliens vs. Predator (Q1 2010)
BattleForge (Now)
DiRT 2 (December 2009)
S.T.A.L.K.E.R: Call of Pripyat (Now)
Lord of the Rings Online (Q1 2010)
Dungeons and Dragons Online Eberron Unl.
Alan Wake (Coming in 2010-2011)
Ghengis Khan MMO
Frostbite 2 Engine
Unigene engine
VisioN engine

เริ่มชำแหละ!!
มีอะไรใหม่ใน DirectX 11
* Shader model 5.0
* Multi-threading
* DirectCompute 11 - Physics and AI
* Hardware Tessellation
* Better shadows
* HDR Texture compression
Shader model 5.0
ชุดคำสั่ง DirectX 11 จะมาพร้อมคำสั่ง Shader model เวอร์ชั่น 5 ที่มีการพัฒนาในส่วน High Level Shader Language ให้ดีกว่าเวอร์ชั่น 4 ทำให้ภาพที่แสดงออกมามีความลึกและมิติที่เพิ่มมากขึ้น
Multi-threading
ใน DirectX ก่อนหน้าเวลามีการประมวลผลกราฟฟิก ข้อมูลบางส่วนจะต้องถูกส่งไปให้ซีพียูช่วยประมวลผล ซึ่งแน่นอนว่าเราจะเสียแกนซีพียูไปหนึ่งแกนเต็มๆ แต่ใน DirectX 11 จะมีการปรับปรุงชุดคำสั่งนี้ให้ดียิ่งขึ้น ทำให้ API (Application Programming Interface) สามารถกระจายข้อมูลกราฟฟิกไปตามคอร์ต่างๆ ในซีพียูอย่างเท่าเทียมกัน ทำให้ซีพียูไม่เกิด Over Load ในแกนใดแกนหนึ่ง ซึ่งมีผลให้การประมวลผลจะทำงานได้รวดเร็วยิ่งขึ้น สำหรับคุณสมบัตินี้ใครที่ใช้การ์ดจอที่รองรับ DirectX 10.1 และระบบปฏิบัติการณ์ Microsoft Windows 7 ก็สามารถเปิดใช้งานได้เช่นกัน

DirectCompute 11 - Physics and AI
เดิมที GPU จะทำหน้าที่ประมวลผลกราฟฟิกเพียงอย่างเดียว แต่ด้วยชุดคำสั่ง DirectCompute 11 ตัวใหม่ล่าสุดนี้จะทำให้ GPU ของคุณแปรเปลี่ยนเป็นซีพียู (ตัวอย่าง: PhysX by NVIDIA หรือ ATI Stream) เพื่อช่วยประมวลผลด้านฟิสิกส์และ AI ได้ เพราะอย่างที่ทราบกันว่าเทคโนโลยีด้าน Processor ของ GPU นั้นเติบโตเร็วมากกว่าซีพียูหลายเท่า อีกทั้งปัจจุบันระบบฟิสิกส์รวมถึง AI ต่างๆภายในเกมมีความซับซ้อนมากยิ่งขึ้น ซึ่งถ้าการประมวลผลด้านนี้ตกเป็นภาระของซีพียูเพียงอย่างเดียว แน่นอนว่าอนาคตซีพียูจำนวน 8 คอร์อาจไม่เพียงพอต่อความต้องการของระบบ เพราะฉะนั้นระบบนี้จะมาช่วยแบ่งเบาภาระของซีพียูและทำให้ซีพียูสามารถไป ประมวลผลด้านอื่นๆ ได้เพิ่มขึ้น

อีกทั้งนอกจากชุดคำสั่งดังกล่าวจะช่วยประมวลผลด้านฟิสิกส์และ AI แล้ว ชุดคำสั่งดังกล่าวยังสามารถจัดการเรื่องการเรนเดอร์ภาพในขั้น Post Processing (image processing และ filtering) ซึ่งมีผลให้ภาพมีความสดใสและชัดเจนอีกทั้งในอนาคตชุดคำสั่งนี้อาจถูกใช้ เพิ่มประสิทธิภาพในการเรนเดอร์ภาพของโปรแกรมต่างๆ เช่น Flash 10.1 หรือโปรแกรมในชุด Adobe อีกด้วย

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

HDR Texture compression
จากชุดคำสั่งต่างๆ ที่ผ่านมาทำให้คุณภาพ Texture รวมถึงจำนวนโพลิกอนมีขนาดที่มากขึ้น ซึ่งแน่นอนถ้าไม่มีระบบหรือชุดคำสั่งมาช่วยประมวลผลในส่วนนี้ จะทำให้ชุดคำสั่งดังกล่าวกินทรัพยากรของการ์ดจอค่อนข้างมาก เพราะฉะนั้นชุดคำสั่ง HDR Texture compression จะช่วยในการบีบอีด Texture ให้บริโภคเนื่้อที่ของหน่วยควารมจำน้อยลง ในขณะที่คุณภาพนั้นยังเทียบเท่าต้นฉบับ
ซึ่งการบีบอัด high dynamic range (HDR) จะทำผ่านชุดคำสั่ง Block compression 6 (BC6) ในอัตราส่วน 6:1 ส่วน 8-bit Low dynamic range (LDR) จะทำผ่าน Block compression 7 (BC7) ในอัตราส่วน 7:1

Conclusion
"งานนี้ผมว่าเวริคมากท่านผู้อ่าน" เพราะถึงแม้ชุดคำสั่ง DirectX 11 หลายๆ ตัวจะนำชุดคำสั่งจาก DirectX 10 และ 10.1 มาแก้ไขปรับปรุงเสียเป็นส่วนใหญ่ แต่ผมก็เชื่อว่า การที่ Microsoft เลือกที่จะทำแบบนั้นก็เพราะว่าเจ้า DirectX 10 ที่มากับ Microsoft Windows Vista นั้นค่อนข้างยอดเยี่ยมในตัวเองอยู่แล้ว เพียงแต่ข้อเสียหลักๆ ของ DirectX 10 นั้นอยู่ที่ตัว OS ซึ่งกินทรัพยากรเครื่องมากกว่าตัวชุดคำสั่ง ซึ่งแน่นอนว่าการที่ Microsoft เลือกพัฒนาปรับปรุง DirectX 10 และ 10.1 และเปลี่ยนชื่อไปเป็น DirectX 11 แทนที่จะเริ่มคิดค้นชุดคำสั่งขึ้นมาใหม่ทั้งหมด ก็เพราะว่าหลังจากที่เจ้า Microsoft Windows 7 Beta ตัวแรกออกมาให้ทดสอบและคนส่วนใหญ่ให้การตอบรับดี (เนื่องจากความเสถียรที่เพิ่มมากกว่า Vista หลายเท่า) Microsoft พยายามจะพิสูจน์ความสามารถของ DirectX 10 และ 10.1 อีกครั้ง เนื่องจากมันเป็น DirectX ที่ดีแต่ดันมาอยู่ผิดที่ผิดเวลา ทำให้ไม่มีผู้ใดสนใจมันเท่าที่ควร แต่ในตอนนี้ Microsoft Windows ที่ดูจะเหมาะสมกับชุดคำสั่ง DirectX เหล่านั้นได้เกิดขึ้นมาแล้ว Microsoft ก็เลยอยากขอเสี่ยงอีกสักที แต่ทั้งนี้จะเสี่ยงทั้งที่ จะใช้ชุดคำสั่งเดิมๆ ก็คงจะไม่ดีแน่นอน ทำให้ Microsoft ต้องคิดค้นพัฒนาเจ้า DirectX 10 และ 10.1 ให้ดียิ่งขึ้น โดยเฉพาะจุดอ่อนหลายๆ จุดที่ทางบริษัทเคยได้บทเรียนมา จนเกิดเป็น DirectX 11 ในที่สุด ซึ่งผมเชื่อว่าสิ่งที่จะพิสูจน์ความสำเร็จของเจ้า DirectX 11 นั้นก็คือ เวลาและความสามารถของเจ้าตัวชุดคำสั่งและตัวระบบปฏิบัติการณ์เองว่าจะสามารถ เอาใจคนได้อยู่หมัดเหมือนครั้งที่ DirectX 9 กับ Microsoft Windows XP เคยทำมาแล้ว...
ข้อมูลอ้างอิง: guru3d.com, techblog.in.th
บทความโดย Dorapenguin@gamertechzone.com

ชำแหละ!! DirectX 11 อีกหนึ่งอาวุธคู่กายตัวต่อไปของเกมเมอร์
ตอนที่ Microsoft Windows 7 เปิดตัว BETA ให้คนทั่วไปได้ทดสอบ สิ่งหนึ่งที่เปลี่ยนแปลงไปนอกจากความเร็วและความสเถียรที่เพิ่มมากขึ้นนั่น ก็คือ ชุดคำสั่งกราฟฟิกการ์ดตัวใหม่นามว่า DirectX 11 โดยเจ้า DirectX 11 ถ้าพูดแล้วมันก็เป็นเพียงชุดคำสั่งกราฟฟิกการ์ดที่พัฒนาต่อยอดมาจาก DirectX 10.1 ซึ่งแน่นอนว่าคนส่วนใหญ่มักมองว่า DirectX เป็นตัวสร้างภาพให้สวย ซึ่งในความคิดของผมๆ ว่า คนเหล่านั้นมองแคบเกินไป เพราะ DirectX ไม่ได้เป็นตัวทำให้เกิดภาพ แต่ DirectX เป็นเหมือนห้องสมุดให้นักเขียนโปรแกรมเลือกใช้คำสั่ง และส่งข้อมูลที่ถูกคัดเลือกนั้นไปให้การ์ดจอเป็นผู้ประมวลผล ซึ่งเจ้า DirectX มีคำสั่งหลักๆ ที่ใช้ในการทำงานดังนี้
* DirectDraw (DDraw) ใช้วาดภาพ 2 มิติ
* Direct3D (D3D) ใช้วาดภาพ 3 มิติ ซึ่งแบ่งย่อยได้อีก 2 ประเภทคือ
- Direct3DRM (Retained Mode) (D3DRM) ใช้วาดภาพ 3 มิติแบบง่าย
- Direct3DIM (Immediate Mode) (D3DIM) ใช้วาดภาพ 3 มิติ แบบยาก
* DirectInput (DXInput) เป็นการรับข้อมูลจากอุปกรณ์ input ทั้งหมด เช่น keyboard mouse และ joystick
* DirectSound (DXSound) ส่วนในการสร้างเสียงต่างๆ
* DirectPlay (DXPlay) เป็นตัวควบคุมระบบ Multiplayer
ซึ่งในปัจจุบันหลังจาก Microsoft Windows 7 และ ATI Radeon HD 5800 Sereis ออกวางจำหน่ายกระแส DirectX 11 กำลัง
จะกลับมาฮอตฮิตเหมือนครั้งที่ DirectX 10 วางจำหน่ายอีกครั้ง ซึ่งผมเห็นฝรั่งหลายคนพูดถึง DirectX 11 ในทางดีก็มากทางร้ายก็มาก เพราะฉะนั้นวันนี้ผมจึงอยากอาสาพาคนไทยทุกท่านไปชำแหละเจ้าชุดคำสั่ง DirectX 11 กันครับว่ามันจะดีจะเลวตามที่ฝรั่งเขากล่าวกันไหม
เกมใดในปัจจุบันรองรับ DirectX 11
Aliens vs. Predator (Q1 2010)
BattleForge (Now)
DiRT 2 (December 2009)
S.T.A.L.K.E.R: Call of Pripyat (Now)
Lord of the Rings Online (Q1 2010)
Dungeons and Dragons Online Eberron Unl.
Alan Wake (Coming in 2010-2011)
Ghengis Khan MMO
Frostbite 2 Engine
Unigene engine
VisioN engine
เริ่มชำแหละ!!
มีอะไรใหม่ใน DirectX 11
* Shader model 5.0
* Multi-threading
* DirectCompute 11 - Physics and AI
* Hardware Tessellation
* Better shadows
* HDR Texture compression
Shader model 5.0
ชุดคำสั่ง DirectX 11 จะมาพร้อมคำสั่ง Shader model เวอร์ชั่น 5 ที่มีการพัฒนาในส่วน High Level Shader Language ให้ดีกว่าเวอร์ชั่น 4 ทำให้ภาพที่แสดงออกมามีความลึกและมิติที่เพิ่มมากขึ้น
Multi-threading
ใน DirectX ก่อนหน้าเวลามีการประมวลผลกราฟฟิก ข้อมูลบางส่วนจะต้องถูกส่งไปให้ซีพียูช่วยประมวลผล ซึ่งแน่นอนว่าเราจะเสียแกนซีพียูไปหนึ่งแกนเต็มๆ แต่ใน DirectX 11 จะมีการปรับปรุงชุดคำสั่งนี้ให้ดียิ่งขึ้น ทำให้ API (Application Programming Interface) สามารถกระจายข้อมูลกราฟฟิกไปตามคอร์ต่างๆ ในซีพียูอย่างเท่าเทียมกัน ทำให้ซีพียูไม่เกิด Over Load ในแกนใดแกนหนึ่ง ซึ่งมีผลให้การประมวลผลจะทำงานได้รวดเร็วยิ่งขึ้น สำหรับคุณสมบัตินี้ใครที่ใช้การ์ดจอที่รองรับ DirectX 10.1 และระบบปฏิบัติการณ์ Microsoft Windows 7 ก็สามารถเปิดใช้งานได้เช่นกัน
DirectCompute 11 - Physics and AI
เดิมที GPU จะทำหน้าที่ประมวลผลกราฟฟิกเพียงอย่างเดียว แต่ด้วยชุดคำสั่ง DirectCompute 11 ตัวใหม่ล่าสุดนี้จะทำให้ GPU ของคุณแปรเปลี่ยนเป็นซีพียู (ตัวอย่าง: PhysX by NVIDIA หรือ ATI Stream) เพื่อช่วยประมวลผลด้านฟิสิกส์และ AI ได้ เพราะอย่างที่ทราบกันว่าเทคโนโลยีด้าน Processor ของ GPU นั้นเติบโตเร็วมากกว่าซีพียูหลายเท่า อีกทั้งปัจจุบันระบบฟิสิกส์รวมถึง AI ต่างๆภายในเกมมีความซับซ้อนมากยิ่งขึ้น ซึ่งถ้าการประมวลผลด้านนี้ตกเป็นภาระของซีพียูเพียงอย่างเดียว แน่นอนว่าอนาคตซีพียูจำนวน 8 คอร์อาจไม่เพียงพอต่อความต้องการของระบบ เพราะฉะนั้นระบบนี้จะมาช่วยแบ่งเบาภาระของซีพียูและทำให้ซีพียูสามารถไป ประมวลผลด้านอื่นๆ ได้เพิ่มขึ้น
อีกทั้งนอกจากชุดคำสั่งดังกล่าวจะช่วยประมวลผลด้านฟิสิกส์และ AI แล้ว ชุดคำสั่งดังกล่าวยังสามารถจัดการเรื่องการเรนเดอร์ภาพในขั้น Post Processing (image processing และ filtering) ซึ่งมีผลให้ภาพมีความสดใสและชัดเจนอีกทั้งในอนาคตชุดคำสั่งนี้อาจถูกใช้ เพิ่มประสิทธิภาพในการเรนเดอร์ภาพของโปรแกรมต่างๆ เช่น Flash 10.1 หรือโปรแกรมในชุด Adobe อีกด้วย
มาถึงชุดคำสั่งที่น่าสนใจและถือว่าเป็นชุดคำสั่งใหม่ล่าสุดของ DirectX 11 นั่นก็คือ Hardware Tessellation โดยชุดคำสั่งนี้จะสั่งให้กราฟฟิกการ์ดประมวลผลก้อนโฟลิกอนบนวัตถุ 3 มิติได้ละเอียดมากขึ้นกว่าเดิม ซึ่งปกติถ้าเราสังเกตเกม 3 มิติในปัจจุบันจะพบว่า ส่วนโค้งของตัวละครในเกมปัจจุบันจะยังออกเหลี่ยมๆ ไม่เรียบ แต่ถ้ามีการใช้ Hardware Tessellation เข้ามาช่วยเพิ่มจำนวนโพลิกอนสามเหลี่ยมให้มากขึ้น มุมเหลี่ยมของตัวละครจะหายไป ทำให้เกิดส่วนโค้งที่สวยงามและเหมือนจริงมากยิ่งขึ้น
HDR Texture compression
จากชุดคำสั่งต่างๆ ที่ผ่านมาทำให้คุณภาพ Texture รวมถึงจำนวนโพลิกอนมีขนาดที่มากขึ้น ซึ่งแน่นอนถ้าไม่มีระบบหรือชุดคำสั่งมาช่วยประมวลผลในส่วนนี้ จะทำให้ชุดคำสั่งดังกล่าวกินทรัพยากรของการ์ดจอค่อนข้างมาก เพราะฉะนั้นชุดคำสั่ง HDR Texture compression จะช่วยในการบีบอีด Texture ให้บริโภคเนื่้อที่ของหน่วยควารมจำน้อยลง ในขณะที่คุณภาพนั้นยังเทียบเท่าต้นฉบับ
ซึ่งการบีบอัด high dynamic range (HDR) จะทำผ่านชุดคำสั่ง Block compression 6 (BC6) ในอัตราส่วน 6:1 ส่วน 8-bit Low dynamic range (LDR) จะทำผ่าน Block compression 7 (BC7) ในอัตราส่วน 7:1
Conclusion
"งานนี้ผมว่าเวริคมากท่านผู้อ่าน" เพราะถึงแม้ชุดคำสั่ง DirectX 11 หลายๆ ตัวจะนำชุดคำสั่งจาก DirectX 10 และ 10.1 มาแก้ไขปรับปรุงเสียเป็นส่วนใหญ่ แต่ผมก็เชื่อว่า การที่ Microsoft เลือกที่จะทำแบบนั้นก็เพราะว่าเจ้า DirectX 10 ที่มากับ Microsoft Windows Vista นั้นค่อนข้างยอดเยี่ยมในตัวเองอยู่แล้ว เพียงแต่ข้อเสียหลักๆ ของ DirectX 10 นั้นอยู่ที่ตัว OS ซึ่งกินทรัพยากรเครื่องมากกว่าตัวชุดคำสั่ง ซึ่งแน่นอนว่าการที่ Microsoft เลือกพัฒนาปรับปรุง DirectX 10 และ 10.1 และเปลี่ยนชื่อไปเป็น DirectX 11 แทนที่จะเริ่มคิดค้นชุดคำสั่งขึ้นมาใหม่ทั้งหมด ก็เพราะว่าหลังจากที่เจ้า Microsoft Windows 7 Beta ตัวแรกออกมาให้ทดสอบและคนส่วนใหญ่ให้การตอบรับดี (เนื่องจากความเสถียรที่เพิ่มมากกว่า Vista หลายเท่า) Microsoft พยายามจะพิสูจน์ความสามารถของ DirectX 10 และ 10.1 อีกครั้ง เนื่องจากมันเป็น DirectX ที่ดีแต่ดันมาอยู่ผิดที่ผิดเวลา ทำให้ไม่มีผู้ใดสนใจมันเท่าที่ควร แต่ในตอนนี้ Microsoft Windows ที่ดูจะเหมาะสมกับชุดคำสั่ง DirectX เหล่านั้นได้เกิดขึ้นมาแล้ว Microsoft ก็เลยอยากขอเสี่ยงอีกสักที แต่ทั้งนี้จะเสี่ยงทั้งที่ จะใช้ชุดคำสั่งเดิมๆ ก็คงจะไม่ดีแน่นอน ทำให้ Microsoft ต้องคิดค้นพัฒนาเจ้า DirectX 10 และ 10.1 ให้ดียิ่งขึ้น โดยเฉพาะจุดอ่อนหลายๆ จุดที่ทางบริษัทเคยได้บทเรียนมา จนเกิดเป็น DirectX 11 ในที่สุด ซึ่งผมเชื่อว่าสิ่งที่จะพิสูจน์ความสำเร็จของเจ้า DirectX 11 นั้นก็คือ เวลาและความสามารถของเจ้าตัวชุดคำสั่งและตัวระบบปฏิบัติการณ์เองว่าจะสามารถ เอาใจคนได้อยู่หมัดเหมือนครั้งที่ DirectX 9 กับ Microsoft Windows XP เคยทำมาแล้ว...
ข้อมูลอ้างอิง: guru3d.com, techblog.in.th
บทความโดย Dorapenguin@gamertechzone.com