Vulkan là một API đồ họa 3D đa nền tảng với chi phí thấp. Vulkan run time libraries nhắm tới các ứng dụng đồ họa 3D thời gian thực chất lượng cao như trò chơi điện tử và phương tiện tương tác trên tất cả các nền tảng.

Bạn đang xem: Vulkan là gì

So với OpenGL, Direct3D và Metal, Vulkan nhằm cung cấp hiệu suất cao hơn và sử dụng CPU/GPU cân bằng hơn. Sự khác biệt lớn khác so với Direct3D 11 và OpenGL là Vulkan cung cấp một thư viện cấp thấp hơn đáng kể và cung cấp tác vụ song song. Ngoài việc sử dụng CPU thấp hơn, Vulkan cũng có thể phân phối công việc tốt hơn giữa các nhiều lõi CPU.

Mục lục bài viết

Nguồn gốc Vulkan

Nói chính xác thì có thể coi Vulkan run time libraries là hậu duệ của OpenGL, API đồ họa ra đời có khi còn trước cả DirectX. Trước giờ OpenGL và DirectX vẫn là hai API đối đầu với nhau, tuy nhiên do sự kém phát triển và khó tích hợp của mình OpenGL dần kém thế, dần biến DirectX thành “độc cô cầu bại”. Mãi đến năm 2013, phát hiện thấy sự phát triển của API chậm chạp và ngày một suy thoái, hãng AMD đã bắt đầu tạo ra một thư viện API của riêng mình mang tên Mantle.

Điều quan trọng nhất về dự án này là việc AMD đã lợi dụng một điểm yếu mà các API tại thời điểm ấy không tận dụng được, đó là khả năng tinh chỉnh ở mức độ mã hóa cực thấp. Có nghĩa là các nhà lập trình sử dụng Mantle để phát triển phần mềm hay game thay vì DirectX hoặc OpenGL sẽ nhận thấy một sự gia tăng rất lớn về hiệu năng. Sau đó, Vulkan lần đầu tiên được công bố bởi Khronos Group phi lợi nhuận tại GDC 2015. Vulkan API ban đầu được gọi là “sáng kiến OpenGL thế hệ tiếp theo”, hoặc “OpenGL tiếp theo” bởi Khronos, nhưng việc sử dụng những cái tên đó đã bị ngừng khi Vulkan được công bố. Vulkan có nguồn gốc từ và xây dựng dựa trên thành phần của AMD ‘s Mantle API, được tặng bởi AMD để Khronos với mục đích đưa ra Khronos một nền tảng mà trên đó để bắt đầu phát triển một API cấp thấp mà họ có thể chuẩn hóa toàn ngành.

*

Khoan, có gì đó sai sai? Sao đang Mantle mà lại thành Vulkan? Lý do là vì mặc dù Mantle ra đời với nhiều lợi thế nhưng AMD đã có một quyết định sai lầm khi chỉ cho phép bộ thư viện API này hoạt động trên các card đồ hoạ thuộc dòng ATI Radeon của riêng mình, ép các nhà phát triển game thực hiện thêm một công đoạn tiêu tốn sức lực, thời gian và tiền bạc chỉ để tích hợp Mantle. Mantle nhanh chóng bị quên lãng và đem “tặng” mã nguồn của mình cho Vulkan thuộc Khronos Group, một nhóm gồm những công ty thành viên máu mặt như chính AMD, NVIDIA, Intel, AMD, Sony và Google,…

Vulkan có lợi thế gì so với DirectX 12?

Vulkan hoàn toàn ngang bằng DirectX 12 về hiệu suất. Những công nghệ DirectX 12 sử dụng hầu như đều có mặt trong Vulkan như phân chia đa luồng trên CPU, hỗ trợ VR, các tập lệnh can thiệp cấp GPU của card màn hình. Điểm khác biệt lớn nhất giữa Vulkan run time libraries và DirectX là DirectX 12 chỉ chạy trên hệ điều hành Windows 10 trong khi đó Vulcan có thể chạy trên bất cứ hệ điều hành nào như Linux, hệ điều hành trên điện thoại và thậm chí là Windows 7, 8 và 10.

*

Vulkan còn tỏ ra vượt trội hơn DirectX khi hỗ trợ khá nhiều dòng card màn hình cũ như GTX 600 hay ATI Radeon 7700. Sự hỗ trợ đằng sau của Khronos Group cũng là một lợi thế hết sức lớn mà trước đây Mantle đã không có và DirectX cũng không. Valve với hệ điều hành riêng của mình SteamOS cũng hoàn toàn tích hợp công nghệ đồ họa của Vulkan.

Người dùng Mac và iOS cũng được hỗ trợ Vulkan

