Tham dự Tech Lounge

Tham dự Tech Lounge


[GDC 2015] Khronos công bố API đồ họa Vulkan mới thay thế cho OpenGL đã 22 năm tuổi

bk9sw
3/3/2015 10:15Phản hồi: 16
[GDC 2015] Khronos công bố API đồ họa Vulkan mới thay thế cho OpenGL đã 22 năm tuổi
2989895_Vulkan.png
Tại hội nghị lập trình game GDC 2015 đang diễn ra, Khronos Group - một hiệp hội phi lợi nhuận chuyên phát triển các chuẩn mở và giao diện lập trình không lệ thuộc đã vừa giới thiệu hàm API thay thế cho OpenGL có tên Vulkan, phiên bản cập nhật 2.1 của OpenCL và ngôn ngữ lập trình trung gian SPIR-V.

Bên cạnh Vulkan, Khronos cũng công bố OpenCL 2.1 - một phiên bản cập nhật của hàm API mở OpenCL (Open Computing Language). OpenCL là một chuẩn mở được Khronos phát triển bao gồm một ngôn ngữ để lập trình thiết bị và giao diện lập trình ứng dụng nhằm điều khiển nền tảng và thực thi các chương trình trên máy tính. OpenCL thường được sử dụng để khai thác lợi thế của các lõi xử lý trong một GPU để tăng tốc cho các ứng dụng cần xử lý tập trung. Cả 2 Vulkan và OpenCL đều được thiết kế để sử dụng nền tảng chéo, không giống như một số API phụ thuộc vào nền tảng như DirectX cho Windows hay Metal API trên phần cứng của Apple.

Đặt nền móng cho Vulkan và OpenCL 2.1 là một phiên bản mới của SPIR (Standard Portable Intermediate Representation) - đây là một ngôn ngữ trung gian được Khronos phát triển phục vụ cho hoạt động tính toán song song và đồ họa. Phiên bản mới với tên gọi SPIR-V hỗ trợ ngôn ngữ đổ bóng (shader) trên OpenGL (GLSL), hỗ trợ xác định hiệu ứng vẽ và tương lai sẽ hỗ trợ ngôn ngữ đổ bóng C++. Việc sử dụng ngôn ngữ trung gian giúp đơn giản hóa trình điều khiển GPU bởi chúng chỉ cần sử dụng các mã SPIR-V.


Driver thí nghiệm hỗ trợ Vulkan dành cho các GPU PowerVR Rogue.

Tại sao phải nâng cấp OpenGL? OpenGL là một chuẩn đã hơn 22 năm tuổi và ban đầu được thiết kế để hỗ trợ đồ họa trên các máy trạm thay vì các nền tảng hiện đại ngày nay trong đó bao gồm chipset di động với bộ nhớ chia sẻ giữa CPU và GPU. Đối với OpenGL, trình điều khiển phải đảm đương rất nhiều tác vụ bao gồm hiệu lực hóa trạng thái, theo dõi các phần tử phụ thuộc (dependency), soát lỗi và điều này làm giới hạn và ngẫu nhiên hóa hiệu năng. Đối với Vulkan, ứng dụng sẽ trực tiếp kiểm soát hoạt động của GPU thông qua một trình điều khiển đơn giản.

Trong OpenGL, bộ biên soạn ngôn ngữ shader là một phần của trình điều khiển trong khi Vulkan sử dụng SPIR-V. Điều này cũng có nghĩa rằng lập trình viên sẽ bớt trói buộc vào mã nguồn shader. Vulkan cũng cải thiện hiệu năng lập trình đa lõi với nhiều bộ đệm lệnh (command buffer) được thực thi hơn trong lập trình song song. Khronos cho biết: "Trong cấu trúc OpenGL thông thường, việc tạo ra các bộ đệm lệnh và nạp chúng vào GPU rất khó để chia thành nhiều luồng và các ứng dụng OpenGL thường bị giới hạn CPU, GPU không thể được nạp đủ nhanh. Giờ đây, lập trình viên có thể tạo ra nhiều bộ đệm lệnh hơn với Vulkan và điều này không thể được khắc phục trên OpenGL.

Vulkan sẽ là một hàm API đơn hỗ trợ trên nhiều nền tảng từ desktop đến máy chơi game console, thiết bị di động và hệ thống nhúng. Vulkan có thể tương thích ngược với OpenGL và cấu hình thực tế của Vulkan sẽ được Khronos công bố vào cuối năm nay. Hiện tại, Vulkan đã được nhiều ông lớn hỗ trợ bao gồm Intel, Apple, ARM, Nvidia, AMD và các hãng sản xuất chipset như Qualcomm, Imagination và Mediatek. Ngoài ra, Khronos cũng chủ động hợp tác với các đối tác phát triển game engine như Epic, Valve, Unity và Blizzard để họ có thể khai thác sức mạnh của Vulkan.

