Vulkan run time libraries là gì? – TRAINGHIEMSO.VN

0
225

Vulkan run time libraries là gì

Thư viện thời gian chạy Vulkan là gì?

Vulkan là một công nghệ đồ họa 3D đa nền tảng có chi phí thấp. Thư viện thời gian chạy Vulkan nhằm mục tiêu phục vụ cho 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 mọi nền tảng.

Thư viện thời gian chạy Vulkan được thiết kế bởi các nhà sản xuất card đồ họa Nvidia hoặc AMD. Nếu bạn muốn gỡ bỏ thư viện thời gian chạy Vulkan khỏi hệ thống máy tính của mình, chỉ cần gỡ cài đặt nó đi. Vulkan cũng có các tiêu chuẩn đồ họa mới tương tự như OpenGL và DirectX.

Vulkan được xây dựng để chọn lọc những ưu điểm của API và tiền thân của nó là OpenGL. Trong quá trình cài đặt thư viện thời gian chạy Vulkan trên hệ thống máy tính, không có thông báo nào xuất hiện để người dùng thông báo về danh tiếng của họ. Thư viện thời gian chạy Vulkan có thể chứa đồ họa 3D, nhưng cũng có khả năng hiển thị các ứng dụng đồ họa 2D.

Vulkan được thiết kế để cung cấp hiệu suất cao hơn và cân bằng sử dụng CPU/GPU tốt hơn so với OpenGL, DirectX và Metal. Một điểm khác biệt lớn so với DirectX 11 và OpenGL là Vulkan cung cấp một thư viện cấp thấp hơn đáng kể và hỗ trợ tính song song. Ngoài việc giảm việc sử dụng CPU, Vulkan cũng có khả năng phân phối công việc tốt hơn trên nhiều lõi CPU.

Nguồn gốc Vulkan

Thư viện thời gian chạy Vulkan có thể được coi là hậu duệ của OpenGL, và API đồ họa này ra đời sớm hơn cả DirectX. Cho đến nay, OpenGL và DirectX vẫn là hai API đối lập nhau, nhưng do sự phát triển không hoàn thiện và khó hội nhập, OpenGL dần bị lùi xa, còn DirectX trở nên “không thành công”. Năm 2013, AMD bắt đầu phát triển thư viện API riêng của mình, gọi là Mantle, khi nhận thấy sự phát triển của API đang chậm lại và giảm đi.

Một điểm quan trọng của dự án này là AMD đã tận dụng được một điểm yếu mà API không tận dụng được vào thời điểm đó, đó là khả năng điều chỉnh ở mức độ mã hóa cực thấp. Điều này có nghĩa là các lập trình viên sử dụng Mantle thay vì DirectX hoặc OpenGL để phát triển phần mềm hoặc trò chơi sẽ nhận thấy hiệu suất tăng lên rất nhiều. Sau đó, Vulkan lần đầu tiên được công bố tại GDC 2015 bởi nhóm Khronos phi lợi nhuận. Ban đầu, API Vulkan được gọi là “Dự án OpenGL thế hệ tiếp theo” hoặc “OpenGL thế hệ tiếp theo” của Khronos, nhưng khi Vulkan được công bố, tên gọi này đã bị loại bỏ. Vulkan được lấy từ và được xây dựng dựa trên API Mantle của AMD, được AMD tặng cho Khronos để cung cấp cho họ một nền tảng để phát triển các API cấp thấp mà họ có thể tiêu chuẩn hóa trong toàn ngành.

Tuy nhiên, Mantle đã không trở thành Vulkan do lỗi của AMD khi chỉ cho phép API này hoạt động trên card đồ họa ATI Radeon của riêng họ, buộc các nhà phát triển phải thực hiện thêm công việc tích hợp API này cho các nhà phát triển trò chơi. Việc này mất rất nhiều công sức, thời gian và tiền bạc. Trong khi đó, Vulkan đã vượt qua các hạn chế này và trở thành một công nghệ đồ họa đa nền tảng.

Vulkan có lợi thế hơn DirectX 12 không?

