Microsoft vừa phát hành DirectX 12 Agility SDK 1.620 Retail và 1.722 Preview, mang đến những cải tiến đáng kể về công nghệ dò tia (ray tracing), hiệu quả sử dụng GPU và Advanced Shader Delivery. Theo Microsoft, đây là bản nâng cấp toàn diện nhất của DirectX Raytracing (DXR) kể từ khi công nghệ này ra mắt vào năm 2018.
Hình học phân cụm và cấu trúc tăng tốc phân vùng có thể cải thiện đáng kể hiệu quả dò tia
Những bổ sung đáng chú ý nhất trong Agility SDK 1.722 Preview gồm Clustered Geometry (hình học phân cụm), Partitioned Top-Level Acceleration Structures (PTLAS – cấu trúc tăng tốc cấp cao nhất được phân vùng) và cơ chế xây dựng cấu trúc tăng tốc do GPU điều khiển. Các công nghệ này được thiết kế nhằm giảm chi phí tính toán khi xử lý hiệu ứng dò tia trong những môi trường game phức tạp và thường xuyên thay đổi.
Theo phương pháp truyền thống, ray tracing đòi hỏi hệ thống phải xây dựng và cập nhật các cấu trúc tăng tốc – còn được gọi là cấu trúc phân cấp khối bao (Bounding Volume Hierarchy – BVH) – để mô tả hình học của cảnh vật. Quá trình này có thể tiêu tốn nhiều tài nguyên, đặc biệt trong những môi trường có độ chi tiết cao, nhiều chuyển động, liên tục tải thêm dữ liệu hình học và thường xuyên thay đổi trạng thái của các vật thể.

Công nghệ Clustered Geometry mới của Microsoft giải quyết vấn đề trên bằng cách chia hình học thành những cụm nhỏ có thể tái sử dụng, mỗi cụm chứa tối đa 256 tam giác và đỉnh. Các cụm này có thể được kết hợp thành những cấu trúc tăng tốc lớn hơn mà không cần xây dựng lại toàn bộ dữ liệu hình học từ đầu mỗi lần có thay đổi.
Cách tiếp cận này có thể cho phép nhà phát triển sử dụng cùng một mô hình hình học có độ chi tiết cao cho cả kỹ thuật dựng hình rasterization truyền thống lẫn ray tracing. Nhờ đó, độ chính xác của hiệu ứng phản chiếu và đổ bóng có thể được cải thiện mà không phải trả thêm quá nhiều chi phí cho việc xây dựng cấu trúc tăng tốc.
Trong khi đó, PTLAS cho phép nhà phát triển chỉ cập nhật những phần của cảnh vật có thay đổi, thay vì phải xây dựng lại toàn bộ cấu trúc tăng tốc cấp cao nhất. Khi kết hợp với cơ chế xây dựng cấu trúc do GPU điều khiển, công nghệ này được kỳ vọng sẽ nâng cao hiệu quả xử lý trong những thế giới game rộng lớn và có nhiều yếu tố chuyển động.
Microsoft cũng trình diễn tiềm năng cải thiện hiệu năng của Clustered Geometry thông qua dự án mẫu D3D12RaytracingClusteredGeometry. Công cụ này cho phép nhà phát triển so sánh phương pháp xây dựng lại cấu trúc tăng tốc cấp thấp (Bottom-Level Acceleration Structure – BLAS) truyền thống với Clustered Geometry trong cùng một cảnh thử nghiệm.
Trong một cấu hình chạy trên AMD Radeon RX 9070, việc chuyển từ phương pháp BLAS truyền thống sang Clustered Geometry giúp hiệu năng tăng từ chỉ 1,2 FPS lên 79 FPS, tương đương mức cải thiện khoảng 66 lần. Đồng thời, thời gian xây dựng cấu trúc tăng tốc giảm từ 788 ms xuống còn 3,11 ms.
Tổng dung lượng bộ nhớ dành cho các cấu trúc tăng tốc cũng giảm gần 90%, từ khoảng 7,3 GiB xuống còn 774 MiB. Tuy nhiên, mức dung lượng bộ nhớ tạm (scratch memory) cần thiết lại tăng đáng kể.
Microsoft nhấn mạnh rằng những kết quả này được ghi nhận trong một dự án mẫu với cấu hình cụ thể. Vì vậy, mức cải thiện hiệu năng khi áp dụng vào game thực tế sẽ phụ thuộc nhiều vào khối lượng công việc, cách triển khai và kiến trúc GPU được sử dụng.

