AMD telah membuka kode sumber untuk V-EZ, sebuah lintas-platform, shell Vulkan level rendah

Vulkan API adalah antarmuka perangkat lunak lintas platform tingkat rendah yang memberikan kinerja grafis 3D yang lebih tinggi karena biaya yang lebih rendah dibandingkan dengan API lain seperti OpenGL, terutama dengan fungsi GPU khusus (API juga cocok untuk rendering 2D). Dengan implementasi yang tepat, Vulkan menyediakan "dari peningkatan kecepatan marginal ke polinom dibandingkan dengan API lain pada peralatan yang sama."

Pengembang Grup Khronos memperkenalkan Vulkan API pada konferensi GDC 2015, dan rilis pertama pada Februari 2016. Awalnya, Vulkan API disebut "generasi OpenGL berikutnya" atau hanya glNext, tetapi kemudian namanya diubah menjadi Vulkan.

Banyak yang menunggu rilis teknologi revolusioner ini, yang sangat mempercepat grafis 3D dan mengurangi beban pada prosesor, seperti Direct3D 12, Metal dan Mantle. Tetapi masalahnya adalah bahwa Vulkan API membutuhkan lebih banyak pekerjaan dari pengembang, sementara API tingkat tinggi seperti OpenGL dan DirectX 11 menyederhanakan banyak hal, seperti manajemen memori. Untuk membantu bekerja dengan Vulkan, AMD telah mengembangkan lapisan pembungkus dan abstraksi V-EZ, dan sekarang telah menerbitkan kode sumber untuk alat ini di bawah lisensi MIT gratis ( repositori GitHub ).

Awalnya, V-EZ dirilis pada bulan Maret 2018 dengan sumber tertutup, sekarang pembatasan ini telah dihapus.


Vulkan API

V-EZ adalah tingkat menengah (middlware), yang mengambil banyak fungsi tambahan selama pengembangan, sehingga pengembang tidak perlu segera mengetahui dan secara manual menangani semua seluk-beluk Vulkan, V-EZ akan melakukan banyak hal sendiri. Shell bantu menggunakan semantik yang sama dengan Vulkan API, yaitu, dapat digunakan sebagai semacam alat pelatihan. Dimulai dengan V-EZ, pengembang dapat secara bertahap terbiasa - dan akhirnya beralih menggunakan Vulkan secara langsung. Ini juga berarti bahwa dalam banyak kasus dokumentasi Vulkan berlaku untuk V-EZ.

Keuntungan Vulkan dibandingkan API generasi sebelumnya:

  • Vulkan API sangat cocok untuk kartu grafis kelas atas dan untuk peralatan grafik di perangkat seluler.
  • Tidak seperti Direct3D 12, Vulkan tersedia di banyak sistem operasi modern, tidak terikat dengan OS atau faktor bentuk apa pun. Sejak awal, Vulkan API bekerja di Android, Linux, Tizen, Windows 7, Windows 8 dan Windows 10, ada dukungan pihak ketiga untuk iOS dan macOS.
  • Mengurangi overhead pengemudi, mengurangi beban CPU.
  • Mengurangi beban pada CPU melalui penggunaan pemrosesan batch.
  • Penskalaan yang lebih baik untuk prosesor multi-inti.
  • OpenGL menggunakan GLSL bahasa tingkat tinggi untuk menulis shader, yang memaksa setiap driver OpenGL untuk mengimplementasikan kompilernya sendiri untuk GLSL, yang berjalan secara runtime untuk menerjemahkan program shader ke kode mesin GPU. Sebagai gantinya, driver Vulkan harus menerima shader yang telah dikonversi ke format biner menengah SPIR-V, mirip dengan format biner di mana shader HLSL dikompilasi ke dalam Direct3D.
  • Berkat kompilasi awal shader, kecepatan inisialisasi aplikasi meningkat, dan untuk setiap adegan Anda dapat menggunakan shader dalam jumlah yang lebih besar. Pengemudi hanya membutuhkan optimalisasi GPU tertentu dan pembuatan kode, yang menyederhanakan perawatan driver dan mengurangi ukurannya.
  • Manajemen terpadu core komputasi dan grafik bayangan, menghilangkan kebutuhan untuk menggunakan API komputasi terpisah dalam kombinasi dengan API grafik.



Lapisan menengah V-EZ

Meskipun pencipta Vulkan API adalah Khronos Group, teknologinya didasarkan pada Mantle API, yang disumbangkan AMD ke Khronos Group. Idenya adalah untuk menciptakan teknologi yang lebih maju yang tidak terikat pada produsen tertentu, sehingga dapat diadopsi sebagai standar industri yang diakui secara umum, seperti OpenGL. Karenanya, AMD kini membantu memajukan Vulkan API dan menciptakan alat pendukung seperti V-EZ.

Persyaratan Instalasi untuk V-EZ


  • 64-bit Windows 7, 8.1, 10
  • Linux 64-bit (diuji pada Fedora dan Ubuntu)
  • Visual Studio 2015 atau lebih baru
  • GCC 4.9 atau lebih baru
  • CMake 3,8 atau lebih baru
  • LunarG Vulkan SDK 1.1.70

V-EZ tidak terikat dengan vendor tertentu dan harus bekerja pada peralatan non-AMD.

Pembuat V-EZ berharap bahwa publikasi kode sumber di bawah lisensi gratis akan berkontribusi pada popularitas yang lebih besar dari shell V-EZ, dan, akibatnya, dari antarmuka pemrograman tingkat rendah yang baru. Pada gilirannya, ini akan membantu pengembang mengadopsi API baru, yang akan mengarah pada kinerja game yang lebih baik dan lebih banyak game lintas platform.

Vulkan saat ini didukung oleh sejumlah mesin game, termasuk Sumber 2, Serious Engine 4, Unreal Engine 4, Torque 3D, id Tech 3, id Tech 4, id Tech 6, Xenko, Unity, CryEngine, Intrinsik, Unigine, Abyss Engine , Banshee 3D dan Godot.

Source: https://habr.com/ru/post/id421361/


All Articles