ทำไมเกมพีซีทุกเกมจึงติดตั้ง DirectX เป็นของตัวเอง?

DirectX เป็นส่วนหนึ่งของระบบปฏิบัติการ Windows แล้วทำไมดูเหมือนว่าเกมพีซีทุกเกมที่คุณติดตั้งจาก Steam, Origin หรือที่อื่น ๆ จะติดตั้งสำเนา DirectX ของตัวเอง?

DirectX คืออะไร?

DirectX เป็นส่วนหนึ่งของ Microsoft Windows เป็นกลุ่มของ API (อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน) ที่สามารถใช้สำหรับคุณสมบัติกราฟิก 3 มิติวิดีโอมัลติมีเดียเสียงและเกมแพดบน Windows เกมจำนวนมากบน Windows ใช้ Direct3D ของ DirectX สำหรับกราฟิก หากไม่เป็นเช่นนั้นจะใช้ OpenGL ข้ามแพลตฟอร์มหรือ Vulkan API แทน แอปพลิเคชันอื่น ๆ ที่ไม่ใช่เกมอาจใช้ DirectX สำหรับคุณสมบัติเช่นกราฟิก 3 มิติ

Windows 7 ประกอบด้วย DirectX 11 และ Windows 10 รวม DirectX 12 เมื่อนักพัฒนากำลังพัฒนาเกมพวกเขาเลือกเวอร์ชัน DirectX ที่ต้องการกำหนดเป้าหมาย ตัวอย่างเช่นเกมที่เขียนขึ้นเฉพาะสำหรับ DirectX 11 จะไม่ทำงานบน Windows XP ซึ่งเวอร์ชันล่าสุดที่มีให้คือ DirectX 9

ที่เกี่ยวข้อง: วิธีใช้ DirectX Diagnostic ใน Windows

คุณสามารถตรวจสอบเวอร์ชันของ DirectX ที่มีในระบบของคุณได้โดยคลิกปุ่มเริ่มพิมพ์“ dxdiag” ลงในช่องค้นหาแล้วกด Enter เมื่อหน้าต่าง DirectX Diagnostic Tool ปรากฏขึ้นคุณจะเห็นหมายเลขเวอร์ชันปรากฏทางด้านขวาของ“ เวอร์ชัน DirectX” ภายใต้“ ข้อมูลระบบ”

หากรวมอยู่ใน Windows ทำไมเกมถึงติดตั้ง?

ดังนั้นถ้า DirectX เป็นส่วนหนึ่งของ Windows ทำไมเกมถึงติดตั้งตั้งแต่แรก? คำตอบสั้น ๆ คือการติดตั้ง DirectX เป็นเรื่องยุ่ง

ไม่มีเกมไลบรารี DirectX Direct3D เพียงเกมเดียวที่ขึ้นอยู่หรือแม้แต่เพียงหยิบมือ นักพัฒนาเกมต้องกำหนดเป้าหมายไลบรารีตัวช่วย Direct3D ในเวอร์ชันที่แน่นอน ไม่สามารถใช้ไลบรารีเวอร์ชันล่าสุดได้ ตัวอย่างเช่นหากนักพัฒนาเกมกำหนดเป้าหมายเกมของตนที่ d3ddx10_40.dll เกมจะไม่สามารถใช้ d3ddx10_41.dll ต้องใช้เวอร์ชัน 40 และมีเพียงไฟล์นั้นเท่านั้นที่ทำได้

คุณจะพบไฟล์เหล่านี้ในโฟลเดอร์ C: \ Windows \ System32 ในระบบของคุณ ในระบบ 64 บิตไลบรารี 64 บิตจะอยู่ใน C: \ Windows \ System32 และไลบรารี 32 บิตจะอยู่ใน C: \ Windows \ SysWOW64