Về hiệu năng, Vulkan hoàn toàn có thể sánh ngang với DirectX 12. Công nghệ mà DirectX 12 sử dụng, đa luồng trên CPU, hỗ trợ VR, can thiệp vào GPU ở mức độ thấp, v.v… gần như đều được hỗ trợ trong Vulkan. Sự khác biệt lớn nhất giữa thư viện thời gian chạy Vulkan và DirectX là DirectX 12 chỉ chạy trên hệ điều hành Windows 10, trong khi Vulkan có thể chạy trên mọi hệ điều hành như Linux, hệ điều hành di động và thậm chí cả Windows 7, 8 và 10.

Vulkan cũng đã được chứng minh là vượt trội hơn DirectX trong việc hỗ trợ các card đồ họa cũ như GTX 600 hoặc ATI Radeon 7700. Sự hỗ trợ từ nhóm Khronos cũng là một lợi thế rất lớn mà Mantle trước đây đã có. Không chỉ DirectX, hệ điều hành riêng SteamOS cũng tích hợp đầy đủ công nghệ đồ họa của Vulkan.

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

Tại sự kiện năm 2018, Apple thông báo rằng người dùng Mac, iPhone, iPad sẽ sớm được trải nghiệm nhiều tựa game đòi hỏi đồ họa cao nhờ hỗ trợ Vulkan API. Ngay sau đó, các công ty công nghệ đã ủng hộ nó. Thư viện thời gian chạy Vulkan hiện là API GPU đa nền tảng mở, được hỗ trợ trên điện thoại thông minh Android, Windows, Linux, bảng điều khiển trò chơi, tai nghe VR, v.v.

Nhóm Khronos, 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ọ cho phép các nhà phát triển dễ dàng chuyển các trò chơi Android và Windows hiện có của họ sang các thiết bị macOS và iOS.

Một trong những nhà phát triển đang thử nghiệm phiên bản macOS của trò chơi Dota 2 với kết quả tốt. 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. Trình điều khiển OpenGL của Apple đã bị chỉ trích vì hiệu suất kém và việc Apple từ chối hỗ trợ phiên bản mới nhất của tiêu chuẩn này.

Vulkan qua các năm

Nhóm Khronos đã tổ chức một cuộc họp khởi động tại Khronos vào tháng 7 năm 2014, khởi động dự án tạo API đồ họa thế hệ tiếp theo. Tại SIGGRAPH 2014, dự án đã được công bố rộng rãi và kêu gọi sự tham gia. Theo USPTO, nhãn hiệu Vulkan đã được nộp vào ngày 19 tháng 2 năm 2015.

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

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

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” đã phát hành 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, nhóm Khronos thông báo rằng phiên bản 1.0 của tiêu chuẩn Vulkan sắp hoàn thành và sẽ được phát hành khi có trình điều khiển tương thích.

Ash of the Singularity là trò chơi đầu tiên hỗ trợ DirectX 12 và là trò chơi đầu tiên hỗ trợ Vulkan. Phiên bản phát triển của trò chơi được phát hành chính thức vào ngày 22 tháng 10 năm 2015 thông qua Steam Early Access. 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.

SDK Vulkan đã được mã nguồn mở vào ngày 16 tháng 2 năm 2016. Vào ngày 26 tháng 2 năm 2018, nhóm Khronos thông báo rằng API Vulkan có sẵn trên macOS và iOS thông qua thư viện MoltenVK, cho phép Vulkan chạy trên Metal.

Vào ngày 25 tháng 2 năm 2019, Nhóm công tác quan trọng về an toàn Vulkan (SC) đã thông báo về việc tăng tốc giới thiệu GPU Vulkan cho các ngành quan trọng về an toàn. Dịch vụ chơi trò chơi trực tuyến trên nền tảng đám mây Google Stadia sử dụng Vulkan và GPU AMD trên các máy chủ dựa trên Linux.

Vào ngày 15 tháng 1 năm 2020, Vulkan 1.2 đã được phát hành. Với việc phát hành Vulkan 1.2, nhóm Khronos đã xuất bản một bài đăng trên blog tuyên bố rằng hỗ trợ HLSL trong Vulkan đã đạt đến trạng thái “sẵn sàng sản xuất”.

