Tham dự Tech Lounge

Tham dự Tech Lounge


Vulkan API mà Galaxy S7 hỗ trợ là gì và nó giúp việc chơi game, đồ hoạ ra sao?

Duy Luân
21/2/2016 5:5Phản hồi: 44
Vulkan API mà Galaxy S7 hỗ trợ là gì và nó giúp việc chơi game, đồ hoạ ra sao?
Vulkan, trước đây còn được biết đến như là "glNext", là một tập hợp những hàm lập trình (API) dùng cho việc xây dựng game, hình ảnh 3D và tính toán hiệu năng cao để thay cho OpenGL đã cũ kĩ. Điểm đặc biệt của Vulkan đó là nó ít hao tài nguyên hệ thống hứa hẹn mang đến những game và ứng dụng đồ hoạ chạy ngon lành hơn, đẹp hơn ngay cả với những phần cứng hiện tại. Ngoài ra những hàm API này còn tương thích nhiều hệ điều hành và nhiều loại máy khác nhau, từ điện thoại, máy tính bảng, desktop cho đến cả máy console. Vulkan được "chống lưng" bởi nhiều công ty lớn như AMD, Intel, NVIDIA nên tiềm năng phát triển sẽ rất lớn và được hỗ trợ lâu dài. Galaxy S7 là chiếc smartphone đầu tiên trên thế giới hỗ trợ Vulkan, một số GPU desktop của AMD và NVIDIA cũng bắt đầu hỗ trợ nhưng chỉ mới beta.

Vulkan là gì?


Vulkan được phát triển bởi Khronos, một hiệp hội phi lợi nhuận chuyên về việc phát triển các API mở và không thu phí bản quyền. Thành viên chủ chốt của Khronos bao gồm ATI (giờ đã về với AMD), NVIDIA, Intel, Discreet, Silicon Graphics, ngoài ra còn có sự tham gia tích cực của Apple, Sony, Google, Samsung, Unity, Qualcomm, MediaTek... Hiệp hội này chia làm nhiều nhóm nhỏ bên trong và họ cũng là những đơn vị chịu trách nhiệm phát triển các chuẩn đồ hoạ phổ biến như OpenGL, OpenCL, bộ API dùng cho website WebGL, WebCL và nay là Vulkan.

Khrnos_Group.png

Không như những hàm API đồ hoạ đi trước, Vulkan được thiết kế lại từ đầu để hỗ trợ hết tính năng mà Khronos mong muốn. Nó được làm theo dạng module nên có tính linh hoạt cao, dễ dàng mở rộng thêm nhiều tính năng mới trong tương lai, hỗ trợ nhiều công cụ đặc thù của các hãng làm GPU, cũng như cung cấp việc điều khiển trực tiếp bộ xử lý đồ hoạ vốn rất cần thiết cho các engine làm game hoặc ứng dụng đồ hoạ. Việc phát triển Vulkan đã bắt đầu diễn ra từ năm 2014.


Về lý thuyết, Vulkan có thể điều khiển rất rất nhiều nhân GPU trong những cái đồng hồ bé tí bạn đeo trên tay, trên điện thoại của bạn, trên máy tính, workstation, kính thực tế ảo, xe hơi, máy in 3D và nói chung là bất kì thứ gì gắn được GPU vào. À, đừng quên robot nữa, robot cũng cần năng lực xử lý đồ hoạ cao để nhận biết thế giới xung quanh và phản ứng lại tương ứng.

Vulkan_tuong_thich.jpg

Ở trên mình có nói đến việc Vulkan sẽ cho phép phần mềm hay game truy cập thẳng xuống GPU để tận dụng sức mạnh. Nếu bạn nghe có vẻ quen quen thì đúng rồi đấy, AMD đã từng có một cách làm tương tự với bộ API Mantle của công ty. Mantle sẽ giúp giảm tải cho CPU khá đáng kể và nhường phần tính toán lại cho GPU vì nó không cần thông qua nhiều lớp trung gian (abstraction) như thiết kế truyền thống của kiến trúc hệ điều hành. Nói cách khác, Mantle sẽ cho phép bạn bớt tiền mua CPU và dồn tiền đó mua card đồ hoạ để tận dụng Mantle tốt hơn.

Mantle ra mắt vào năm 2013 nhưng hồi đầu năm 2015 AMD đã làm mọi người bất ngờ khi quyết định không ra mắt bản chính thức của các hàm API này. Lúc đó giới đồ hoạ bắt đầu lên tiếng than vãn chê bai, fan của AMD cũng tỏ ra hoài nghi về sự kiện "khai tử" đứa con mà AMD đã dành rất nhiều công sức nuôi nấng. Thế rồi, mới đây họ lại một lần nữa làm giới công nghệ bất ngờ khi Mantle đã hồi sinh ở một dạng khác bên trong Vulkan, lần này còn ấn tượng hơn khi mà nó không còn bị bó buộc vào riêng phần cứng của AMD nữa.

