3 poin oleh GN⁺ 2025-07-17 | 1 komentar | Bagikan ke WhatsApp
  • WebGPU resmi didukung di Firefox 141 versi Windows setelah pengembangan yang panjang
  • WebGPU adalah antarmuka GPU berbasis web untuk pemrosesan grafis modern dan komputasi berkinerja tinggi, dan diharapkan akan meningkatkan level game, visualisasi, dan komputasi lokal secara signifikan
  • Implementasi WebGPU di Firefox dibangun di atas library WGPU berbasis Rust, dengan dukungan berbagai backend seperti Direct3D 12, Metal, dan Vulkan
  • Untuk saat ini hanya diaktifkan secara resmi di Windows, sementara dukungan untuk Mac, Linux, dan Android direncanakan menyusul
  • Masih ada tugas pengembangan lanjutan seperti peningkatan performa dan kepatuhan terhadap standar

Arti dukungan WebGPU di Windows

  • WebGPU yang telah dikembangkan dalam waktu lama kini resmi hadir di Firefox 141 untuk lingkungan Windows
  • WebGPU adalah standar modern yang memungkinkan konten web terhubung langsung dengan GPU pengguna untuk mewujudkan grafis berkinerja tinggi dan komputasi paralel
  • Dengan teknologi ini, batas performa di berbagai bidang seperti game berbasis web, visualisasi data, dan machine learning diperkirakan akan meluas secara signifikan
  • Pembelajaran dan praktik terkait dapat dilakukan melalui tutorial WebGPU, contoh WebGPU, dan dokumentasi MDN
  • WebGPU didefinisikan oleh standar WebGPU W3C dan standar WGSL, dan Mozilla telah aktif berpartisipasi dalam proses standardisasi sejak 2017

Status WebGPU di tiap browser

  • Di Chrome, dukungan WebGPU sudah tersedia sejak 2023
  • Di Safari 26, rilisnya dijadwalkan pada musim gugur tahun ini
  • Firefox 141 saat ini hanya mendukung Windows secara resmi, sementara Mac/Linux/Android akan diperluas melalui pembaruan mendatang
  • Pada versi Firefox Nightly, selama ini WebGPU dapat digunakan secara eksperimental di semua platform kecuali Android

Implementasi WebGPU di Firefox

  • WebGPU di Firefox dikembangkan berdasarkan library open source Rust WGPU
    • WGPU terhubung ke API grafis tingkat rendah seperti Direct3D 12, Metal, dan Vulkan agar sesuai dengan perangkat keras di berbagai platform
    • Mozilla adalah salah satu kontributor utama proyek WGPU
    • Jika Anda adalah pengembang Rust, memulai dari proyek WGPU adalah pendekatan yang tepat untuk berkontribusi pada WebGPU di Firefox
  • WGPU juga digunakan luas di luar Firefox dan memiliki komunitas yang aktif

Tantangan utama dan pekerjaan perbaikan

  • WebGPU adalah API yang besar dan kompleks, dan hingga kini stabilisasi difokuskan pada demo utama dan kasus penggunaan nyata
  • Area yang masih perlu ditingkatkan:
    • Menyelesaikan masalah penurunan performa akibat IPC tanpa buffering dengan proses sandbox GPU (bug 1968122, peningkatan performa direncanakan di Firefox 142)
    • Latensi yang meningkat karena waktu selesainya pekerjaan GPU hanya dideteksi dengan timer interval (bug 1870699, sedang diperbaiki dengan pendekatan yang lebih baik)
    • Karena importExternalTexture belum didukung, data video belum bisa dibaca langsung dari decoder ke GPU (bug 1827116, sedang dalam pengembangan)
  • Jika masalah muncul dalam penggunaan nyata, detailnya perlu dilaporkan melalui komponen WebGPU di Bugzilla

