Apa Sih Vulkan ? dan Apa Bedanya Dengan OpenGL ?
Semenjak awal dirilisnya android Nougat sekitar awal tahun 2016, ada sebuah fitur yang digadang-gadang bakal menjadi gebrakan baru di dunia gaming.
Yap, betul.
Vulkan API.
Banyak yang sudah tau mengenai apa itu Vulkan, tapi lebih banyak lagi yang tidak mengenalnya.
Sebetulnya apa sih Vulkan itu ? Kenapa sampai seheboh itu ?
Vulkan merupakan salah satu Graphics API, sama seperti OpenGL dan Direct3D.
Lho terus kalau sama, kenapa dibuat beda ?
Nah, mari kita bahas.
Dulu, saat munculnya OpenGL versi 3.1, perbedaan terhadap versi pendahulunya yaitu versi 2.0 sangatlah jauh.
Tampilan yang dihasilkan oleh OpenGL versi 3.1 begitu memukau dan banyak efek grafis yang mana belum mampu dibuat oleh versi pendahulunya.
Tapi transformasi ini bukannya tanpa efek samping.
Malah dengan adanya penambahan kemampuan ini, OpenGL3.1 jadi jauh lebih berat ketimbang OpenGL 2.0.
Begitu beratnya, terkadang game sampai tidak dapat dimainkan.
Begitu beratnya, terkadang game sampai tidak dapat dimainkan.
Wah, kalau begitu bukannya mending balik ke OpenGL 2.0 ?
Iya betul, tapi disinilah Vulkan memainkan perannya.
Vulkan menjanjikan kualitas gambar setara OpenGL 3.1 dengan performa yang bisa dibilang malah lebih baik.
Tapi Bagaimana mungkin ?
Kalau dilihat dari cara kerjanya, singkat kata Vulkan itu lebih efisien.
Udah, itu aja.
OpenGL yang kita kenal selama ini ternyata pada awalnya didesain untuk single-core cpu, alias cpu ber-inti tunggal.
Operasinya juga hanya bisa diselesaikan secara berurutan.
Beda dengan Vulkan, yang mana support multithreading lebih baik, dan mampu memaksimalkan performa dengan memanfaatkan semua core atau inti dari processor.
Hasilnya ialah tingkat penggunaan CPU yang lebih rendah karena task yang disebar ke semua inti processor.
Udah, itu aja.
OpenGL yang kita kenal selama ini ternyata pada awalnya didesain untuk single-core cpu, alias cpu ber-inti tunggal.
Operasinya juga hanya bisa diselesaikan secara berurutan.
Beda dengan Vulkan, yang mana support multithreading lebih baik, dan mampu memaksimalkan performa dengan memanfaatkan semua core atau inti dari processor.
Hasilnya ialah tingkat penggunaan CPU yang lebih rendah karena task yang disebar ke semua inti processor.
Terus apa manfaatnya bagi game pada smartphone?
Sudah jelas.
Dengan konsep kerja yang demikian, Vulkan akan mampu membuat processor lebih adem.
Batre yang digunakan juga akan jadi lebih awet.
Bahkan tidak menutup kemungkinan, game pada android kedepannya akan semakin gila dalam hal grafis.
Tapi apakah ini semua hanya teori ?
Awalnya saya juga ragu dengan Vulkan ini.
Dengan konsep kerja yang demikian, Vulkan akan mampu membuat processor lebih adem.
Batre yang digunakan juga akan jadi lebih awet.
Bahkan tidak menutup kemungkinan, game pada android kedepannya akan semakin gila dalam hal grafis.
Tapi apakah ini semua hanya teori ?
Awalnya saya juga ragu dengan Vulkan ini.
Tapi setelah test benchmark dan main PPSSPP dengan renderer Vulkan di hp kentang saya, baru saya percaya.
pada benchmark 3dmark vulkan unggul signifikan |
Pada benchmark, Vulkan sangat unggul baik pada overall score dan API overhead.
Sementara, performa pada game yang saya mainkan saat itu, hampir mencapai 2 kali lipatnya.
Bayangkan.
Sementara, performa pada game yang saya mainkan saat itu, hampir mencapai 2 kali lipatnya.
Bayangkan.
Tentu saja saya sadar ini tergantung dari game dan device itu sendiri.
Namun, jika melihat dari konsep kerjanya, saya yakin ini akan menggeser OpenGL dalam hal gaming di android dalam waktu dekat.
Buktinya saja PPSSPP sudah menggunakan Vulkan sebagai renderer bawaan (default), tapi tetap menyematkan OpenGL untuk jaga-jaga.
Cukup menyakinkan.
Tapi pasti beberapa dari kalian masih akan bertanya-tanya,
Buktinya saja PPSSPP sudah menggunakan Vulkan sebagai renderer bawaan (default), tapi tetap menyematkan OpenGL untuk jaga-jaga.
Cukup menyakinkan.
Tapi pasti beberapa dari kalian masih akan bertanya-tanya,
Adakah kelemahannya ?
Dari segi performa, saya rasa tidak.
Tapi..
Vulkan API masih tergolong baru di lingkungannya.
Masih dalam tahap pengembangan aktif.
Tentu saja ada beberapa perangkat yang tidak support.
Atau malah suport namun dengan driver yang bermasalah.
Game yang support Vulkan secara native juga tidak sebanyak OpenGL.
Tentu saja hal ini akan berubah dikemudian hari, seiring dengan berjalannya waktu.
Update 2020
Vulkan versi 1.2 telah dirilis, dan merupakan Major update kedua yang telah mengintegrasikan 23 ekstensi tambahan ke base standarnya.
Nah, fitur tambahan ini terbukti meningkatkan peforma graphics API ini, dan membuatnya lebih fleksibel serta lebih kompatibel.
Jadi semakin penasaran saja perkembangannya beberapa tahun kedepan.. 😆Nah, itu dia sedikit bahasan tentang Vulkan API.
Untuk kalian yang ingin pasang Vulkan di smartphone, kalian bisa baca artikel Cara pasang Vulkan di Android
Ngomong-ngomong, pasti masih banyak pertanyaan di benak kalian yang belum terjawab.
Atau malah ada pendapat lain?
Kalian bisa share pertanyaan tersebut di kolom komentar, kali aja saya bisa bantu :)
Ane mau share hasil 3D mark ane sebelum dan sesudah update ke Android 10
ReplyDeleteUntuk skor sling Shot extream di android 9 openGL 3.1 es dan vulkan adalah 2105 dan 2006 . Sedangkan di Android 10 openGL 3.1 es dan vulkan masing masing menjadi 2179 dan 2030. Bisa dilihat perbedaan nilai ada peningkatan namun tidak terlalu signifikan
Yang saya herankan terdapat perbedaan cukup jauh di pengujian API overhead dimana saat android 9 openGL 3.1 es dan vulkannya adalah 220629 dan 230399. Setelah up ke android 10 openGL 3.1 dan vulkannya menghasilkan skor 245717 dan 407730. Bisa dilihat, ada peningkatan cuman yang sangat signifikan terjadi di bagian vulkannya
Yang jadi pertanyaan, apa perbedaan pengujian antara sling shot extream dan API overhead. Sehingga pada skor API overhead terdapat peningkatan yang menjadi 2x lipatnya. Sedangkan didalam game itu yang lebih berperan apakah sling shot extream atau API overhead?
Yang saya tangkap dari kedua benchmark sintetis itu ya kalau slingshot extreme menguji fitur kedua API (OpenGL dan Vulkan) secara menyeluruh
DeleteSedangkan API overhead lebih ke metode independen yang dikhususkan untuk menguji "hanya" fitur API Overhead itu sendiri, dimana perangkat dilihat dari seberapa banyak dapat menangani Draw Call request sebelum frame drop dibawah 30fps
Keduanya penting dalam game, hanya saja merefleksikan hal yang berbeda
Nah, yang mas lihat di peningkatan skor mas merupakan salah satu kelebihan fitur Vulkan, seperti yg dijelaskan di artikel ini
Untuk real time performance memang Vulkan saat ini masih mirip dgn OpenGL 3.1, karena memang faktor limitasi teknologi sekarang
Tapi melihat perkembangan perangkat kedepannya dengan semakin banyaknya inti proses, saya rasa kita perlu API yg lebih modern dari OpenGL
Semoga menjawab pertanyaan, dan terimakasih sudah mampir
Itu benchmark nya pake apa?
ReplyDeleteRedmi 4X, aplikasi 3DMark mas..
DeletePunya saya di tes di ppsspp vulkan dan open GL alhasil Fps lebih stabil di open GL daripada vulkan, kenapa begitu ya?
ReplyDeleteMemang Vulkan masih dalam pengembangan aktif dibanding OpenGL yg sudah matang lebih disupport banyak hardware,
DeleteJadi performa tergantung support hardware untuk sekarang
Ppspp emulator pc kok pakai vulkan game smackdown 2006 dan smackdown 2007 berkedip2 gambarnya, dan ada yg hilang bagian penontonya hitam, akan tetapi setelah diganti opengl. Gambanya tidak berkedip2 dan bagian penontonya, tidak hilang hitam.??
ReplyDeleteMungkin Vulkan blm sepenuhnya support sama game itu..
DeleteKalau pakai OpenGL ga ngelag, stay di OpenGL aja mas