AMD_Mantle.jpg

Ngoài Vulkan và Mantle, DirectX 12 (máy Windows) và Metal (iOS) cũng là hai bộ hàm API hỗ trợ truy xuất sâu xuống GPU.

Cấu hình chính thức bản 1.0 của Vulkan được phát hành lần đầu tiên vào ngày 16/2/2016 (trước đó Khronos tính ra mắt ngay trong năm 2015 luôn nhưng không kịp). Hiện bộ SDK Vulkan đã có cho Android, Linux và Windows, chưa có thông tin về iOS và OS X. AMD và NVIDIA cũng đã ra mắt các driver để bổ sung Vulkan cho các phần cứng của mình mặc dù chúng chỉ mới ở giai đoạn beta.

Lợi ích của Vulkan

Quảng cáo



Truy xuất thẳng xuống GPU
Lợi điểm này nãy giờ mình nói ở trên nhiều rồi, không nhắc lại nữa 😁. Tóm tắt ngắn gọn: Vulkan cho phép tạo ra những game và ứng dụng đồ họa với hiệu năng đồ họa cao hơn, hay nói cách khác: game sẽ cho ra hình ảnh đẹp hơn, mượt mà hơn, ứng dụng chỉnh sửa ảnh sẽ xử lý nhanh và tốt hơn, app làm phim chạy ngon hơn, anh em nào cần dựng hình 3D hay làm mô hình cũng sẽ thấy sự cải thiện về tốc độ.

Giảm tải cho CPU
Đầu tiên, Vulkan có được những đặc tính giúp giảm tải cho CPU giống như Mantle và dồn việc sang GPU. Điều này có nghĩa là CPU sẽ làm ít việc hơn khi bạn chơi game, xử lí ảnh, dựng phim, dựng mô hình 3D, từ đó giúp thiết bị của chúng ta có thời gian dùng pin dài hơn (tuy không nhiều lắm). Nếu CPU không nghỉ ngơi lúc đó, nó sẽ được dùng cho những tác vụ khác mà GPU không đảm nhận, ví dụ như duy trì việc chạy nền của các app đa nhiệm, điều khiển việc nhận tin nhắn và cuộc gọi, truy xuất đến các dịch vụ push notification để mang thông báo về cho bạn xem...

Chưa hết, Vulkan còn tận dụng rất tốt các luồng xử lý và nhân xử lý của CPU để hoàn thành tác vụ được giao nên các game hay app hỗ trợ Vulkan sẽ khai thác hiệu quả hơn CPU đa nhân vốn đang xuất hiện rộng khắp các thiết bị di động, máy tính lẫn thiết bị đeo được. Những bộ API cũ như DirectX 11 hay Open GL 4 trở về trước chỉ được thiết kế cho CPU đơn nhân mà thôi nên chúng không thể trải công việc ra nhiều nhân một các hiệu quả, thậm chí có cái lại còn chẳng đụng đến tính năng đa nhân nữa. Vậy tức là CPU mà bạn đã bỏ tiền ra mua đang không được xài triệt để, trong một số trường hợp thì nhân này quá tải trong khi nhân kia lại rảnh rỗi chẳng có việc gì làm dẫn đến các vấn đề về hiệu năng hệ thống và rất hay bị nghẽn cổ chai.

Driver đơn giản, hiệu quả tốt
Driver phần cứng cần thiết để hỗ trợ Vulkan có thể được tạo ra theo cách đơn giản hơn, gọn nhẹ hơn so với driver của OpenGL. Nhờ đó mà driver sẽ hoạt động hiệu quả hơn, giảm sự hao phí năng lực xử lý không cần thiết, tăng tính tương thích chéo giữa nhiều hãng làm GPU, dễ cập nhật và sửa lỗi hơn...

Quảng cáo


OpenGL_vs_Vulkan_API.jpg

Khả năng tương thích đa nền tảng, đa thiết bị
Khả năng tương thích cao của Vulkan cũng là một lợi điểm cực kì lớn cho những nhà phát triển. Trước đây, bộ API Open GL có hai loại, loại thường dùng cho desktop và loại Open GL ES dùng cho mobile. Hai bộ này có những điểm khác nhau nên nhà phát triển tuy cùng làm một tựa game nhưng sẽ phải chỉnh sửa lại mã nguồn của mình khi phát hành nó cho nhiều thiết bị. Trong khi đó, Vulkan xài chung một bộ API duy nhất cho mọi loại máy móc từ nhỏ đến to nên sẽ tiết kiệm được rất nhiều chi phí, thời gian và nhân lực dành cho việc build phần mềm. Giả sử như chúng ta có game Asphalt 10 được viết bằng Vulkan, khi đó thì game chơi trên chiếc Galaxy S7 của bạn và trên cái máy Mac để ở nhà sẽ giống nhau về mặt xử lý đồ hoạ, cách dựng hình ảnh, độ nét, phương pháp tạo hiệu ứng đổ bóng, phản chiếu, sương mù...

