Direct X là gì? Công nghệ Direct X và những điều không phải ai cũng biết

1(14).jpg


Một cái nhìn sơ bộ về cách mà DirectX 12 làm cho chip hoạt động tốt hơn

Đối với những game thủ trung bình, thì việc phát triển game có vẻ như là một nghành kinh doanh rất khó khắn, và thật sự nó là vậy

Với các hệ máy console, các nhà phát triển chỉ cần quan tâm đến một phần cứng của các hãng (Xbox, Playstation, Nintendo): một vi xử lý, một card màn hình, một bộ nhớ được định sẵn, các thiết bị input và những thành phần phần cứng khác.

Tuy nhiên đối với PC, các nhà phát triển game lại phải đối mặt với hàng loạt những tùy chỉnh về cấu hình khác nhau. Việc có thể đưa game hoạt động tốt trên hàng loại card màn hình khác nhau, các loại motherboard khác nhau và nhiều thứ khác nữa thật sự không khác gì việc ảo thuật gia lấy một con thỏ từ cái nón ra cả.

Đó chính là vì sao, dựa trên những lời đồn trong nhiều năm gần đây, các nhà phát triển game đã bắt đầu tập trung vào nền tảng console hơn: họ có những phần cứng tương đối tốt với cái giá tương đối rẻ, sự vi phạm bản quyền xảy ra khá ít và các nhà phát triển hầu như đều có quyền truy cập trực tiếp vào các linh kiện phần cứng khi lập trình các phần mềm.

Tính năng thứ hai này chính là chìa khóa then chốt nhất cho việc vì sao mà các nhà phát triển game lại quan tâm đến console nhiều hơn. Bởi vì các nhà phát triển có thể tận dụng hết mọi hiệu suất từ phần cứng cũng như là việc họ có thể tận dụng được lợi thế của các tính năng có trong những linh kiện được dựng sẵn. Đây cũng là lý do vì sao DirectX của Microsoft lại quan trọng trong việc chơi game trên máy tính PC.

DirectX là gì?

Nói một cách đơn giản DirectX là một phần mềm được thiết kế bởi Microsoft để có thể giao tiếp với các linh kiện phần cứng trên PC. Nói một cách chi tiết, nó là tập hợp những giao diện lập trình ứng dụng, hay còn được gọi tắt là API, được thiết kế để xử lý các công việc liên quan đến render các vector đồ họa 2D hay 3D, render các đoạn video và chơi các đoạn âm thanh trên nền tảng Windows.

Đây chính là đối thủ nặng kí nhất với OpenGL, một bộ API tập trung về đồ họa khác được giới thiệu vào năm 1992, đây cũng là một mã nguồn mở và vẫn đang được tiếp tục phát triển bởi tập đoàn công nghệ Khronos Group. Và trong khi OpenGL là một API đa nền tảng, nhưng nó lại không có lợi thế của việc chỉ dành riêng cho nền tảng Windows.

DirectX xuất hiện lần đầu trên Windows 95. Vào thời điểm đó, phần lớn các game thủ trên PC vẫn còn dùng nền tảng DOS, thứ mà cho phép các nhà phát triển có thể nói chuyện trực tiếp với các linh kiện PC như card âm thanh, card đồ họa, bàn phím và chuột.

Những người chơi game PC lâu năm chắc chắn vẫn còn nhớ thời mà còn phải chỉnh file Config.sys hay Autoexec.bat để có thể thiết lập đúng các môi trường cài đặt để một số game nhất định có thể hoạt động tốt (IRQ và DMA cũng phải được edit lại, nhưng đó lại là chuyện khác). Windows 95 không hề có khả năng giao tiếp trực tiếp với các linh kiện – cho đến khi Microsoft phát triển bộ API DirectX.

Lúc đầu, DirectX không được quá nhiều người quan tâm đến, do các nhà phát triển vẫn còn phụ thuộc vào OpenGL và khả năng lập trình tốt trên nền tảng DOS. Nhưng rồi bộ API đồ họa của Microsoft dần dần đã lấy được niềm tin của các nhà phát triển khi họ phát hiện rằng nó sẽ không bao giờ biến mất.

