Tại sao mỗi lần cài game bạn lại phải cài thư viện DirectX?

DirectX là một phần của hệ điều hành Windows. Vậy thì tại sao mỗi lần cài game (từ Steam, Origin...) bạn lại phải cài một bản DirectX khác do chính game đó cung cấp?

Tại sao mỗi lần cài game bạn lại phải cài thư viện DirectX?

DirectX là gì?

Tại sao mỗi lần cài game bạn lại phải cài thư viện DirectX? 2

DirectX là một phần của hệ điều hành Windows, gồm một tập hợp các hàm API (giao diện chương trình ứng dụng) mà các nhà phát triển có thể tận dụng vào các tính năng liên quan đồ hoạ 3D, video, multimedia, âm thanh, và gamepad trên Windows. Rất nhiều game trên Windows sử dụng Direct3D của DirectX cho đồ hoạ, nếu không thì chúng sẽ phải sử dụng các hàm đa nền tảng khác như OpenGL hoặc Vulkan. Các ứng dụng khác (không phải game) có thể sử dụng DirectX cho các tính năng liên quan đồ hoạ 3D.

Windows 7 đã được tích hợp sẵn DirectX 11, còn Windows 10 là DirectX 12. Khi các nhà phát triển làm game, họ sẽ chọn một phiên bản DirectX nhất định làm nền tảng. Game được viết trên nền tảng DirectX 11 sẽ không thể chạy trên Windows XP vốn chỉ hỗ trợ tối đa DirectX 9.

Kiểm tra phiên bản DirectX bằng cách: nhấn Windows + R, gõ lệnh "dxdiag" và nhấn Enter. Phiên bản DirectX hiển thị ở mục DirectX Version trong thẻ System.

Tại sao mỗi lần cài game bạn lại phải cài thư viện DirectX? 3

Sự phức tạp của việc cài đặt DirectX

Đối với hệ thống 32-bit, các file của DirectX được đặt trong thư mục C:\Windows\System32. Đối với hệ thống 64-bit, các file 64-bit được đặt trong thư mục C:\Windows\System32, còn các file 32-bit thì lại được đặt trong thư mục C:\Windows\SysWOW64 (thật là ngược đời!). Các game 32-bit cần các file thư viện phiên bản 32-bit, còn các game 64-bit lại cần các file thư viện phiên bản 64-bit.

Tại sao mỗi lần cài game bạn lại phải cài thư viện DirectX? 4

Có thể thấy, thư viện Direct3D của DirectX có rất nhiều file thư viện với các phiên bản khác nhau. Một game có thể chỉ cần một file thư viện nhất định, trong khi một số game khác lại yêu cầu nhiều thư viện khác nhau; và nếu thiếu các file thư viện đó thì game không thể chạy được. Ví dụ, nếu một game cần file d3ddx10_40.dll, bạn cần cài đặt đúng file đó chứ không phải file d3ddx10_41.dll.

Tuy nhiên, Microsoft không tích hợp tất cả các file thư viện nêu trên trong Windows, và ngay cả khi bạn chạy file cài đặt của DirectX mới nhất, chưa chắc bộ cài này có chứa file Direct3D mà bạn cần. Microsoft đã nêu rõ trong tài liệu dành cho các nhà lập trình game là: "Windows Update và Service Packs sẽ không bao gồm các thành phần DirectX không quan trọng". Do đó nếu một game hay ứng dụng cần một file thư viện Direct3D cụ thể thì chúng phải tự cài đặt các file đó vào hệ thống trong quá trình cài đặt.

Vấn đề đối với DirectX cũng xảy ra đối với các thư viện Microsoft Visual C++ Redistributable. Các ứng dụng khác nhau sẽ yêu cầu các phiên bản thư viện khác nhau, do đó đừng thấy lạ khi bạn thấy một dãy các phiên bản Visual C++ được cài trong máy bạn.

Tóm lại, mỗi game khi cài đặt phải tự cài đặt các file Direct3D cần thiết để có thể chạy được

Tại sao mỗi lần cài game bạn lại phải cài thư viện DirectX? 5

Vậy đôi lúc, bạn nhớ rõ ràng bạn đã cài đủ DirectX rồi, và game vẫn tự động cài lại. Tại sao?

Bởi vì chỉ có bộ cài DirectX chính thức của Microsoft là có khả năng kiểm tra file thư viện Direct3D, còn bộ cài game không thể kiểm tra được có phải file Direct3D bạn có sẵn đúng với phiên bản nó cần hay không. Do đó, nó phải chạy bộ cài DirectX có chứa file thư viện nó cần, đồng thời "tranh thủ" giúp bạn sửa lỗi các file thư viện khác bằng cách chép đè lên các file có sẵn luôn.

Như đã nói ở trên, chỉ có bộ cài DirectX chính thức của Microsoft mới cho phép các lập trình viên "thả" file thư viện họ cần vào hệ thống. Các lập trình viên không thể qua mặt hệ thống bằng cách cài file bằng một bộ cài khác được vì làm như vậy sẽ vi phạm giấy phép phần mềm của Microsoft, đồng thời kéo theo nhiều lỗi không đáng có.

Tất nhiên, không phải game nào cũng chạy bộ cài DirectX mỗi khi cài đặt, bởi hiện nay nhiều game được phát triển trên nền OpenGL hoặc Vulkan. Một số game khác chỉ yêu cầu các file cơ bản của DirectX vốn được tích hợp sẵn trong DirectX 9, 10 hay 11 và không cần cài thêm file thư viện DirectX nào khác.