Theo Khronos, Vulkan còn có khả năng tương thích phần cứng rất tốt dù cho phần cứng đó thuộc nhiều nhà sản xuất. Trước đây các hãng làm game và phần mềm đồ hoạ thường gặp những lỗi không dự đoán được khi họ mang game làm bằng OpenGL lên GPU của các công ty khác nhau. Chính vì thế mà thỉnh thoảng chúng ta hay thấy các bán vá lỗi game nhưng chỉ dành cho một dòng GPU nhất định của một hãng nào đó. Tình trạng này sắp tới sẽ không còn nữa với sự trợ giúp của Vulkan. Nói đơn giản hơn, một game viết ra sẽ chạy ngon cho dù GPU đó là của AMD, NVIDIA, ARM (Mali), Imagination (PowerVX) hay Qualcomm (Adreno).

Tính linh hoạt rất cao
Cũng liên quan tới lập trình viên, Vulkan cho phép chọn một trong ba kiểu sử dụng như sau trong các phần mềm mà họ dự định phát triển:
  • Sử dụng trực tiếp API Vulkan để có hiệu năng và sự kiểm soát cao nhất
  • Sử dụng các thư viện và lớp hàm được định nghĩa sẵn để tăng tốc độ phát triển nhưng hiệu năng không cao bằng
  • Sử dụng các bộ game engine hoặc graphic engine đã được tối ưu sẵn cho Vulkan, tương tự như cách mà người ta xài Unity hay Unreal Engine để làm game ngày nay.
Tính tương thích

Cấu hình Vulkan 1.0 cho biết rằng bộ API này sẽ chạy trên bất kì phần cứng nào hỗ trợ cho OpenGL ES 3.1 và Open GL 4.x hoặc cao hơn. Bạn sẽ phải cài driver mới để bổ sung Vulkan cho card đồ hoạ của mình, tuy nhiên nhà sản xuất GPU có phát hành cho bạn hay không lại là chuyện khác và model nào nhận được, model nào không thì còn tuỳ hãng.

Tuy nhiên, nếu chỉ có phần cứng không thì chưa đủ mà game và phần mềm cũng phải hỗ trợ Vulkan để tận dụng được tối đa sức mạnh của các hàm API này. Chiếc Galaxy S7 bạn mua vào tháng tới có thể đã có Vulkan, card đồ hoạ cho máy bàn nhà bạn có thể đã có Vulkan ngay hôm nay, nhưng hiện chưa có nhiều game được viết bằng Vulkan nên phải một thời gian nữa thì chúng ta mới có thể cảm nhận được sự khác biệ mà bộ hàm này mang lại trên thực tế.

Danh sách GPU và SoC đã hỗ trợ cho Vulkan 1.0 có thể xem ở đây. Về mảng di động thì có nhiều cái tên đáng chú ý như dòng GPU PowerVR cao cấp đang xài cho iPhone và một số điện thoại Android, GPU Mali phổ biến trên các máy Samsung, Adreno của Qualcomm trong Snapdragon 650, 650, 820 và còn nhiều thứ khác nữa. Con chip đồ họa trên Galaxy S7 và S7 Edge thì tất nhiên là hỗ trợ rồi.

44 bình luận
Chia sẻ

Xu hướng

Không liên quan nhưng khi nào Note 4 có Androi 6.0 ạ ?
Có chỉnh tay phơi sáng và tính năng của note 5 không các pro
@nobita.pro88 Chắc tháng sau có. Nhưng sẽ không có tính năng gì của Note 5 (để dễ bán) và chắc chắn không có chỉnh tay (vì nó liên quan phần cứng). Nhưng sẽ cải thiện đa nhiệm.
playmarble
TÍCH CỰC
8 năm
@nobita.pro88 samsung sẽ không úp giao diện s6 note 5 lên note 4 đâu, hơi buồn
Razor11
CAO CẤP
8 năm
@playmarble Cái đó phải nhờ vào rom cook 😃
ha_saoxet
ĐẠI BÀNG
8 năm
biết OpenGL từ 2006, đang định quay lại với em thì đọc được bài này
Đọc hoa cả mắt.nói chung năm nay s7 good
ai xài threejs thì thích cái này, mong Chrome (hay thằng lào cũng được) sớm hổ trợ và đưa hàm api nó vô...
Khac Cuong
TÍCH CỰC
8 năm
S7 bá cháy
Note 5 có hỗ trợ vulkan ko ạ
@jacknguyen9x tất cả các GPU support OpenGLES 3.1 với OpenGL 4.0 thì dùng được Vulkan
Còn chạy được hay ko thì do người viết driver nữa
@jacknguyen9x Không nhé 😁
có backward là được rồi, dự là DirectX với NVIDIA Gameworks hết đất diễn 😁
@magic200395 Em nhìn cái gpu demo của nó thì em khỏi mong ròa. Hehe.
Cái witcher3 demo ngon lắm, nhưng khi ra cắt bớt để có thể bán cho nhiều người chơi.
@magic200395 Techdemo để phô diễn công nghệ là chính chứ chẳng mấy người có cái máy kéo nổi thế này 😁:D
magic200395
ĐẠI BÀNG
8 năm
@finalmagic 4 con gtx titan x, cấu hình này thì dân ta thật là ... sao mà yêu thương được . @@
@magic200395 Bác nghe game Gears of War dùng Directx 12 chưa, ra rồi đấy :p bác google thử đi
z[H.U.Y]Zz
ĐẠI BÀNG
8 năm
Chắc nốt 4 lên 6.0 sẽ không được mang giao diện và cửa hàng chủ đề của dòng S và Note năm 2015 trở lên đâu nhỉ...
chà chà,S650 và S652 hỗ trợ Vulkan kìa 😁 redmi note 3 pro chắc là đt Android rẻ nhất có chuẩn này
Có vẻ năm nay SS dồn toàn lực cho em nó.
Razor11
CAO CẤP
8 năm
PowerVR mà
ngoc1414
TÍCH CỰC
8 năm
Cái đậu xanh QC, Adreno 3xx ko support này, thế là s801 đã bị dừng support :|
@ngoc1414 adreno 430 còn ko có chuẩn này 😃 nói j adreno 330
@ngoc1414 Máy cũ thì nó ko support thôi chứ sao 2 năm rồi chứ ít đâu. Mà bác lo gì bây h bên mobile có còn game nào đồ hoạ ngon mà gameplay chất lượng nữa đâu, toàn rác vs rác thôi. Cùng lắm là tiếc vì ko đc chiêm ngưỡng sự phát triển về đồ hoạ game mobile mà thực ra có khi đến 2017 vs 2018 ms ra một game tận dụng đc kha khá sức mạnh của cái bộ API này
nghe hấp dẫn quá😁
Thêm lựa chọn, note6 sẽ hoàn thiện hơn ,đợi thôi
hunter9x08
ĐẠI BÀNG
8 năm
@hunter9x08 hết slot lâu rồi 😔
Binpro1001
ĐẠI BÀNG
8 năm
đọc xong cũng chả bit nó là gì...hix...chỉ biết chắc là nó làm cho máy nhanh hơn và CPU k phải hoạt động nhìu hơn mà đc truy thẳng xuống GPU từ đó giảm đc time, tăng hiệu năng và bớt tốn pin...phải k các thánh?!
wenquan
TÍCH CỰC
8 năm
Nói chung Apple nó vẫn làm chuẩn hơn, nếu nó muốn khoe khoang games ngon thì nó cũng chuẩn bị một tựa games khủng kèm theo để quảng cáo. Samsung quảng cáo thế này nhưng mau về lại chẳng có games chơi.
@wenquan Cái này thì rõ rồi. Ios khi sinh ra nó vốn đã đc chú ý 1 cách đặc biệt và cũng từ đó tới nay, nhà phát triển luôn kiến cơm chủ yếu nhờ nó với lượng người dùng cực cao, thêm nữa số thiết bị không quá cao, nên viết app đỡ cực. Apple cũng đọc quyền ios nên vc tương thích chắc chắn sẽ tốt hơn.
SS muốn như apple chỉ có mỗi cách là phát triển hdh riêng. còn chung android thì muôn đời cũng chả thế tối ưu 1 cách triệt để đc. điều đó quá phụ thuộc vào google và nhà phát triển game.
gjn.t1m
ĐẠI BÀNG
5 năm
@wenquan Comment không liên wan 1 cái gì cả ... Vulkan là tập API mở do Khronos đề ra như thằng OpenGL hay OpenGL ES . Còn mấy thằng nhà sx như SS, Apple, ... tào lao gì đấy thì tụi nó chỉ viết driver để chạy .
wenquan
TÍCH CỰC
5 năm
@gjn.t1m Vđ đào mộ
Theo mình biết Vulkan là tên một hành tinh................................ trong phim 😁

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