DirectX là phần mềm đã có sẵn trong máy, nó là thư viện được các game và app dùng để hiển thị 3D và thực hiện nhiều chức năng khác về âm thanh, hình ảnh. Nhưng khi cài đặt bất kì một game nào đó thì vẫn bắt buộc phải cài thêm DirectX mặc dù nó đã có sẵn trong máy.
1. DirectX là gì?
Nó bao gồm một tập
hợp các hàm lập trình (API) để lập trình viên sử dụng cho những tính năng liên
quan đến đồ họa 3D, chơi video, phát nhạc hay kết nối với những phụ kiện chơi
game. Mỗi tính năng này có một số hàm API riêng và tên của chúng cũng bắt đầu bằng
chữ "Direct", ví dụ như Direct3D cho đồ họa ba chiều, DirectMusic cho
hiệu ứng nhạc, DirectSound cho các âm thanh phát ra trong game...
DirectX 11 được
đính kèm sẵn trong Windows 7, lên đến Windows 10 thì đi kèm DirectX 12. Khi các
nhà phát triển bắt đầu làm game, họ sẽ chọn phiên bản DirectX mà họ muốn sử dụng.
Đây cũng là lý do mà một game viết cho DirectX 11 không thể chạy trên Windows
Xp vốn chỉ hỗ trợ tối đa DirectX 9 mà thôi. Bạn có thể kiểm tra phiên bản
DirectX trên máy mình bằng cách nhấn Command + R, gõ chữ "dxdiag" rồi
nhấn Enter. Trong hộp thoại mới xuất hiện, bạn sẽ thấy dòng DirectX Version.
2. Tại sao phải cài thêm DirectX khi máy đã có sẵn?
Như đã nói ở
trên, DirectX có nhiều bản khác nhau, vậy nên khi sử dụng các thư viện con như
Direct3D thì lập trình viên cũng phải chọn một phiên bản nhất định để viết
game. Ngay cả khi bạn đã chọn DirectX 10 để bắt đầu làm game nhưng các bản cập
nhật mới hơn đôi khi cũng không hoạt động.
Ngay cả khi bạn
download bộ cài DirectX mới nhất từ trên mạng về, không có gì đảm bảo rằng nó sẽ
cài đủ các phiên bản cũ hơn vào máy tính. Microsoft cũng không đính kèm tất cả
những file Direct cần thiết vào Windows nữa. Chúng cần phải được cài đặt bởi ứng
dụng nào cần sử dụng.
Tính trạng này cũng diễn ra với thư viện Microsoft Visual C++ Redistributable và cũng là lý do vì sao bạn thấy thư viện này cứ được cài đi cài lại bởi rất nhiều ứng dụng mặc dù bản thân Windows cũng có chứa một số file liên quan.
3. Vì sao game nào cũng phải cài DirectX?
Không có một cách
nào đơn giản và chắc chắn để kiểm tra xem thư viện DirectX đang cài trên máy có
phải là bản mà game cần hay không. Như kho game Steam có cảnh báo, bộ cài
DirectX của Microsoft là cách chính thức duy nhất hỗ trợ kiểm tra xem file
DirectX cần thiết đã được cài hay chưa. Chính vì thế, game thường phải chạy bộ
cài DirectX để cài thêm các file bị thiếu, file nào có rồi thì bỏ qua, và file
nào có vấn đề thì sửa chữa.
Bộ cài DirectX
cũng là cách duy nhất Microsoft cho phép nhà phát triển phân phối các file này.
Lập trình viên không thể chỉ đơn giản là copy những file cần thiết vào thư mục
System32 vì như vậy sẽ vi phạm thỏa thuận bản quyền với Microsoft. Và nếu họ tự
copy file kiểu đó, khả năng cao là game cũng không chạy được do bị lỗi.
Tất nhiên, không phải game nào cũng chạy bộ cài DirectX khi bạn chạy nó ở lần đầu tiên. Những game dùng OpenGL hay Vulkan đương nhiên không cần đến DirectX rồi. Một số game chỉ dùng phiên bản DirectX chính, ví dụ như bản 11, 10 hay 9, cũng không cần cài thêm do không sử dụng bất kì chức năng nào khác.
4. Có thể xóa bớt DirectX cho nhẹ máy?
Không, bạn không
nên xóa bất kì file DLL nào của DirectX nói riêng và không nên đụng đến bất kì
file nào trong hai thư mục System32 hay SysWOW64. Tất cả những file DLL trong
này được sử dụng bởi chính Windows hoặc bởi nhiều phần mềm khác trên máy tính của
bạn, xóa đi là gặp lỗi và không còn chạy được nữa. Cũng không có cách nào an
toàn để biết file nào trên máy bạn đang được sử dụng bởi app hay game nào nên tốt
nhất là đừng đụng vô.
Như vậy thắc mắc
của bạn về DirectX đã được phần nào giải đáp sẽ khiến bạn cảm thấy bớt khó chịu
hơn khi cứ phải cài đặt lại nhiều lần cùng một phần mềm khiến máy của mình trở
nên nặng hơn. Nếu còn chia sẻ hay suy nghĩ gì thì hãy cùng thảo luận với chúng
tôi.
0 comments:
Post a Comment