Khronos Group (badan standar di belakang OpenGL) baru saja mengumumkan Vulkan :
Vulkan adalah generasi baru, API standar terbuka untuk akses efisiensi tinggi ke grafik dan menghitung pada GPU modern. Desain dari atas ke bawah ini, yang sebelumnya disebut sebagai Next Generation OpenGL Initiative, memberikan aplikasi kendali langsung atas akselerasi GPU untuk kinerja dan kemampuan prediksi yang maksimal.
Halaman mereka cukup marketese / jargon -heavy, seperti halnya siaran pers ... Secara sederhana, apa arti Vulkan bagi pengembang game? (Gabe Newell dikutip sangat mendukung, tanpa penjelasan lebih lanjut.)
Apa sebenarnya hubungan Vulkan dengan OpenGL? Nama sebelumnya "glNext" (kependekan dari "Next Generation OpenGL Initiative") membuatnya terdengar seperti pengganti.
Pembaruan: Vulkan 1.0 spec dirilis pada 16-02-2016.
Jawaban:
Vulkan adalah API baru untuk grafik akselerasi perangkat keras (dan perhitungan umum) melalui GPU tradisional. OpenGL akan terus dikembangkan, karena ini adalah API tingkat lebih tinggi dari yang dimaksudkan Vulkan. Awalnya disebut "glNext," orang dapat menyimpulkan bahwa Vulkan kemungkinan akan berakhir menjadi "OpenGL 5," tetapi badan standar akhirnya memutuskan bahwa nama baru akan lebih baik bertepatan dengan pemecahan yang relatif bersih dari maksud API untuk membuat dari yang sudah ada Paradigma OpenGL.
Keuntungan praktis Vulkan untuk pengembang game terutama tentang kontrol (seperti pada, memungkinkan lebih banyak darinya, berpotensi memungkinkan untuk optimalisasi yang lebih baik dengan biaya lebih banyak pekerjaan di muka pada bagian pengembang). Secara khusus:
Vulkan sangat mirip C / mirip OpenGL dalam struktur superfisial (tampilan dan nuansa panggilan API, dan lain-lain. Namun demikian, diketik lebih baik (dalam hal itu tidak semuanya telanjang
int
; ada typedef yang relevan dan sebagainya).Levelnya jauh lebih rendah dari OpenGL. Seseorang dapat mengharapkan lompatan dalam pengaturan operasional dan kompleksitas antara OpenGL dan Vulkan seperti yang terlihat dalam transisi D3D9 ke D3D10, yang mengekspos lebih banyak detail operasi perangkat GPU di bawah penutup untuk klien API. Transisi ini sebenarnya lebih mirip dengan D3D11 hingga 12, karena D3D12 sendiri merupakan API yang sangat mirip dengan Vulkan, berdasarkan kemampuan.
sumber
gl
awalan di mana-mana diganti denganvk
: blog.imgtec.com/powervr/…Untuk menguraikan masa depan OpenGL:
OpenGL mungkin mencapai kinerja yang sebanding dengan Vulkan, dalam panggilan undian per detik, tetapi juga mengenai overhead driver umum:
ARB_direct_state_access
(4.5 core)ARB_bindless_texture
,, ...).ARB_buffer_storage
, inti dalam 4.4) memori buffer dapat diakses langsung oleh CPU, sehingga sinkronisasi dengan GPU juga eksplisit, seperti halnya Vulkan.NV_command_list
(lihat presentasi Siggraph Asia 2014 dari Tristan Lorach ) kemungkinan akan memberikan "paradigma pemberian makan" kepada OpenGL yang sama dengan Vulkan.sumber
Khronos baru-baru ini mengumumkan perilisan API Vulkan yang semuanya baru, yang akan melengkapi (dan dalam beberapa kasus menggantikan) OpenGL dan OpenGL ES. Vulkan adalah API overhead rendah yang dirancang untuk membawa kode "lebih dekat ke logam", meningkatkan kinerja dan efisiensi. Ini didasarkan pada AMD's Mantle API, dan spesifikasi akhir diharapkan akhir tahun ini.
Dalam posting ini - Tinjauan Singkat Dari Vulkan API - Editor Teknis Toptal Nermin Hajdarbegovic menjelaskan mengapa Vulkan bisa menjadi masalah besar dalam jangka panjang. Mungkin perlu waktu, tetapi lintas-platform API ini dapat secara drastis meningkatkan kinerja 3D pada perangkat tertentu, terutama prosesor aplikasi multi-core yang digunakan dalam miliaran smartphone dan tablet.
sumber