Vì vậy, DirectX dần dần đã đẩy được OpenGL ra nơi khác vào thời điểm mà phiên bản 9 (DX9) ra mắt vào năm 2002. Windows XP gần như đã tăng tốc độ phát triển của DirecX khi đây là phiên bản Windows cực kì ổn định và vẫn còn được dùng rộng rãi trên toàn cầu. Windows 10 cũng được đánh giá là nổi tiếng không kém, và đi cùng với nó là phiên bản mới nhất trong dòng DirectX, DirectX 12.

Những gì mà DirectX 12 có thể làm cho bạn và cho game của bạn

Điểm trừ với các phiên bản DirecX trước đó chính là nó vẫn chưa cung cấp quyền truy cập ở mức thấp đến các linh kiện phần cứng như là với các thiết bị console. Để giải quyết vấn đề này, AMD đã cho ra bộ API Mantle của hãng, để cho các nhà phát triển có thể tối ưu hóa phần mềm của họ cho các chip AMD

Về cơ bản, các chip đồ họa đã trở nên mạnh mẽ như những con vi xử lý chính, thực hiện các công việc tính toán hơn là chỉ render đồ họa.

2(15).jpg


Công nghệ Mantle của AMD cho phép các nhà phát triển tận dụng sức mạnh này trong các chip đồ họa Radeon tương thích. Mantle đã được đón nhận rất nhiệt tình và hoạt động rất tốt, nhưng nó tồn tại không được lâu, khi mà Microsoft đã nhanh chóng đưa ra phiên bản DirectX mới mà cuối cùng cũng đã cho phép các nhà phát triển có quyền truy cập tốt hơn vào các phần mềm.

Theo Henry Moreton từ Nvidia đã nói vào năm ngoái “ Tập trung của DX12 là tạo điều kiện cho sự gia tăng đáng kể trong sự phong phú hình ảnh thông qua sự giảm đáng kể các công việc liên quan quá mức của CPU liên quan đến API”. “Về mặt lịch sử, driver và các phần mềm OS đã quản lý bộ nhớ, trạng thái, và sự đồng bộ thay cho các nhà phát triển. Tuy nhiên, các kết quả có hiệu suất thấp đến từ việc hiểu không hoàn chỉnh các nhu cầu của các ứng dụng. DX12 đưa cho ứng dụng khả năng trực tiếp quản lý các nguồn tài nguyên và trạng thái, và thực hiện các việc đồng bộ cần thiết. Kết quả là, các nhà phát triển của những ứng dụng nâng cao có thể điều khiển GPU một cách hiệu quả, tận dụng lợi thế và kiến thức uyên thâm về hành vi của các game thủ”.

Bằng việc đưa nhiều công việc hơn lên các chip đồ họa, vi xử lý chính sẽ có ít việc hơn để làm, vì vậy game sẽ không bị làm chậm lại bởi những gì đang xảy ra ở bên trong của hệ điều hành. Càng nhiều nhân càng tốt, đồng nghĩa với việc một vi xử lý có 2 nhân ( hay 2 nhân được nhét vào trong một package) sẽ không hoạt động tốt bằng một vi xử lý có 4 nhân.

Điều tương tự cũng đúng với chip đồ họa, và bạn có thể tăng tốc độ nếu bạn cài đặt hai chip đồ họa giống nhau vào cùng một hệ thống ( hay còn biết đến là SLI ở Nvidia và Crossfire ở AMD). Với DirectX 12 game thủ sẽ dễ dàng thấy hiệu suất tốt hơn bởi vì khôi lượng công việc giờ đây sẽ được chia đều cho nhiều nhân thực hiện cùng lúc chứ không phải đem hết cho một nhân thực hiện.

Đây thực sự là một vấn đề lớn, vì DirectX 11 không tận dụng lợi thế của nhiều nhân theo cách này, vì vậy một nhân phải làm hết tất cả công việc trong khi các nhân kia lại ở trạng thái chờ. Thời điểm mà chỉ có một nhân CPU hay một nhân GPU đã đi vào dĩ vãng, và Microsoft cuối cùng cũng đã bắt kịp tiến độ với phiên bản DirecX mới nhất này.

