Wednesday, April 22, 2020

Apa Sih Vulkan ? dan Apa Bedanya Dengan OpenGL ?

apa itu 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.


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.

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.

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.

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,

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.

.


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 :)

Artikel Terkait

2 comments:

  1. Ane mau share hasil 3D mark ane sebelum dan sesudah update ke Android 10

    Untuk 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?

    ReplyDelete
    Replies
    1. Yang saya tangkap dari kedua benchmark sintetis itu ya kalau slingshot extreme menguji fitur kedua API (OpenGL dan Vulkan) secara menyeluruh

      Sedangkan 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

      Delete