Tại sao mỗi game PC lại cài đặt bản sao DirectX của riêng mình?

Mục lục:

Tại sao mỗi game PC lại cài đặt bản sao DirectX của riêng mình?
Tại sao mỗi game PC lại cài đặt bản sao DirectX của riêng mình?

Video: Tại sao mỗi game PC lại cài đặt bản sao DirectX của riêng mình?

Video: Tại sao mỗi game PC lại cài đặt bản sao DirectX của riêng mình?
Video: Hướng dẫn cách xóa, kích thành viên ra khỏi nhóm Messenger - YouTube 2024, Tháng tư
Anonim
DirectX là một phần của hệ điều hành Windows. Vậy tại sao dường như mọi trò chơi PC bạn cài đặt từ Steam, Origin hoặc các nơi khác đề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 dường như mọi trò chơi PC bạn cài đặt từ Steam, Origin hoặc các nơi khác đều cài đặt bản sao DirectX của riêng mình?

DirectX là gì?

DirectX là một phần của Microsoft Windows. Đó là một nhóm các API (các 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 DirectX cho đồ họa. Nếu không, họ sử dụng API OpenGL hoặc Vulkan 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 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ụ: trò chơi chỉ được viết cho DirectX 11 sẽ không chạy trên Windows XP, nơi phiên bản mới nhất có sẵn là DirectX 9.

Bạn có thể kiểm tra phiên bản DirectX có sẵn 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”.

Image
Image

Nếu nó được bao gồm trong Windows, tại sao 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ỉ là một số ít. Nhà phát triển trò chơi phải nhắm mục tiêu 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 mới hơn của thư viện. Ví dụ: nếu 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, trò chơi không thể sử dụng d3ddx10_41.dll. Nó cần phiên bản 40, và chỉ có tập tin đó sẽ làm.

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 nằm 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 nó sẽ cài đặt tất cả các phiên bản cũ của thư viện DirectX trên hệ thống của bạn. Microsoft cũng đã chọn không bó các tệp thư viện Direct3D này với chính Windows. Ngay cả các thư viện Direct3D được tạo trước khi Windows 10 được phát hành, chẳng hạn, không phải tất cả đượ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 ghi chú 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".
Ngay cả khi bạn đã chạy trình cài đặt DirectX mới nhất, không có gì đảm bảo nó sẽ cài đặt tất cả các phiên bản cũ của thư viện DirectX trên hệ thống của bạn. Microsoft cũng đã chọn không bó các tệp thư viện Direct3D này với chính Windows. Ngay cả các thư viện Direct3D được tạo trước khi Windows 10 được phát hành, chẳng hạn, không phải tất cả đượ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 ghi chú 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ự như 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 các thư viện và bạn cần cài đặt nhiều phiên bản khác nhau. Bạn cũng có nhiều cơ hội được cài đặt trên hệ thống của mình.

Nhưng tại sao mỗi game PC lại phải cài đặt lại nó?

Được rồi, vì vậy mỗi trò chơi phải cài đặt phiên bản nhỏ của chính xác các thư viện DirectX mà nó yêu cầu. Tuy nhiên, nếu bạn đã cài đặt phiên bản cụ thể của thư viện DirectX đó 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?
Được rồi, vì vậy mỗi trò chơi phải cài đặt phiên bản nhỏ của chính xác các thư viện DirectX mà nó yêu cầu. Tuy nhiên, nếu bạn đã cài đặt phiên bản cụ thể của thư viện DirectX đó 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 rồi. Không có cách nào để trò chơi dễ dàng kiểm tra xem các thư viện DirectX chính xác mà họ cần có được cài đặt hay không. Theo ghi chú của trang web hỗ trợ của Steam, trình cài đặt DirectX của Microsoft là cách được hỗ trợ chính thức duy nhất để kiểm tra xem các tệp DirectX chính xác hiện có đượ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 bất kỳ thư viện bắt buộc nào và sửa chữa bất kỳ sự cố nào trên hệ thống.

Trình cài đặt DirectX cũng là cách duy nhất mà Microsoft cho phép các nhà phát triển phân phối các tệp này. Nhà phát triển không thể cố gắng thông minh bằng cách thả trực tiếp thư viện DirectX vào hệ thống của bạn và bỏ qua trình cài đặt hoặc họ sẽ phá vỡ giấy phép phần mềm của MIcrosoft. Họ cũng có khả năng chạy vào các 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 thực sự 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ì DirectX Direct3D sẽ không cần chạy. 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 phải 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.

Tôi có thể loại bỏ 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 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ự cho biết các tệp thư viện DirectX nào được yêu cầu bởi các trò chơi 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ó một lý do khiến 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 các ứng dụng yêu cầu chúng sử dụng.

Nếu bạn thực sự tuyệt vọng để xóa các thư viện cũ này, bạn nên cài đặt lại Windows để có được một hệ thống mới thay vì xóa các tệp thư viện một cách ngẫu nhiên. Tuy nhiên, 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ề điều đó.

Tôi có thể làm gì nếu gặp vấn đề 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 trình cài đặt có thể phân phối lại DirectX được bao gồm đúng cách. Tuy nhiên, bạn không thể 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à bản thân trò chơi yêu cầu.
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 trình cài đặt có thể phân phối lại DirectX được bao gồm đúng cách. Tuy nhiên, bạn không thể 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à bản thân 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 bạn hoặc trên đĩa cài đặt của trò chơi, tìm tệp cài đặt DIrectX.exe và chạy tệp đó để khắc phục sự cố. Tệp này thường có tên DXSETUP.exe.

Bạn thường có thể nhận 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 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 xem.

Đề xuất: