Microsoft DirectX là gì?

Nếu thường xuyên chơi Game trên Windows chắc hẳn DirecX là cái tên khá quen thuộc đối với bạn. Nghe nhiều thậm chí đôi khi phát bực về nó như vậy nhưng bạn đã biết DirecX là gì tại sao gặp nó hoài chưa? Nếu chưa hãy đọc bài viết sau nhé.

Microsoft DirectX là gì?

Microsoft DirectX là 1 bộ sưu tập các giao diện lập trình ứng dụng (API) có tác dụng xử lý các tác vụ liên quan đến đa phương tiện mà đặc biệt là video và lập trình trò chơi trên nền tảng Microsoft.

Microsoft DirectX là gì? 1

Khởi đầu, tên của tất cả các API đều bắt đầu bằng Direct ví dụ như DirectSound, DirectMusic, Direct3D , DirectDraw, DirectMusic, DirectPlay v.v…. Và DirectX được đặt làm thuật ngữ viết tắt cho tất cả các API này ( trong đó chữ X biểu thị cho các tên API cụ thể) 

Khi Microsoft sản xuất máy chơi game, X được sử dụng làm cơ sở cho tên Xbox để ám chỉ máy chơi game này cũng dựa trên công nghệ DirectX. Ban Đầu các API thiết kế cho Xbox đều có chữ X đứng trước tên như XInput và XACT (Cross-platform Audio Creation Tool) trong khi mô hình DirectX vẫn được tiếp tục phát triểncho Windows API như Direct2D và DirectWrite.

Microsoft DirectX là gì? 2

Direct3D (API đồ họa 3D trong DirectX) đã được sử dụng rộng rãi cho việc phát triển các game video cho Windows và các dòng máy trò chơi Xbox. Direct3D cũng được các phần mềm đồ họa khác như phần mềm đồ họa kỹ thuật CAD/CAM sử dụng. Direct3D là API trong DirectX được công bố rộng rãi nhất của DirectX, nên thường thấy các tên "DirectX" và "Direct3D" được sử dụng thay thế lẫn nhau.

DirectX (SDK) - bộ phát triển phần mềm bao gồm các thư viện Runtime dưới dạng nhị phân có thể phân phối lại. DirectX có trong Windows 95 OEM Service Release 2. Windows 98 và Windows NT 4.0 . DirectX (SDK) có sẵn và được tải xuống miễn phí. Mặc dù các runtime là độc quyền, nhưng phần mềm nguồn đóng, mã nguồn được cung cấp cho hầu hết các mẫu SDK. Song hành với với việc phát hành Windows 8 Developer Preview, DirectX SDK  được tích hợp vào Windows SDK.

Các thành phần của DirectX

DirectX được chia thành ba lớp (tầng): Lớp nền tảng (Foundation Layer), lớp phương tiện (Media Layer) và lớp thành phần (Components Layer)

1. Lớp nền tảng: 

Foundation (lớp nền tảng) là phần cốt lõi của DirectX, nó là một tập hợp các API cấp thấp tạo nên cơ sở cho những hoạt động multimedia hiệu năng cao trong Windows. Thông qua lớp nền tảng có thể tác động đến các API sau: 

  • Direct3D: Cung cấp tính năng 3D cấp thấp.
  • DirectDraw: Quản lý bề mặt đồ hoạ.
  • DirectSetup: Giúp cài đặt các phần mềm, các Driver một cách tự động
  • DirectInput: Hỗ trợ các thiết bị nhập, kể cả các Joystick thế hệ mới. 
  • DirectSound: Cung cấp hiệu ứng âm thanh và bộ trộn tiếng. 
  • DirectSound 3D: Giúp tạo hiệu ứng âm thanh 3D từ kiểu loa 2D thông thường.  

2. Lớp phương tiện:

Lớp phương tiện (Media Layer) của DirectX bao gồm các API ở cấp ứng dụng, tận dụng khả năng của lớp nền tảng. Đáng chú ý các dịch vụ của lớp phương tiện này lại có tính độc lập với các thiết bị.

Lớp phương tiện này gồm có: 

  • Direct3D: Cung cấp tập hợp các tính năng biểu diễn 3D. 
  • DirectPlay: Hỗ trợ nhiều người cùng tham gia chơi game qua mạng. 
  • DirectShow: Quản lý các Slide Show.
  • DirectAnimation: Cung cấp khả năng làm hoạt hình.
  • DirectModel: Cung cấp khả năng mô phỏng 3D.

 

Lớp thành phần: 

