Monday, October 23, 2017

     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