Tại sao mọi trò chơi PC đều cài đặt bản sao DirectX của riêng mình?

Tác giả sysadmin, T.M.Một 02, 2022, 03:31:44 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Tại sao mọi trò chơi PC đều cài đặt bản sao DirectX của riêng mình?


DirectX là một phần của hệ điều hành Windows. Vậy tại sao có vẻ như mọi trò chơi PC mà bạn cài đặt từ Steam, Origin hoặc nơi khác đều cài đặt bản sao DirectX của chính nó?


1. DirectX là gì?

DirectX là một phần của Microsoft Windows. Đó là một nhóm các API (giao diện lập trình ứng dụng) mà các nhà phát triển có thể sử dụng cho các tính năng đồ họa 3D, video, đa phương tiện, âm thanh và gamepad trên Windows. Nhiều trò chơi trên Windows sử dụng Direct3D của DirectX cho đồ họa. Nếu không, họ sử dụng API OpenGL hoặc Vulkan đa nền tảng để thay thế. Các ứng dụng không phải trò chơi khác có thể sử dụng DirectX cho các tính năng như đồ họa 3D.

Windows 7 bao gồm DirectX 11 và Windows 10 bao gồm DirectX 12. Khi các nhà phát triển đang phát triển trò chơi, họ chọn phiên bản DirectX mà họ muốn nhắm mục tiêu. Ví dụ: một trò chơi chỉ được viết cho DirectX 11 sẽ không chạy trên Windows XP, trong đó phiên bản mới nhất hiện có là DirectX 9.

Bạn có thể kiểm tra phiên bản DirectX hiện có trên hệ thống của mình bằng cách nhấp vào nút Bắt đầu, nhập "dxdiag" vào hộp tìm kiếm và nhấn Enter. Khi cửa sổ Công cụ chẩn đoán DirectX xuất hiện, bạn sẽ thấy số phiên bản xuất hiện ở bên phải của "Phiên bản DirectX" trong "Thông tin hệ thống".


2. Nếu nó được bao gồm trong Windows, tại sao các trò chơi lại cài đặt nó?

Vì vậy, nếu DirectX là một phần của Windows, tại sao các trò chơi thậm chí cài đặt nó ngay từ đầu? Câu trả lời ngắn gọn là cài đặt DirectX là một mớ hỗn độn.

Không chỉ có một trò chơi thư viện DirectX Direct3D phụ thuộc vào, hoặc thậm chí chỉ một số ít. Các nhà phát triển trò chơi phải nhắm mục tiêu một phiên bản chính xác của thư viện trình trợ giúp Direct3D. Không thể sử dụng phiên bản thư viện mới hơn. Ví dụ: nếu một nhà phát triển trò chơi nhắm mục tiêu trò chơi của họ tại d3ddx10_40.dll, thì trò chơi đó không thể sử dụng d3ddx10_41.dll. Nó cần phiên bản 40 và chỉ tệp đó sẽ làm được.

Bạn sẽ tìm thấy các tệp này trong thư mục C: \ Windows \ System32 trên hệ thống của mình. Trên hệ thống 64 bit, các thư viện 64 bit được đặt trong C: \ Windows \ System32 và các thư viện 32 bit được đặt trong C: \ Windows \ SysWOW64.


Ngay cả khi bạn đã chạy trình cài đặt DirectX mới nhất, không có gì đảm bảo rằng nó sẽ cài đặt tất cả các phiên bản nhỏ cũ của thư viện DirectX trên hệ thống của bạn. Microsoft cũng đã chọn không gói các tệp thư viện Direct3D này với chính Windows. Ví dụ, ngay cả các thư viện Direct3D được tạo trước khi Windows 10 được phát hành, không phải tất cả đều được bao gồm trong Windows 10. Chúng phải được cài đặt bởi một ứng dụng cần chúng. Như Microsoft lưu ý trong tài liệu dành cho nhà phát triển trò chơi, "Windows Update và Gói dịch vụ không cung cấp bất kỳ thành phần tùy chọn nào của DirectX".

Nó thậm chí còn phức tạp hơn thế. Trò chơi 32 bit cần phiên bản 32 bit của tệp thư viện và trò chơi 64 bit cần thư viện 64 bit.

Điều này tương tự với tình huống với các thư viện Microsoft Visual C ++ Redistributable. Các ứng dụng khác nhau phụ thuộc vào các phiên bản khác nhau của thư viện và bạn cần cài đặt nhiều phiên bản khác nhau. Có một cơ hội tốt là bạn cũng có rất nhiều ứng dụng được cài đặt trên hệ thống của mình.