Components Layer hay lớp thành phần là lớp trên cùng của DirectX, nó có thể tận dụng các tính năng của hai lớp trên (Media và Foundation) bao gồm: 

  • NetMeeting: Hỗ trợ làm việc theo nhóm trong mạng máy tính. 
  • ActiveMovie: Bộ các công cụ quản lý và trình diễn phim MPEG, hỗ trợ việc chơi các file âm thanh và phim ảnh. 
  • NetShow: Hỗ trợ việc truyền các nội dung multimedia qua Internet. 

Cách hoạt động của DirectX

Microsoft  xây dựng DirectX như là một bộ sưu tập các API cho mục đích xử lý đa phương tiện. DirectX bao gồm thư viện DLL lớn, cho phép các nhà phát triển phần mềm đặc biệt là game có quyền truy cập trực tiếp vào phần cứng máy tính. Do đó nhà phát triển game, ứng dụng có thể tạo đồ họa chất lượng cao với tốc độ nhanh, âm thanh chuẩn và không gặp vấn đề với các thiết bị phần cứng. Ngoài ra nếu rường hợp phần cứng cần thiết không có trong cấu hình máy tính PC cụ thể thì DirectX còn có tác dụng mô phỏng chức năng yêu cầu từ phía phần mềm.

Việc đạt được quyền truy cập trực tiếp vào phần cứng trong máy tính rất quan trọng. Nếu ai đã từng sử dụng DOS (Disk Operating System - hệ điều hành đĩa từ) sẽ nhận thấy điều này rõ ràng hơn. Bởi vì chúng ta không gặp trở ngại khi truy cập vào loại card VGA, thiết bị đầu vào, card âm thanh, v.v… trong DOS.

Microsoft DirectX là gì? 3

Vấn đề phát sinh khi phần cứng máy tính ngày 1 phức tạp hơn khiến cho việc truy cập vào phần cứng trở nên phức tạp hơn cho các nhà phát triển phần mềm. Để giải quyết vấn đề này Microsoft đã giới thiệu hệ điều hành Windows 95 với sự ra đời của công nghệ Plug and Play. Với công nghệ này, tất cả người dùng PC chỉ cần cắm bất cứ phần cứng mới nào vào máy tính và hệ thống sẽ tự động phát hiện nó. Windows 95 cũng có hệ thống quản lý thiết bị độc lập đi kèm nhưng không ai mặn mà với nó. 

Các nhà phát triển phần mềm vẫn sử dụng DOS để chạy phần mềm họ phát triển , và điều này yêu cầu người dùng phải khởi động máy vào chế độ DOS trước khi chạy ứng dụng. Đó là nguyên nhân những game từ thời xưa mặc dù máy tính chạy Window 95 nhưng phải vào DOS mới chơi được. Ngoài ra, các nhà phát triển cũng phải viết hệ thống của họ tương tự như DOS.

Giao tiếp giữa phần cứng và ứng dụng qua Windows 95

Microsoft DirectX là gì? 4

Để giải quyết các vấn đề này các nhà sản xuất phần mềm máy tính đã tạo driver cho thiết bị và phát triển đến ngày nay. Driver được sử dụng để đảm bảo thiết thiết bị phần cứng giao tiếp được với windows và các phần mềm ứng dụng truy cập được vào phần cứng đó. 

Driver khiến DirectX trở nên tiện dụng. Hầu hết các hệ thống máy tính hiện nay có khả năng chạy các ứng dụng sử dụng DirectX và ứng dụng không đồng thời một cách khá thuận tiện.  

DirectX trong trò chơi

Microsoft DirectX là gì? 5

DirectX sở hữu các lệnh và công cụ quan trọng được phần mềm hay ứng dụng yêu cầu để giao tiếp với phần cứng. Đây là lý do tại sao khi trò chơi sử dụng DirectX thường có cho chất lượng đồ họa rất cao. Với DirectX, các nhà phát triển có thể tận dụng tối đa các đơn vị xử lý đồ họa có khả năng 3D, card âm thanh và phần cứng khác nhờ hỗ trợ ngôn ngữ cấp thấp.

Khi nào chúng cần DirectX?

Với windows 10 gần như chúng ta ko phải quan tâm đến DirectX nữa vì DirectX  đã tích hợp sẵn trong Windows. Các game phần mềm ứng dụng hiện tại đều chạy khá mượt trên các DirectX cũ vì vậy Với DirectX 12 trên windows 10 là quá đủ. Và hiện tại các trò chơi ứng dụng cũng thường đi kèm gói cài đặt DirectX nên chúng ta không cần quan tâm. Cái cần quan tâm là driver cho phần cứng vì đầy đủ driver ứng dụng và trò chơi mới truy cập và sử dụng phần cứng được.

Tham khảo thêm

Bình luận