Vào ngày 3 tháng 2 năm 2020, Raspberry Pi Foundation đã thông báo rằng họ đang phát triển trình điều khiển Vulkan mã nguồn mở cho máy tính bảng Raspberry Pi của mình. Vào ngày 20 tháng 6 năm 2020, một kỹ sư đồ họa đã tiết lộ rằng anh ấy đã có thể chạy vkQuake3 với tốc độ hơn 100 khung hình/giây trên một máy tính nhỏ.

Vào ngày 17 tháng 3 năm 2020, nhóm Khronos đã phát hành tiện ích dò tia.

Tác động của Vulkan đối với trò chơi

Cả game engine và game đều phải dựa vào API để giao tiếp với phần cứng, do đó API có ảnh hưởng đáng kể đến hiệu năng của phần cứng khi chạy game. Cả DirectX và Vulkan đều có ưu điểm và nhược điểm và phù hợp với các mục đích khác nhau. Cùng nhau, chúng đã có những đóng góp quan trọng trong việc tạo ra thế giới trò chơi như chúng ta thấy ngày nay.

Lý do chính mà bạn nên quan tâm đến DirectX và Vulkan là một số trò chơi sử dụng một API và một số trò chơi sử dụng API khác. Với những trò chơi sử dụng thư viện thời gian chạy Vulkan, GPU của AMD sẽ có lợi thế hơn GPU của Nvidia và cho hiệu năng cao hơn. Thông thường, game đa nền tảng sẽ sử dụng Vulkan. Thay vào đó, với những trò chơi sử dụng DirectX, nó sẽ được tối ưu tốt hơn trên GPU Nvidia.

Các lập trình viên hiện tại có nên học Vulkan không?

Nếu bạn đang bắt đầu và muốn làm việc trên GPU, bạn nhất định nên bắt đầu bằng cách tìm hiểu thư viện thời gian chạy Vulkan. Có thể bạn cũng nên học OpenGL sau đó, nhưng có một số lý do để xem xét Vulkan trước.

Nếu bạn học Vulkan, bạn sẽ hiểu rõ hơn về cách thức hoạt động thực tế của công nghệ cũng như những gì là hiệu quả và những gì không. Tôi thấy nhiều người bắt đầu với OpenGL hoặc OpenGL ES và ngay lập tức rơi vào những thói quen xấu như đưa ra các lệnh gọi riêng rẽ cho từng đối tượng thay vì sử dụng VBOs hoặc tệ hơn là sử dụng display lists. Đối với các lập trình viên OpenGL, khá khó để tìm ra những điều không còn được khuyến nghị.

Chuyển từ Vulkan sang OpenGL hoặc OpenGL ES dễ dàng hơn nhiều so với chuyển từ OpenGL sang Vulkan. Vulkan làm rõ nhiều điều ẩn hoặc không thể đoán trước trong OpenGL, chẳng hạn như trạng thái điều khiển, chia sẻ và kết xuất đồng thời.

Nếu bạn không thích trò chơi này và không chơi trên máy tính của bạn, bạn có thể gỡ cài đặt nó nếu muốn. Vì không phải tất cả các trò chơi sử dụng Vulkan. Với API Vulkan và chương trình phù hợp, hiệu suất phần cứng hiện tại của bạn sẽ đạt đến một tầm cao mới. Vulkan thật tuyệt vời vì bây giờ bạn có thể điều chỉnh phần cứng hệ thống của mình.

Hãy nhớ rằng đôi khi các chương trình bảo vệ Windows hoặc phần mềm chống vi-rút có thể hiển thị Vulkan là mối đe dọa, nhưng đó không phải là sự thật. Vì vậy, đừng xóa nó khỏi hệ thống của bạn.

Bài viết liên quan

  • Ra mắt Zoom 5.0: Nhiều tính năng mới và bảo mật tốt hơn
  • Lỗi tài khoản Zing MP3 trở thành tài khoản VIP 10 năm
  • Zentube: Xem các video YouTube được nhắm mục tiêu
  • Zenkit?