3. Nhưng tại sao mọi trò chơi PC đều phải cài đặt lại nó?


Được rồi, vì vậy mọi trò chơi đều phải cài đặt phiên bản nhỏ chính xác của thư viện DirectX mà nó yêu cầu. Tuy nhiên, nếu bạn đã cài đặt phiên bản thư viện DirectX cụ thể đó một lần, chắc chắn trò chơi không cần chạy trình cài đặt DirectX — phải không?

Sai. Không có cách nào để trò chơi dễ dàng kiểm tra xem đã cài đặt đúng thư viện DirectX mà chúng cần hay chưa. Như trang web hỗ trợ của Steam lưu ý, trình cài đặt DirectX của Microsoft là cách duy nhất được hỗ trợ chính thức để kiểm tra xem các tệp DirectX chính xác hiện đã được cài đặt hay chưa. Trò chơi chạy trình cài đặt DirectX, thường ở chế độ nền, cài đặt mọi thư viện bắt buộc và sửa chữa mọi sự cố trên hệ thống.

Trình cài đặt DirectX cũng là cách duy nhất Microsoft cho phép các nhà phát triển phân phối các tệp này. Các nhà phát triển không thể cố tỏ ra khéo léo bằng cách bỏ trực tiếp các thư viện DirectX trên hệ thống của bạn và bỏ qua trình cài đặt, nếu không họ sẽ phá vỡ giấy phép phần mềm của MIcrosoft. Họ cũng có thể gặp phải nhiều lỗi khác nhau, ngay cả khi họ đã thử điều này. Đó là lý do tại sao không ai làm.

Tất nhiên, không phải tất cả các trò chơi đều phải chạy trình cài đặt DirectX khi bạn khởi chạy chúng lần đầu tiên. Các trò chơi sử dụng OpenGL hoặc Vulkan thay vì Direct3D của DirectX sẽ không cần phải chạy nó. Một số trò chơi cũng chỉ phụ thuộc vào các phiên bản chính của DirectX như DirectX 11, 10 hoặc 9 và không cần gọi trình cài đặt DirectX vì chúng không sử dụng bất kỳ thư viện trợ giúp nào trong số này.

4. Tôi có thể xóa một số thư viện này không?

Bạn không nên xóa bất kỳ thư viện DirectX nào trong thư mục System32 hoặc thư mục SysWOW64 của mình. Nếu chúng xuất hiện trên hệ thống của bạn, đó là do một trò chơi hoặc ứng dụng khác mà bạn đã cài đặt cần chúng. Nếu bạn bắt đầu xóa các tệp thư viện, các ứng dụng có thể bị hỏng. Không có cách nào để thực sự biết tệp thư viện DirectX nào được yêu cầu bởi trò chơi nào trên hệ thống của bạn, vì vậy không có cách nào để biết tệp nào an toàn để xóa.

Để họ một mình! Có lý do không có cách nào được hỗ trợ chính thức để gỡ cài đặt các tệp thư viện này. Chúng sẽ không gây ra bất kỳ sự cố nào trên hệ thống của bạn và sẽ chỉ được sử dụng bởi các ứng dụng yêu cầu chúng.

Nếu bạn thực sự muốn dọn dẹp những thư viện cũ này, tốt hơn hết bạn nên cài đặt lại Windows  để có một hệ thống mới thay vì xóa ngẫu nhiên các tệp thư viện. Nhưng chúng sẽ bắt đầu xuất hiện lại ở đây sau khi bạn cài đặt trò chơi. Đừng lo lắng về nó.

5. Tôi có thể làm gì nếu gặp sự cố với DirectX?


Nếu bạn thấy thông báo lỗi liên quan đến DirectX trong khi cố gắng chạy hoặc cài đặt trò chơi, có thể trình cài đặt của trò chơi không chạy đúng trình cài đặt có thể phân phối lại DirectX đi kèm. Tuy nhiên, bạn không thể chỉ tải xuống trình cài đặt DirectX từ trang web của Microsoft — bạn cần chạy trình cài đặt mà chính trò chơi yêu cầu.

Bạn có thể vào thư mục của trò chơi trên hệ thống của mình hoặc trên đĩa cài đặt của trò chơi, tìm tệp.exe trình cài đặt DIrectX và chạy nó để khắc phục sự cố. Tệp này thường được đặt tên là DXSETUP.exe.

Bạn thường có thể biết thêm thông tin về cách khắc phục sự cố bằng cách thực hiện tìm kiếm trên web cho tên của trò chơi hoặc ứng dụng và thông báo lỗi DirectX cụ thể mà bạn đang thấy.