Unity ใน Windows 8.1 ประสบปัญหาในการเลือกใช้งานระหว่าง กราฟฟิคออนบอร์ดกับการ์ดจอแยกครับ และทำให้โปรแกรม Unity ปิดตัวหลังในช่วงที่กำลัง Import ไฟล์ภาพ คอมพิวเตอร์ปัจจุบันนั้นได้มีการฝังระบบการประมวลผลกราฟฟิคลงไปใน CPU โดยตรง ซึ่งทำให้นับได้ว่าคอมพิวเตอร์ในสองปีที่ผ่านมานั้นมีกราฟฟิคออนบอร์ดติดตัวไว้ตลอดครับ ถึงแม้เราจะใช้งานกราฟฟิคการ์ดที่แยกตัวออกมาต่างหากก็ตาม ตรงจุดนี้เราสามารถแก้ไขได้สองวิธี
1.ปิดการทำงานของกราฟฟิคออนบอร์ดใน Bios (วิธีการปิดจะแตกต่างกันไปตามระบบ Bios ของแต่ละเมนบอร์ด ต้องใช้คู่มือของเมนบอร์ดนั้่นๆในการปิดการทำงานของกราฟฟิคออนบอร์ดครับ)
2.บังคับให้ Unity รันโปรแกรมด้วย DirectX 10 หรือ 11*
ขั้นตอนวิธีการแก้ให้ Unity รันบน DirectX ที่ต้องการครับ
- ให้ทำการ คลิกขวาที่ ไอคอนของ unity แล้วเลือก properties
- จากนั้นที่ช่อง Target : ให้เพิ่มคำสั่ง -force-d3d11 สำหรับDirectX 11 และ -force-d3d10 สำหรับ DirectX10 หลัง "Unity_Path\Unity.exe"
เท่านี้ก็จะสามารถเปิด Unity ใน Windows 8.1 ได้แล้วครับ
* วิธีการบังคับให้ Unity รันบน DirectX ที่ต้องการนั้นเป็นตัวเลือกที่ดีที่สุด แต่การบังคับใช้ DirectX11 นั้นจะทำให้การทำงานของ Shaderที่ดัดแปลงเอง หรือระบบเรนเดอร์บางตัวนั้นผิดเพี้ยนไป หากพบว่าภาพนั้นผิดเพี้ยนไปจากเดิม ก็ใช้คำสั่ง -force-d3d10 บังคับให้รันด้วย DirectX10 ครับ
แต่ถ้าหากว่าใช้ Shader ที่ Uinty มีให้ หรือ Shader พิเศษที่รองรับการแสดงผลด้วย DirectX 11 อยู่แล้ว จะไม่เกิดปัญหาใดๆ ก็จะแนะนำให้รันบน DirectX11 ครับ