Nếu bạn đang kết nối USB hoặc bộ điều khiển trò chơi không dây với PC Windows của mình, bạn có thể gặp các thuật ngữ như “DirectInput” và “XInput”. Nhưng chúng có nghĩa là gì, và sự khác biệt là gì? Chúng tôi sẽ giải thích.
Chúng là API bộ điều khiển trò chơi của Microsoft
Trong máy tính, API là Giao diện lập trình ứng dụng, là một cách được tiêu chuẩn hóa để hai chương trình có thể nói chuyện với nhau. Trong trường hợp này, khi bạn kết nối bộ điều khiển với PC, Windows sẽ tạo kết nối với phần cứng bộ điều khiển, sau đó API cho phép trò chơi đọc đầu vào của bộ điều khiển theo cách chuẩn hóa. Điều này cho phép các trò chơi Windows dễ dàng hỗ trợ nhiều loại bộ điều khiển khác nhau thay vì phải chắp vá các trình điều khiển và giao diện bộ điều khiển tùy chỉnh.
Hai API đầu vào trò chơi chính trong Windows được gọi là DirectInput và XInput. Nói cách khác, các API này giống như hai ngôn ngữ khác nhau mà bộ điều khiển trò chơi có thể nói. Một số bộ điều khiển chỉ có thể nói một “ngôn ngữ” (XInput hoặc DirectInput), trong khi những bộ điều khiển khác có thể “nói” cả hai API ở các chế độ khác nhau. Nếu trò chơi mong đợi XInput nhưng bộ điều khiển chỉ “nói” DirectInput, bộ điều khiển đó sẽ không hoạt động với trò chơi đó và ngược lại.
Dưới đây là một cái nhìn nhanh về nguồn gốc của từng cái:
- Nhập trực tiếp: API đầu vào chơi game này xuất hiện lần đầu tiên vào năm 1995 như một phần của DirectX 1.0 để chơi game trên Windows 95, sau đó được hỗ trợ trên các phiên bản tiếp theo của Windows. Đó là một giao diện kế thừa được hỗ trợ bởi nhiều bộ điều khiển trò chơi PC phát hành trước năm 2005 và một số bộ điều khiển (và bộ điều hợp bộ điều khiển cổ điển) sau thời điểm đó.
- XInput: API này ra mắt vào năm 2005 như một cách để hỗ trợ bộ điều khiển Xbox 360 trên Windows. Bộ điều khiển Xbox One và Xbox Series X | S hiện cũng sử dụng XInput trên Windows. XInput có nguồn gốc là một API dành riêng cho bộ điều khiển Xbox, nhưng nhiều bộ điều khiển của bên thứ ba (không phải do Microsoft sản xuất) hiện cũng hỗ trợ nó. Điều này có nghĩa là chúng sẽ làm việc với các trò chơi được lập trình để sử dụng Xinput.
Hai API làm những việc tương tự nhau, nhưng DirectInput cũ hơn XInput và đã không còn được Microsoft chấp nhận. Tuy nhiên, DirectInput hỗ trợ một số tính năng mà XInput không có, đó là một phần lý do tại sao tiêu chuẩn này vẫn được sử dụng. Trong phần dưới đây, chúng tôi sẽ so sánh và đối chiếu hai tiêu chuẩn một cách chi tiết hơn.
Sự khác biệt: DirectInput so với XInput
Mặc dù XInput đã ra đời được 17 năm, một số trò chơi hiện đại vẫn hỗ trợ bộ điều khiển DirectInput. Một lý do tại sao là vì có một số lượng lớn các bộ điều khiển kế thừa được cài đặt sẵn mà một số người vẫn thích sử dụng.
Ngoài ra, DirectInput hỗ trợ nhiều đầu vào hơn XInput (8 trục, 128 nút và POV cho DirectInput so với 4 trục và 10 nút, hai trình kích hoạt và D-pad cho XInput), có ích cho các trò chơi mô phỏng phức tạp, chẳng hạn như bay trình mô phỏng và một số trò chơi đua xe, nơi mọi người xây dựng các thiết lập điều khiển buồng lái phức tạp. Ngoài ra, Xinput chỉ hỗ trợ bốn bộ điều khiển. Nếu bạn cần nhiều hơn thế, DirectInput là sự lựa chọn tốt nhất của bạn.
Ưu điểm của XInput so với DirectInput chủ yếu nằm ở khía cạnh nhà phát triển. Microsoft nói rằng XInput “dễ sử dụng hơn” và ít yêu cầu thiết lập hơn đối với các lập trình viên. Một nhà phát triển trò chơi tạo ra trò chơi Xbox có thể dễ dàng dịch trò chơi sang Windows với sự hỗ trợ của bộ điều khiển Xbox. Ngoài ra, bộ điều khiển Xbox chỉ rung với XInput và API xử lý các nút kích hoạt như hai đầu vào riêng biệt thay vì một trục dương / âm duy nhất trên DirectInput.
Trong một chiến thắng khác cho XInput, API sẽ tự động hiểu bố cục của bộ điều khiển mà không cần phải liên kết thủ công từng nút với một chức năng trong trò chơi. Với DirectInput, trò chơi không nhất thiết phải giả định hình dạng hoặc bố cục của bộ điều khiển. Với XInput, các trò chơi sử dụng sơ đồ điều khiển kiểu Xbox tiêu chuẩn, ánh xạ toàn cầu cho mọi trò chơi, tương tự như bảng điều khiển trò chơi Xbox.
Nói chung, tương lai của trò chơi Windows nằm ở XInput, nhưng giống như nhiều công nghệ Windows kế thừa, DirectInput tiếp tục giữ vững vị trí cho các trường hợp sử dụng thích hợp. May mắn thay, nếu bạn có bộ điều khiển DirectInput yêu thích mà bạn muốn sử dụng với trò chơi chỉ có XInput, bạn có thể sử dụng một tiện ích như x360ce để điều chỉnh nó với XInput. Chúc bạn chơi game vui vẻ!