Hãy nhìn theo hướng này: máy tính đã đi từ đường cao tốc một đường sang đường cao tốc có 8 đường, cho phép CPU có thể ném việc render và các lệnh tính toán đến GPU nhanh hơn bao giờ hết. Và đối với các game thủ, điều đó đồng nghĩa với việc framrate tốt hơn và chất lương hình ảnh tốt hơn.

Bạn muốn DX12? Vậy thì hãy nâng cấp lên Win10 đi

Vẻ đẹp của DX12 nằm ở chỗ đó chính là API tự nhiên của Windows 10. Đổi lại, Windows 10 được sử dụng trên nhiều thiết bị từ desktop, đến laptop, đến tablet, đến điện thoại và kể cả trên Xbox One. DirectX 12 cũng đồng thời tương thích ngược lại ở một số mức độ nhất định, cho phép các game thủ PC chơi các tựa game yêu thích của họ mà không phải lo lắng phải bỏ card đồ họa của họ cho một model tương thích mới ( trong đa số trường hợp)

Nếu bạn muốn có một lời giải thích cặn kẽ và chi tiết hơn về ba chìa khóa ba lĩnh vực của DirectX 12, hãy xem qua bài blog DirectX 12 của Microsoft ở đây, được viết bởi Matt Sandy. Tóm lại, ông ta đã vạch ra thứ được gọi là đại diện cho trạng thái đường ống, trình làm việc và truy cập tài nguyên.

Ông ta cũng cung cấp một bảng thông số biểu thị rằng DirectX 12 đã cung cấp sự cải thiện lên đến hơn 50% khả năng sử dụng CPU so với DirectX 11, và một sự phân phối công công việc trên nhiều quy trình chỉ dẫn đã được lập trình, hay phần luồng.

3(15).jpg

Tin tốt ở đây là đã có rất nhiều tựa game PC đã tận dụng lợi thế của DirectX 12. Trong đó bao gồm Ashes of the Singularity, The Elder Scrolls Online, Rise of the Tomb Raider, Gears of War: Ultimate Edition and Hitman và nhiều tựa game khác nữa. Quantum Break được kì vọng sẽ hỗ trợ API mới cũng như là Deus Ex: Mankind Divided, Star Citizen, Forza Motorsport 6: Apex và nhiều tựa game khác.

Hãy nhớ rằng đây là sự giải thích đơn giản nhất về việc DirectX 12 đem lại gì cho game thủ trên PC. Về cơ bản, API này sẽ đem lại hiệu quả tốt hơn cho những game hỗ trợ nó, nhưng điều này cũng đồng nghĩa các nhà phát triển cũng phải đưa ra các bản vá lỗi để đưa các tựa game của họ lên tốc độ của DirectX 12 nếu có thể.

Các nhà cung cấp GPU như AMD và Nvidia đã lún sâu vào việc hỗ trợ driver của họ, vì vậy chỉ là vấn đề thời gian trước khi chúng ta thấy được những quyền lợi mà DirectX 12 đưa ra.

Nếu bạn vẫn chưa nâng cấp lên Windows 10, DirectX 12 chính là một lý do hợp lý để bạn làm điều đó. Không có lý do gì mà Windows 10 lại hỗ trợ đưa DX 12 lên các hệ điều hành cũ hơn. Vì vậy nếu bạn muốn chơi những game mới nhất ở mức tốt nhất, thì bạn sẽ không thể nào có lựa chọn nào khác.

Và với việc nó miễn phí và bản chất là một phiên bản cải tiến của Windows 7, nó sẽ không quá khó khăn để có thể chuyển đổi – đạc biệt là cho mục đích có được một trải nghiệm game tuyệt vời hơn.

Theo TechRadar
 

VSupport

Ngây thơ trong tối
Bài viết hay, bấy lâu xài nhưng cũng chỉ hiểu sơ sơ :troll2:
 

Thống kê

Chủ đề
102,229
Bài viết
469,845
Thành viên
340,400
Thành viên mới nhất
Mita201

Bài viết được quan tâm nhiều

Top