
แรงบัลดาลใจของผมในการเริ่มต้นเขียนบทความนี้ก็สืบเนื่องมาจากเมื่อราวๆ สองอาทิตย์ก่อนเจ้าเพื่อนรักของผมคนนึงได้โทรศัพท์มาถามผมเกี่ยวกับการเลือก ซื้อการ์ดแสดงผลตัวใหม่ ซึ่งเพื่อนคนนี้ก็ได้เล่าให้ผมฟังว่าตอนที่ไปสอบถามราคาการ์ดที่ได้หมายปอง ไว้ที่ร้านค้าแห่งหนึ่งนั้นก็ได้รับข้อแนะนำในการเลือกซื้อจากทางร้านว่า “พี่ๆ ซื้อการ์ดรุ่นใหม่ตัวนี้ดีกว่า สนับสนุน Directx 11 ด้วยนะ การ์ดที่พี่จะซื้อที่เป็นของอีกค่ายนึงมันยังไม่สนับสนุน Directx ตัวใหม่ตัวนี้นะ เกมส์ใหม่ๆ ที่กำลังทยอยๆ ออกมา มันก็มีแนวโน้มที่จะหันไปใช้ Directx 11 กันหมด แล้วถ้าการ์ดจอของพี่ยังเป็นรุ่นเก่าๆ อยู่เครื่องพี่ก็จะเล่นเกมส์ได้ไม่สวยเท่าเครื่องที่มีการ์ดจอตัวใหม่ตัวนี้ นะ...” งานเข้าล่ะสิครับสำหรับเพื่อนผม ประโยคนึงเจอคำว่า Directx ไปซะหลายชุด หลังจากนั้นมันก็ได้ติดสินใจเดินออกจากร้านแล้วก็โทรมาหาผมเพื่อถามไถ่ เกี่ยวกับเจ้า Directx นี่ล่ะว่ามันคืออะไรกันนักหนา แล้วมันมีความสำคัญเกี่ยวกับการเล่นเกมส์อย่างไร จากคำถามที่ได้รับนั้นก็เลยได้แนวคิดที่ว่าน่าจะลองเขียนบทความอธิบาย Directx ดูให้ผู้ที่สนใจได้ศึกษาและสามารถนำไปต่อยอดได้ เพราะฉะนั้นลักษณะของบทความนี้ก็ใช้วิธีการบรรยายปนๆ เล่าเรื่องราวของเจ้า Directx นี้ให้มีรูปแบบที่อ่านง่ายสำหรับมือใหม่ แต่ก็จะมีการใช้ศัพท์แสงทางเทคนิคสอดแทรกไปบ้างเพื่อเอาใจมือเก๋าให้สามารถ ไปค้นคว้าเสริมต่อความรู้กัน บทความนี้จะมีการแบ่งทั้งหมด 3 ส่วนย่อยด้วยกันนะครับ ส่วนแรกก็จะเป็นการอธิบายว่า Directx คืออะไร มีความสำคัญอย่างไร ส่วนที่สองก็จะเป็นประวัติของ Directx อย่างคร่าวๆ ตลอดจนการเปลี่ยนแปลงที่สำคัญในแต่ละ version และส่วนสุดท้ายนั้นก็จะขอเน้นไปที่ความสามารถของ Directx 11 ที่กำลังเป็นที่สนใจในวงการ hardware อยู่ในขณะนี้ เอาล่ะครับเริ่มกันเลยดีกว่า
Directx มันคืออะไรกันรึ? ความหมายของ Directx นั้นถ้าจะให้อธิบายแบบวิชาการสั้นๆ ก็คือชุด APIs (Application Programming Interfaces) ของบริษัท Microsoft ที่อนุญาตให้ Software (เช่น เกมคอมพิวเตอร์) สามารถพูดคุยกับ Hardware (เช่น การ์ดแสดงผล) กันได้รู้เรื่อง ถ้าจะให้อธิบายแบบบ้านๆ ก็ลองจินตนาการถึงแซนด์วิชดู ใช่แล้วครับเจ้าขนมปังสองแผ่นประกบกันนั่นแล โดยที่ขนมปังชิ้นนึงเป็น Software ส่วนอีกชิ้นนึงเป็น Hardware เจ้าพวกไส้ในที่อยู่ตรงกลางนั้นนั่นแหละครับคือ API หรือไม่ก็พวก Driver ต่างๆ โดยที่เจ้าไส้ในพวกนั้นจะทำหน้าที่เป็นตัวกลางในการติดต่อสื่อสารระหว่าง Hardware กับ Software ฉะนั้นแล้วแทนที่ Programmer จะทำการเขียนโปรแกรมของตัวเองให้สนับสนุน Hardware ตัวใดหนึ่งในท้องตลาดหรือทุกตัว! ซึ่งใช้เวลานานและสิ้นเปลืองทรัพยากรมาก ก็มาเขียนให้ Software ของตัวเองสนับสนุนกับระบบปฎิบัติการ ( Operating System) ซึ่งประกอบไปด้วย Driver และ API ต่างๆ ซึ่งจะทำหน้าที่เป็นตัวกลางในการส่งคำสั่งที่ร้องขอโดย software ไปที่ hardware ให้ตรงกับที่ software ต้องการโดยที่ Programmer นั้นไม่จำเป็นต้องรู้ว่าผู้ใช้งานมี hardware ใดๆ บ้าง ซึ่งวิธีการนี้นั้นทั้งสะดวก และประหยัดเวลากว่ากันมากสำหรับทั้ง programmer และ ผู้ใช้งานทั่วไป (นักเล่นเกมลายครามอายุ 20 ปีขึ้นไปที่เกิดทันยุค MS-DOS น่าจะยังพอจำกันได้นะครับกับวันวานที่พวกเราต้องต้องมาเสียเวลาร่วมครึ่งวัน ในการตั้งค่า hardware ต่างๆ บนหน้าจอเมนูสีฟ้าๆ ก่อนที่จะเข้าไปไล่เตะก้นสัตว์ประหลาดใน Duke Nukem นั่นแหละครับเวลาที่เรายังไม่มีตัวกลางในการติดต่อสื่อสารระหว่าง hardware และ software ผลก็คือผู้ใช้งานตาดำๆ ต้องมานั่งตั้งค่าให้เกมและเครื่องของเราให้เข้าใจตรงกันเอาเอง) ซึ่งภายในตัว Directx เองนั้นก็จะประกอบไปด้วย API ย่อยๆ มากมายเช่น Direct3D, DirectDraw, DirectSound เป็นต้น
ผมแนะนำให้เพื่อนๆ ทำการลง Directx ตัวล่าสุดเท่าที่จะทำได้นะครับเพื่อประสิทธิภาพในการใช้งานสูงสุด ซึ่งในปัจจุบันนี้นั้นทางบริษัท Microsoft นั้นก็ได้ทำการพัฒนาไปจนถึงเวอร์ชั่น 11 แล้ว โดยที่ระบบปฏิบัติการที่ Directx ตัวนี้สนับสนุนก็ได้แก่ Windows Vista และ server 2008 ซึ่งเพื่อนสามารถลง Directx ตัวล่าสุดนี้ได้ผ่านทาง Windows Update ได้เลยหรือจะ download มาลงเองโดยตรงก็ได้ และสำหรับผู้ที่ใช้ Windows 7 นั้นก็ไม่ต้องหาจากที่ไหนแล้วล่ะครับเพราะ Directx 11 นั้นได้มาพร้อมกับตัว Windows 7 เองเลย สำหรับผู้ที่อยากทราบว่าเครื่องของตัวเองนั้นมี Directx เวอร์ชั่นอะไรอยู่ก็สามารถดูได้โดยไปที่ Start --> Run แล้วพิมพ์คำว่า Dxdiag (สำหรับ Vista และ 7 นั้นให้ไปที่ Start --> All programs --> accessories --> run) แล้วตรงด้านล่างบนหน้าจอ DirectX Diagnostic Tool นั้นเพื่อนๆ ก็จะเห็นว่าเครื่องของตัวเองใช้ Directx เวอร์ชั่นอะไรอยู่ และด้านล่างนั้นเป็นตารางแสดง Directx เวอร์ชั่นต่างๆ ตั้งแต่อดีตถึงปัจจุบันโดยพร้อมกับระบุว่าเวอร์ชั่นไหนมาพร้อมกับ Windows อะไร
0 ความคิดเห็น:
แสดงความคิดเห็น