Rencana ke depan

  • Setelah Windows, dukungan resmi akan diperluas ke Mac, Linux, lalu Android
  • Ada rencana peningkatan berkelanjutan untuk performa, kompatibilitas, dan kepatuhan standar
  • Dukungan resmi WebGPU diharapkan membuka kemungkinan baru bagi aplikasi web

1 komentar

 
GN⁺ 2025-07-17
Komentar Hacker News
  • Ini kabar yang sangat ditunggu-tunggu, selamat untuk tim Firefox
    Perusahaan saya sedang mengembangkan cara agar Unreal bisa berjalan di browser, dan kami telah membangun WebGPU RHI kustom yang disesuaikan untuk Unreal Engine 5
    Bagi yang ingin melihat demo teknologinya langsung, silakan lihat tautan di bawah
    (Hanya berfungsi di browser berbasis Chromium pada desktop dan beberapa ponsel Android)
    Cropout: https://play-dev.simplystream.com/?token=aa91857c-ab14-4c24-963a-36203784474b
    Car configurator: https://garage.cjponyparts.com/

    • Saya sudah mencobanya di Firefox 142 (nightly)
      Cropout lama tertahan di 0% sambil menghasilkan lebih dari 1200 permintaan jaringan
      Pada akhirnya menu memang termuat, tetapi latarnya hitam dan hanya elemen UI yang terlihat
      Banyak error muncul saat parsing shader, dan ada juga error lain
      Car configurator menghasilkan beberapa error, berhenti di 0%, dan tidak memuat
      Muncul pesan bahwa "file game hilang sehingga sulit menginisialisasi shader global dan konten"
      Saya harap ini dibagikan setelah setidaknya diuji secara minimal di Firefox juga

    • Memang disebutkan "hanya berfungsi di browser berbasis Chromium", tetapi karena postingan ini membahas WebGPU di Firefox,
      saya penasaran apakah ada rencana untuk menguji atau merilis versi yang kompatibel dengan Firefox

    • Saya mencoba menjalankan "cropout" di Android Chrome pada Pixel 7a dan macet di 0%
      "car configurator" berjalan sampai 97~98%, tetapi setelah itu tidak lanjut lagi

    • Saya penasaran apakah ini berjalan di Windows dengan Firefox 141
      Jika tidak, saya ingin tahu alasannya

    • Di Google Chrome untuk macOS, tautan pertama berhenti di 0% dan tidak bergerak
      Demo kedua berhenti di 98% atau 97%
      Hal yang sama juga terjadi di Safari

  • Melihat situasi API grafis saat ini, rasanya malah seperti kemunduran dibanding era OpenGL
    Menurut saya API modern tidak benar-benar memberikan kemudahan penggunaan maupun portabilitas dan lintas platform dalam arti yang sesungguhnya
    Membuat wrapper kustom untuk berbagai backend grafis seperti Vulkan, Metal, dan DirectX12 terasa nyaris seperti pemborosan waktu
    Rasanya mirip kembali memakai array char alih-alih string demi performa

    • Saya tidak tahu janji apa yang pernah dibuat, atau siapa yang membuat janji itu
      Tujuan API grafis sejak awal adalah memasukkan kode dan data ke GPU secepat mungkin, bukan mengutamakan pengalaman pengembang
      Saya merasa WebGPU membungkus compute dan render di browser dengan cukup baik
      Memang belum sempurna, tetapi menurut saya lebih intuitif dan lebih mudah dieksplorasi dibanding WebGL atau OpenGL

    • Saya kurang melihat masalahnya
      Stack grafis sudah lama memiliki API level rendah (contohnya Gallium di Mesa), dan sekarang itu distandardisasi lalu pengguna bisa memilihnya sendiri
      API level tinggi juga masih ada, dan OpenGL tetap didukung di platform yang masuk akal
      WebGPU juga cukup bisa dipakai di kode native
      Kurangnya portabilitas sejati pada API level rendah seperti ini hampir sepenuhnya kesalahan Apple dan para pembuat konsol
      Meski begitu, dari pembuat konsol memang sejak awal tidak banyak yang mengharapkan kerja sama

    • Pelajaran dari era OpenGL adalah bahwa memakai API level tinggi yang sama di semua platform tidak otomatis menghasilkan hasil yang baik
      Pada akhirnya yang penting adalah apakah ada API yang mampu mengendalikan hardware platform tersebut dengan baik
      Wrapper yang menerjemahkan OpenGL selalu dibutuhkan, dan dulu tidak ada cara untuk menghindari wrapper ini
      Pendekatan untuk menghasilkan hasil terbaik bagi tiap jenis hardware kurang praktis
      Yang benar-benar penting adalah apakah tersedia lapisan translasi yang mudah
      Jika memang ingin akses sangat dalam ke hardware, justru dibutuhkan API yang bisa mendekati hardware secara langsung, bukan antarmuka yang terlalu sederhana atau terlalu umum

    • OpenGL menjadi terlalu kompleks setelah 2.0, dan WebGPU membungkus fitur-fitur Vk, D3D12, dan Metal dengan cukup nyaman
      Menurut saya desainnya jauh lebih baik daripada OpenGL
      Secara terpisah, D3D11 dan Metalv1 mungkin adalah titik keseimbangan terbaik antara kegunaan dan performa (terutama performa D3D11 yang bahkan sulit dikejar oleh Vulkan dan D3D12)

    • Saya juga setuju
      Saya tetap akan mengembangkan dengan interop OpenGL dan CUDA
      Vulkan terlalu penuh kompleksitas hasil overengineering tanpa manfaat praktis yang nyata, jadi akhirnya saya malah memilih CUDA

  • Saya masih berharap WebGPU berhasil meluas ke luar lingkungan browser
    dan menjadi API lintas platform yang mudah digunakan dan diatur lewat spesifikasi resmi (yakni pengganti OpenGL)
    Tetapi selain di ekosistem Rust, saya merasa arus penggunaan WebGPU di kode native tidak terlalu besar
    Misalnya, saya belum pernah mendengar proyek besar yang memakai Dawn
    Mungkin juga karena WebGPU hadir terlalu terlambat, sehingga kebanyakan pihak sudah lebih dulu membangun lapisan abstraksi sendiri di atas dx, vulkan, dan metal

    • Pada akhirnya saya rasa ini tidak akan menyebar luas
      Memang ada sedikit kesederhanaan, tetapi banyak fiturnya juga kurang
      Beberapa fitur yang opsional di Vulkan (misalnya render pass) masih wajib di WebGPU
      Bind group bersifat statis sehingga justru merepotkan
      Selain itu WebGPU punya banyak batasan dan elemen yang tidak perlu
      Misalnya, host tidak bisa langsung menulis ke subregion buffer dan harus memakai buffer perantara (staging buffer)
      Karena tidak ada alternatif, saya akan memakainya di web, tetapi di desktop saya akan tetap memakai framework interop OpenGL+CUDA
      Saya berharap ada API grafis modern yang lebih masuk akal
      Jika pekerjaan yang mestinya cukup dengan cuMemAlloc, cuMemcpy malah menjadi rumit karena alokasi dan binding buffer yang kompleks, pipeline, explicit sync, bind group, descriptor set, dan elemen-elemen tak perlu lainnya, saya tidak ingin memakainya

    • WebGPU tidak memberi optimasi dan kontrol serinci Vulkan, dan performanya juga cenderung tidak setara Vulkan
      Berbagai extension yang ada di Vulkan juga masih belum didukung di WebGPU

    • Middleware yang dibutuhkan sebenarnya sudah ada
      Di luar browser, menurut saya tidak perlu menunggu WebGPU
      Soalnya ada keterbatasan yang berasal dari desain API yang sejak awal berfokus pada sandbox browser

    • Menurut saya namanya sendiri juga masalah besar
      Saya pengembang native murni, jadi selama bertahun-tahun saya menganggap nama "web gpu" itu benar-benar teknologi khusus web dan tidak memperhatikannya, padahal setelah saya pelajari ternyata itu salah paham

  • Saya sangat senang crate gpu-allocator kami https://github.com/Traverse-Research/gpu-allocator/ tampaknya akan dikenal jauh lebih luas
    Selama ini dipakai di backend dx12 milik wgpu dan produk benchmark GPU kami sendiri, evolve https://www.evolvebenchmark.com/
    Ke depannya saya berharap bisa dipakai lebih luas lagi

  • Baru sekarang saya sadar bahwa WebGPU sebenarnya sudah bisa dipakai di Firefox Nightly untuk macOS
    Saya mengunduh nightly untuk Mac dari https://www.mozilla.org/en-US/firefox/channel/desktop/
    lalu menjalankan demo https://huggingface.co/spaces/reach-vb/github-issue-generator-webgpu, dan itu berjalan dengan baik
    Demo ini memakai model SmolLM2 yang dikompilasi ke WebAssembly untuk ekstraksi data terstruktur
    Sebelumnya saya kira ini hanya berjalan di Chrome, tetapi di Firefox resmi (Stable) muncul error bahwa "WebGPU tidak didukung"

    • Saya anggota tim Firefox WebGPU
      Dukungan macOS akan segera dirilis secara resmi
      Selain Windows, kami juga berencana segera mendukung WebGPU di Mac, Linux, dan terakhir Android
  • Senang mendengar bahwa ada rencana "mendukung WebGPU di Mac, Linux, dan terakhir Android"
    Tetapi untuk saat ini saya masih sulit terlalu berharap
    Saya rasa alasan dukungan WebGPU selama ini sulit hadir di browser Linux kemungkinan karena terlalu sulit membuka attack surface baru
    Kompleksitas seperti inilah yang menunjukkan betapa besarnya standar web yang membuat pengembangan browser menjadi sulit
    Pengaruh keputusan desain sejak era Netscape tampaknya masih tersisa hingga sekarang, dan menjadi akar dari kekhawatiran seperti monopolisasi browser dan masalah pendanaan

    • Tergantung Linux yang mana
      Di Android/Linux, WebOS/Linux, dan ChromeOS/Linux, WebGPU sudah didukung
      Namun ini memang menunjukkan bahwa dukungan untuk workload seperti ini di GNU/Linux tidak terlalu diprioritaskan oleh vendor browser
  • Saya juga menantikan implementasi untuk Linux
    Saya penasaran demo apa saja yang layak dicoba saat WebGPU hadir nanti

  • Sepertinya Firefox akan mendukung WebGPU di Linux lebih dulu daripada Chrome

    • Jujur ini agak mengejutkan
      dawn (implementasi webgpu dari Google) sebenarnya berjalan cukup baik di Linux, tetapi Firefox justru tampak akan lebih dulu mendukungnya
  • Akhirnya dukungan WebGPU mulai hadir, tepuk tangan untuk semuanya
    Saya agak merasa kurang nyaman bereksperimen dengan WebGPU yang hanya ada di Chrome
    Safari juga baru-baru ini mulai mendukungnya di versi preview

  • Saya sudah hampir 2 tahun memakai wgpu di proyek utama saya
    Dengan meluasnya WebGPU kali ini, saya berharap jumlah maintainer bertambah
    sehingga issue yang saya buka 18 bulan lalu bisa diselesaikan lebih cepat
    Saya memang belum menyentuh Rust, tetapi semoga suatu hari saya punya motivasi dan waktu untuk ikut berkontribusi langsung
    Saya bergantung pada binding wgpu-native, dan pembaruannya datang dengan lambat
    Misalnya, minggu lalu akhirnya baru masuk ke v25, padahal beberapa hari lalu v26 sudah rilis