Đáng chú ý, Microsoft lấy công nghệ RTX Mega Geometry của NVIDIA trong tựa game Gears of War: E-Day làm ví dụ ban đầu về hướng tiếp cận tương tự. Việc chuẩn hóa những kỹ thuật này trong DirectX có thể giúp chúng được áp dụng rộng rãi hơn trên GPU của nhiều nhà sản xuất khác nhau.
Bản xem trước hiện hỗ trợ các dòng GPU sau:
-
NVIDIA: Tất cả GPU GeForce RTX.
-
AMD: Radeon RX 9000 Series.
-
Intel: Arc B-Series và các GPU tích hợp trên Core Ultra được hỗ trợ.
Microsoft xác nhận những tính năng này không đòi hỏi phần cứng phải có năng lực hoàn toàn mới ngoài khả năng hỗ trợ ray tracing hiện có. Tuy nhiên, người dùng vẫn cần trình điều khiển (driver) tương thích để tận dụng chúng.
Agility SDK 1.620 tiếp tục cải thiện Advanced Shader Delivery
Bên cạnh ray tracing, phiên bản Agility SDK 1.620 Retail cũng mang đến một số cải tiến cho Advanced Shader Delivery, công nghệ của Microsoft nhằm tối ưu quá trình phân phối shader. Đây là giải pháp từng được đề cập trong những bài viết trước về khả năng giảm tình trạng giật, khựng khi biên dịch shader trong game PC.

Đáng chú ý, tính năng Partial Graphics Programs cho phép nhà phát triển tái sử dụng các thành phần shader đã được biên dịch trước trên nhiều cấu hình pipeline khác nhau. Cách tiếp cận này có thể giúp giảm dung lượng gói shader và hạn chế khối lượng công việc cần thiết trong quá trình biên dịch.
Advanced Shader Delivery hiện đã được hỗ trợ rộng rãi trong hệ sinh thái Windows 11, bao gồm các GPU tương thích của AMD, Intel, NVIDIA và Qualcomm. Tuy nhiên, tối ưu hóa Partial Graphics Programs mới chỉ hỗ trợ GPU Radeon RX 7000 và RX 9000 Series ở thời điểm hiện tại; hỗ trợ từ các nhà sản xuất khác dự kiến sẽ được bổ sung sau.
Những cải tiến khác trong bản SDK mới bao gồm DirectX Dump Files để chẩn đoán sự cố khiến GPU bị treo hoặc gặp lỗi, Fence Barriers Tier 1, các API xử lý danh sách lệnh bất đồng bộ theo lô (Batched Asynchronous Command List APIs) và những giao diện mới cho DirectX Compute Graph Compiler, phục vụ các tác vụ học máy.
Cuối cùng, Microsoft xác nhận Shader Model 6.10 vẫn đang trong giai đoạn thử nghiệm. Phiên bản chính thức dự kiến được phát hành cùng Agility SDK 1.621 vào đầu tháng 12.
Những cập nhật này sẽ không tự động cải thiện hiệu năng của các trò chơi hiện có. Tuy nhiên, chúng cung cấp cho nhà phát triển những công cụ hiệu quả hơn để triển khai các công nghệ dựng hình ngày càng phức tạp trong những tựa game PC tương lai.