Năm 2018, trong sự kiện của mình thì Apple cũng cho biết người dùng Mac, iPhone và iPad sẽ sớm được trải nghiệm nhiều tựa game đòi hỏi hiệu năng đồ họa cao nhờ vào việc hỗ trợ API Vulkan. Và không lâu sau hãng công nghệ này đã hỗ trợ. Giờ đây Vulkan là một API GPU mở và cross-platform, hiện đã được hỗ trợ bởi các smartphone Android, Windows, Linux, game console, các bộ headset VR và rất nhiều nữa.

*

Khronos Group, một tổ chức chuyên tạo ra các tiêu chuẩn cho ngành đồ họa đã tạo ra MoltenVK cho macOS và iOS. Giải pháp của họ giúp các nhà phát triển có thể dễ dàng chuyển nền các tựa game hiện có trên Windows và Android sang các thiết bị Mac và iOS.

Xem thêm: Tải Game Siêu Nhân Nhện, Game Siêu Nhân Người Nhện Online

Một trong số các nhà phát triển đó có Valve đã và đang thử nghiệm phiên bản macOS của game DotA 2 với kết quả khá khả quan. Phiên bản Vulkan-on-Metal của trò chơi có tốc độ khung hình cao hơn 50% so với phiên bản sử dụng OpenGL của Apple. Lâu nay, driver OpenGL của Apple nhận chỉ trích rất nhiều do hiệu năng kém lẫn việc Apple từ chối hỗ trợ phiên bản mới nhất của đặc tả này.

Tuy nhiên, MoltenVK cũng không phải hoàn hảo như mong đợi vì nó thiếu một số tính năng Vulken. Thế nhưng nhờ vào thiết kế không thực hiện bất kỳ tác vụ remap hay chuyển đổi dữ liệu và gọi hàm nào, nên nó đảm bảo hiệu suất đạt được nhất quán và có thể dự đoán được với chi phí xử lý thấp, giúp đảm bảo trò chơi chạy mượt. Đây mới chính là lợi thế lớn mà nó mang lại cho các nhà phát triển. Chẳng hạn trường hợp của DotA 2 có thể giúp nhà phát triển kiếm được nhiều tiền hơn nhờ vào việc sử dụng MoltenVK, để đưa những tựa game từ Windows và Android sang Mac và iOS một cách dễ dàng hơn.

Hiện tại, một “lớp dịch mã lệnh” tương tự, cho phép các ứng dụng Vulkan có thể sử dụng back-end DirectX 12, giúp mang những tựa game Microsoft Store vốn chỉ cho phép dùng DirectX lên các nền tảng khác thông qua API đồ họa cross-plaform ở mức độ low-level, bằng API của GPU và mang đến hiệu năng cao tương đương.

Vulkan qua các năm

Nhóm Khronos đã bắt đầu dự án tạo API đồ họa thế hệ tiếp theo vào tháng 7 năm 2014 với một cuộc họp khởi động tại Valve . Tại SIGGRAPH 2014, dự án đã được công bố rộng rãi với lời kêu gọi người tham gia. Theo Văn phòng Sáng chế và Nhãn hiệu Hoa Kỳ, nhãn hiệu cho Vulkan đã được nộp vào ngày 19 tháng 2 năm 2015.

Vulkan chính thức được đặt tên và công bố tại Hội nghị các nhà phát triển trò chơi năm 2015, mặc dù những suy đoán và tin đồn xoay quanh một API mới đã tồn tại từ trước và gọi nó là ” glNext “.

Vào đầu năm 2015, LunarG (được tài trợ bởi Valve ) đã phát triển và giới thiệu một trình điều khiển Linux cho Intel cho phép khả năng tương thích Vulkan trên đồ họa tích hợp HD 4000 series, mặc dù trình điều khiển Mesa mã nguồn mở không tương thích hoàn toàn với OpenGL 4.0 cho đến cuối năm đó. Vẫn có khả năng hỗ trợ Sandy Bridge, vì nó hỗ trợ tính toán thông qua Direct3D11.

Vào ngày 10 tháng 8 năm 2015, Google thông báo rằng các phiên bản Android trong tương lai sẽ hỗ trợ Vulkan. Android 7.x “Nougat” ra mắt hỗ trợ Vulkan vào ngày 22 tháng 8 năm 2016. Android 8.0 “Oreo” có hỗ trợ đầy đủ. Vào ngày 18 tháng 12 năm 2015, Khronos Group thông báo rằng phiên bản 1.0 của đặc điểm kỹ thuật Vulkan đã gần hoàn thiện và sẽ được phát hành khi có các trình điều khiển phù hợp.

Xem thêm: Cờ Tướng Việt Nam

Ashes of the Singularity là tựa game đầu tiên được phát hành với sự hỗ trợ DirectX 12. Đây cũng là một trong những game đầu tiên hỗ trợ Vulkan. Phiên bản đang phát triển của trò chơi đã được phát hành thương mại thông qua Steam Early Access vào ngày 22 tháng 10 năm 2015. Phiên bản chính thức của trò chơi được phát hành trên Windows vào ngày 31 tháng 3 năm 2016.

Chuyên mục: Hỏi Đáp