Microsoft DirectX là gì?

Nếu sử dụng hệ điều hành Windows, DirectX hẳn là cái tên quen thuộc với bạn, đặc biệt những người yêu thích trò chơi được phát triển cho nền tảng Windows. Nhưng bạn đã biết chính xác nó là gì và hoạt động như thế nào chưa? Hãy đọc bài viết sau đây nhé.

Microsoft DirectX là gì?

Microsoft DirectX là một bộ sưu tập các giao diện lập trình ứng dụng (API) để xử lý các tác vụ liên quan đến đa phương tiện, đặc biệt là lập trình trò chơi và video trên nền tảng Microsoft. Ban đầu, tên của tất cả các API này đều bắt đầu bằng Direct, chẳng hạn như Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, v.v…. Tên DirectX được đặt làm thuật ngữ viết tắt cho tất cả các API này (X biểu thị cho các tên API cụ thể) và nhanh chóng trở thành tên của bộ sưu tập. Khi Microsoft thiết lập để phát triển một máy chơi game, X được sử dụng làm cơ sở cho tên Xbox để chỉ máy chơi game dựa trên công nghệ DirectX. Ban đầu X đứng trước tên của các API được thiết kế cho Xbox như XInput và Cross-platform Audio Creation Tool (XACT) trong khi mô hình DirectX được tiếp tục cho Windows API như Direct2D và DirectWrite.

Direct3D (API đồ họa 3D trong DirectX) được sử dụng rộng rãi trong việc phát triển các game video cho Microsoft Windows và dòng máy trò chơi Xbox. Direct3D cũng được các ứng dụng phần mềm đồ họa khác như kỹ thuật CAD/CAM sử dụng. Vì Direct3D là thành phần đượ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.

Bộ phát triển phần mềm DirectX (SDK) bao gồm các Runtime library dưới dạng nhị phân có thể phân phối lại, cùng với các tài liệu đi kèm và các tiêu đề sử dụng trong mã hóa. Ban đầu, các runtime chỉ được một số trò chơi và người dùng nhất định cài đặt. Windows 95 không có DirectX, nhưng DirectX có trong Windows 95 OEM Service Release 2. Windows 98 và Windows NT 4.0 đều có DirectX và có trong các phiên bản Windows được phát hành kể từ đó. SDK có sẵn dưới dạng bản 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. Bắt đầu 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)

* Lớp nền tảng:

Foundation 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:

+ DirectDraw: Quản lý bề mặt đồ hoạ.

+ Direct3D: Cung cấp tính năng 3D cấp thấp.

+ 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.

+ DirectSetup: Giúp cài đặt các phần mềm, các Driver một cách tự động

* 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. Các dịch vụ của lớp phương tiện này 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 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

Như đã nói ở trên DirectX được Microsoft xây dựng như là một bộ sưu tập các API cho mục đích xử lý đa phương tiện. Nó 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à trò chơi 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 có thể tạo đồ họa chất lượng cao nhưng tốc độ nhanh, âm thanh phong phú và không có vấn đề về lập trình cho các thiết bị đầu vào. Tuy nhiên, trong trườ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ể, DirectX sẽ 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 máy tính rất quan trọng. Bạn có thể thấy rõ điều này khi DOS (Disk Operating System - hệ điều hành đĩa từ) ở thời điểm vinh quang. Vào thời điểm đó, các nhà phát triển có thể biến mọi ước mơ của họ thành sự thực trong môi trường máy tính. Bởi vì họ 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…

Giao tiếp giữa DOS, phần cứng và ứng dụng

Giao tiếp giữa DOS, phần cứng và ứng dụng

Tuy nhiên, khi các nhà sản xuất máy tính bắt đầu phát triển phần cứng phức tạp hơn, các nhà phát triển phần mềm gặp khó khăn trong việc viết đúng code để truy cập vào phần cứng cụ thể.

Nhận thức được vấn đề này, Microsoft đã giới thiệu hệ điều hành Windows 95. Họ hứa rằng máy tính này sẽ trở nên đơn giản hơn bao giờ hết, nhờ 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 đi kèm với hệ thống quản lý thiết bị độc lập, tuy nhiên, hầu hết các nhà phát triển phần mềm tại thời điểm này không thấy có gì hấp dẫn để họ phát triển các ứng dụng cho nền tảng này. Kết quả là họ vẫn sử dụng chế độ DOS để chạy phần mềm họ phát triển. Điều này yêu cầu người dùng khởi động máy tính vào chế độ DOS trước khi chạy ứng dụng. Ngoài ra, các nhà phát triển sẽ 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

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

Từ những vấn đề này, các nhà sản xuất phần mềm máy tính tạo driver thiết bị và được dùng cho đến ngày nay. Driver được sử dụng để đảm bảo thiết bị phần cứng mới tương thích với bất kỳ kết hợp cấu hình PC nào có thể.

Do đó 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. Ngoài ra, các nhà phát triển phần mềm có thể viết ứng dụng của họ cho Windows như làm với DOS.

DirectX trong trò chơi

DirectX trong trò chơi

DirectX có một bộ sưu tập các lệnh và công cụ quan trọng được ứng dụng hoặc phần mềm yêu cầu để giao tiếp với phần cứng. Đây là lý do tại sao trò chơi sử dụng DirectX thường có đồ họa rất cao là photorealistic (ảnh hiện thực). 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 bạn cần DirectX?

Hầu hết thời gian bạn cần DirectX là khi muốn chơi trò chơi được thiết kế cho Windows 98 hoặc hệ điều hành mới hơn. Tuy nhiên, bạn cần phải biết phiên bản DirectX cần dùng. May thay nếu trò chơi bạn muốn chơi yêu cầu một phiên bản DirectX không có trong hệ thống, bạn không cần phải lo lắng. Trò chơi thường đi kèm với trình cài đặt cho phiên bản DirectX yêu cầu. Ngoài ra, bạn cần đảm bảo cài đặt các driver mới nhất cho phần cứng, đặc biệt là card đồ họa và card âm thanh. Tham khảo bài viết 5 cách cơ bản để update, cập nhật driver cho máy tính

Xem thêm: 

 

 

Thứ Sáu, 20/07/2018 09:07
43 👨 36.870