Theo: The Register
16 bình luận
Chia sẻ

Xu hướng

mấy lão này chắc mê phim Star trek!
whoissu
ĐẠI BÀNG
9 năm
Lâu nay cứ tưởng OpenGL là cảm biến 3 chiều...dân amateur sài công nghệ có khác 😁
@whoissu vui voãi = ))
Bài viết bổ ích.
Chữ cross-platform dịch là đa nền tảng (nhiều nền tảng) nhé Mod
Mấy anh lập trình lại mệt rồi
đọc khó hiểu quá, cho cái link gốc mod ơi o_O
fps thấp coi chóng mặt quá @_@
Wantobe
ĐẠI BÀNG
9 năm
Có link gốc ở cuối bài mà bạn
http://www.theregister.co.uk/2015/03/03/here_comes_vulkan_the_next_generation_of_the_opengl_graphics_api/
Ko hiểu cái này lắm mặc dù cũng biết nó lâu rồi. Thấy trên card đồ hoạ toàn in "tương thích với DirectX 11"
chán nhỉ
Đọc hoa cả mắt. Không hiểu nhiều về mấy vụ này.
Mấy bác end-user chỉ cần hiểu đơn giản là game trong tương lai gần sẽ đỡ giật và lag hơn trên cùng cấu hình máy :p
khoanjoin
ĐẠI BÀNG
9 năm
bác nào cho hỏi opengl với dirrectX của Microsoft là khác nhau chổ nào thế các bác? gà mờ, đọc mà còn lan man
@khoanjoin Cả 2 gọi là "Thư viện giao diện lập trình ứng dụng đồ họa", nó đứng giữa nhận lệnh từ phần mền ví dụ như game trên máy tính rồi điều khiển phần cứng đồ họa (card VGA) thực hiện yêu cầu của phần mềm (hiều như thế này- 1 chương trình ra lệnh "vẽ một bức tranh", "nó" sẽ nhận lệnh đó rồi chạy đến chổ của card đồ họa kêu thằng card đi lấy giấy, lấy bút vẽ bức tranh đó, bức tranh bố cục ra sao màu sắc thế nào thì "nó" dựa trên yêu cầu nhận được mà chỉ đạo).Sự Khác nhau là dirrectX do một mình thằng Microsoft tạo ra chỉ sử dụng được trên sản phẩm của Microsoft (Windows, Xbox) hoặc là các sản phẩm khác được Microsoft cho phép (Mac OS). OpenGL là chuẩn do một hiệp hội nhiều thành viên tạo ra (Khronos), có mã nguồn mở được cộng đồng chung tay xây dựng, tất nhiên là OpenGL xuất hiện được trên bất kì sản phẩm nào cần dùng tới đồ họa (Linux, SteamOS, Windows, Mac OS, thiết bị nhúng, PS3,.... Android và HTML5-dùng phiên bản mobie và web), chữ Open đã là mở mà. Vấn đề là Thằng Microsoft nó tạo ra bộ DirrectX dùng rất tốt mà nó không cho thằng khác dùng, bọn khác muốn thì chỉ có OpenGL già cỗi 22 năm tuổi, thế nên vấn đề cấp thiết là phải tái cấu trúc lại toàn bộ OpenGL để phù hợp với những tiêu chuẩn hiện tại, tất nhiên là đạt hiệu xuất hoạt động tốt trên những phần cứng mới(Nó lý giải vì sao trên phân cứng mới có chữ "tương thích với DirectX..." - OpenGL đã không làm tốt nhiệm vụ của nó, người ta ưa chuộng DX nhiều hơn một phần cũng bởi vì nhà nhà dùng Windows, người người dùng Windows, OpenGL chắc chỉ có phiên bản mobie mới ngon được chút, cảm ơn google đã làm ra android). Kết quả vulkan ra đời, (anh sony mừng thầm đây, máy PS4 của ảnh cấu hình ngon hơn Xbox one nhưng lại dùng OpenGL thua thiệt so với thằng Microsoft, có quả này như hổ mọc thêm cánh nhỉ).
khoanjoin
ĐẠI BÀNG
9 năm
@cherrydat cám ơn bác, thông tin bổ ích!!!
bjnbjn88
ĐẠI BÀNG
5 năm
Vulkan run time libraries là cái gì? có xóa được không?
Vulkan là một API đa nền tảng. Trong khi DirectX chỉ hoạt động trên Windows và Xbox, Vulkan còn có thể hoạt động trên trên Android và Linux. Vulkan là một tiêu chuẩn mới cho các game 3D mới nhất. Nhưng điều đó không có nghĩa là các API cũ hơn không còn cần thiết. Nhiều trò chơi vẫn sử dụng các API cũ và nó vẫn được các nhà sản xuất hỗ trợ.

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019