แม้ว่าคุณจะเรียกใช้โปรแกรมติดตั้ง DirectX ล่าสุด แต่ก็ไม่มีการรับประกันว่าจะติดตั้งไลบรารี DirectX เวอร์ชันรองรุ่นเก่าทั้งหมดในระบบของคุณ Microsoft ยังเลือกที่จะไม่รวมไฟล์ไลบรารี Direct3D เหล่านี้กับ Windows ด้วยเช่นกัน แม้แต่ไลบรารี Direct3D ที่สร้างขึ้นก่อนที่ Windows 10 จะวางจำหน่ายก็ไม่ได้รวมอยู่ใน Windows 10 ทั้งหมด แต่ต้องติดตั้งโดยแอปพลิเคชันที่ต้องการ ดังที่ Microsoft บันทึกไว้ในเอกสารสำหรับนักพัฒนาเกม“ Windows Update และ Service Packs ไม่ได้ให้ส่วนประกอบเสริมใด ๆ ของ DirectX”

มันซับซ้อนกว่านั้นด้วยซ้ำ เกม 32 บิตต้องใช้ไฟล์ไลบรารีเวอร์ชัน 32 บิตและเกม 64 บิตต้องใช้ไลบรารี 64 บิต

ที่เกี่ยวข้อง: เหตุใดจึงมี "Microsoft Visual C ++ Redistributables" จำนวนมากติดตั้งบนพีซีของฉัน

สิ่งนี้คล้ายกับสถานการณ์กับไลบรารี Microsoft Visual C ++ Redistributable แอปพลิเคชันที่แตกต่างกันขึ้นอยู่กับไลบรารีเวอร์ชันต่างๆและคุณต้องติดตั้งเวอร์ชันต่างๆ มีโอกาสดีที่คุณจะมีสิ่งเหล่านี้ติดตั้งอยู่ในระบบของคุณด้วยเช่นกัน

แต่ทำไมเกมพีซีทุกเกมต้องติดตั้งใหม่?

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

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

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

แน่นอนว่าไม่ใช่ทุกเกมที่จะต้องเรียกใช้โปรแกรมติดตั้ง DirectX เมื่อคุณเปิดตัวครั้งแรก เกมที่ใช้ OpenGL หรือ Vulkan แทนที่จะเป็น Direct3D ของ DirectX ไม่จำเป็นต้องเรียกใช้ เกมบางเกมขึ้นอยู่กับ DirectX เวอร์ชันหลัก ๆ เช่น DirectX 11, 10 หรือ 9 และไม่จำเป็นต้องเรียกโปรแกรมติดตั้ง DirectX เนื่องจากไม่ได้ใช้ไลบรารีตัวช่วยใด ๆ เหล่านี้

ฉันสามารถลบบางส่วนของไลบรารีเหล่านี้ได้หรือไม่?

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

ปล่อยไว้คนเดียว! มีเหตุผลที่ไม่มีวิธีที่รองรับอย่างเป็นทางการในการถอนการติดตั้งไฟล์ไลบรารีเหล่านี้ พวกเขาจะไม่ก่อให้เกิดปัญหาใด ๆ ในระบบของคุณและจะถูกใช้โดยแอพพลิเคชั่นที่ต้องการเท่านั้น

หากคุณหมดหวังที่จะล้างไลบรารีเก่าเหล่านี้จริงๆคุณควรติดตั้ง Windows ใหม่เพื่อให้ได้ระบบใหม่แทนที่จะลบไฟล์ไลบรารีแบบสุ่ม แต่จะเริ่มปรากฏขึ้นอีกครั้งที่นี่หลังจากที่คุณติดตั้งเกมแล้ว อย่าเพิ่งกังวลไป

ฉันจะทำอย่างไรหากฉันมีปัญหา DirectX

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

คุณอาจสามารถเข้าไปในโฟลเดอร์ของเกมในระบบของคุณหรือบนแผ่นดิสก์การติดตั้งของเกมค้นหาไฟล์. exe ตัวติดตั้ง DIrectX และเรียกใช้เพื่อแก้ไขปัญหา โดยทั่วไปไฟล์นี้มีชื่อว่า DXSETUP.exe

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