Có thể xoá bỏ các file thư viện DirectX không?

Rõ ràng là không. Nếu một file thư viện DirectX xuất hiện trong hệ thống có nghĩa là có một game hay ứng dụng nào đó đang cần nó, việc xoá file này sẽ dẫn đến lỗi ứng dụng. Bên cạnh đó, không có cách nào để biết được file thư viện nào được dùng bởi game nào, nên bạn cũng chẳng biết nên giữ cái nào và nên xoá cái nào. Tốt nhất là đừng đụng vào chúng, chúng sẽ không chạy cho tới khi được ứng dụng gọi lên, do đó bạn không phải lo về việc tiêu tốn tài nguyên hệ thống.

Khi bị lỗi DirectX thì cần làm gì?

Tại sao mỗi lần cài game bạn lại phải cài thư viện DirectX? 6

Nếu bạn gặp lỗi liên quan đến DirectX, có nghĩa là quá trình cài đặt DirectX của game đã có vấn đề. Bạn không thể tải bộ cài DirectX từ website của Microsoft, mà phải chạy bộ cài đặt do game cung cấp, thường nằm trong thư mục game hoặc trên đĩa game. Tên bộ cài này thường là DXSETUP.exe.

Theo Tấn Minh/VN Review

Xuất bản ngày 05/09/2017 14:20 GMT +7

Tham khảo gamek

Bài viết đọc nhiều nhất

Bài viết mới trong ngày

Công Thành Chiến Thành Kent Để Lại Kỷ Niệm Đáng Nhớ Cho Game Thủ Lineage W

Công Thành Chiến Thành Kent Để Lại Kỷ Niệm Đáng Nhớ Cho Game Thủ Lineage W

Khoa Lê

Vào lúc 20:00 buổi tối ngày 2/8 vừa qua, trận Công Thành Chiến đầu tiên của Lineage W đã diễn ra tại Thành Kent với sự tham gia của các Huyết Thệ ở 24 máy chủ thuộc 2 thế giới Aden và Pandora. Đây là sự kiện cấp máy chủ nên mỗi nơi sẽ có một sự kiện Công Thành Chiến riêng biệt với sự tham gia của toàn bộ các Huyết Thệ đã đăng ký tham gia của máy chủ đó.

Game Online
Bê bối chấn động tại The Pokémon Company International: Bị kiện tập thể vì cựu Giám đốc Kỹ thuật lén đặt camera giấu kín trong nhà vệ sinh

Bê bối chấn động tại The Pokémon Company International: Bị kiện tập thể vì cựu Giám đốc Kỹ thuật lén đặt camera giấu kín trong nhà vệ sinh

hoanlagvn

Thương hiệu giải trí toàn cầu Pokémon vừa rơi vào một cơn bão truyền thông và pháp lý nghiêm trọng. Tập đoàn The Pokémon Company International (TPCi) mới đây đã chính thức trở thành bị đơn trong một vụ kiện tập thể do một phụ nữ ẩn danh (được gọi tên là Jane Doe) đệ trình lên tòa án. Đơn kiện nhắm vào những sai phạm nghiêm trọng liên quan đến ông Ben Tsai (45 tuổi) — cựu Giám đốc Kỹ thuật của TPCi — người bị phát hiện đã lén đặt camera giấu kín tại nhiều nhà vệ sinh công cộng, bao gồm cả khu vực vệ sinh ngay tại trụ sở chính của tập đoàn.

Giải trí
Duy Trì Phong Độ Ấn Tượng, Team Flash PUBG Mobile Hiên Ngang Giành Vé Vào Thẳng Grand Finals Tại EWC 2026

Duy Trì Phong Độ Ấn Tượng, Team Flash PUBG Mobile Hiên Ngang Giành Vé Vào Thẳng Grand Finals Tại EWC 2026

Khoa Lê

Tuy phải thi đấu dưới sức ép khổng lồ trước các đối thủ sừng sỏ tại bảng tử thần, đại diện Việt Nam Team Flash PUBG Mobile tiếp tục khẳng định chuỗi phong độ ấn tượng trên đấu trường quốc tế, xuất sắc giành vé góp mặt tại vòng chung kết Grand Finals giải đấu PUBG Mobile World Cup 2026.

eSports
Bổn cũ soạn lại như phim ngôn tình: Cựu idol Nhật Bản gây bão khi kết hôn với thầy giáo chủ nhiệm hơn 17 tuổi sau 7 năm kiên trì theo đuổi

Bổn cũ soạn lại như phim ngôn tình: Cựu idol Nhật Bản gây bão khi kết hôn với thầy giáo chủ nhiệm hơn 17 tuổi sau 7 năm kiên trì theo đuổi

hoanlagvn

Một câu chuyện tình tưởng chừng chỉ xuất hiện trong các trang truyện tranh Manga hay phim ảnh Nhật Bản vừa bước ra đời thực, châm ngòi cho vô số tranh luận sôi nổi trên khắp các diễn đàn mạng xã hội. Mới đây, trong chương trình truyền hình thực tế "Damatterarenai Onnatachi" của Nhật Bản, cựu nữ thần tượng (idol) Aki (25 tuổi) cùng người chồng của mình là anh Shinichi (42 tuổi) — vốn từng là giáo viên chủ nhiệm cấp 3 của cô — đã chính thức công khai hành trình yêu nhau và tiến tới hôn nhân đầy ly kỳ.

Giải trí
Lên đầu trang