Kontributor Bevy merilis 0.19 dengan rendering yang lebih cepat dan alat scene baru

Kontributor Bevy merilis 0.19 dengan rendering yang lebih cepat dan alat scene baru

Anita Farkas
Anita Farkas
5 min read

Bevy 0.19 memberi para pengembang game Rust sintaks scene baru, alat rendering yang lebih tajam, dan komponen editor yang membawa engine lebih dekat ke alur kerja visual yang direncanakan.

Featured image

Kontributor Bevy merilis Bevy 0.19 pada 19 Juni 2026, dengan 261 kontributor dan 1.185 pull request di balik langkah terbaru mesin game Rust ini menuju scene yang lebih kaya, rendering yang lebih cepat, dan fondasi editor yang lebih kuat.

Pengembang dapat memasang rilis ini dari crates.io, membaca kode sumber di GitHub, dan menggunakan panduan migrasi untuk aplikasi dan plugin yang sudah ada.

Rilis ini berpusat pada Bevy Scene Notation, atau BSN. Kontributor Bevy merancang BSN agar pengembang dapat mendeskripsikan hierarki entitas dalam sintaks yang mirip Rust melalui makro bsn!. Tim ini merencanakan aset .bsn berbasis file pada rilis berikutnya, tetapi 0.19 memberi pengguna yang berorientasi kode sintaks utama dan model komposisinya.

bsn

BSN penting untuk Bevy UI karena gaya fungsi spawn lama memaksa pengembang menghubungkan anak, aset, dan observer melalui panggilan terpisah. Dengan BSN, pengembang dapat mendeklarasikan sebuah widget, menambahkan komponen, mereferensikan aset, dan mendaftarkan observer dalam satu ekspresi. Itu membuat kode UI lebih mudah dipindai, dan memberi Bevy Editor masa depan format yang dapat dibagikan pengembang antara kode dan aset.

Rendering juga mendapat peningkatan besar. Kontributor Bevy memindahkan lebih banyak pekerjaan renderer ke GPU, memperluas batching, dan mengurangi akses memori di jalur panas. Benchmark banyak-kubus proyek ini menunjukkan skala perubahan tersebut: Nvidia RTX 4090 mobile merender 1,6 juta entitas mesh kubus dengan culling pada 18,77 milidetik per frame di Bevy 0.19, turun dari 49,47 milidetik di 0.18. Dengan culling dimatikan, waktu frame turun dari 93,1 milidetik menjadi 41,2 milidetik.

bevy_city

Contoh baru bevy_city menampilkan kota dengan 55.000 entitas yang dirender. Bevy 0.18 merender versi statis pada 19,3 milidetik dan versi bergerak pada 22,1 milidetik. Bevy 0.19 membawa angka-angka itu menjadi 11,8 milidetik dan 16,2 milidetik.

Kontributor Bevy juga memperluas perangkat visual mesin. Contact shadow menggunakan raycast ruang-layar pendek dari permukaan menuju cahaya, sehingga bayangan jarak dekat memiliki keterikatan dan detail yang lebih baik daripada yang bisa disediakan shadow map sendirian. Pengembang mengaktifkannya per cahaya dan menambahkan ContactShadows ke kamera.

Solari, renderer path-traced real-time milik Bevy, mendapatkan cermin yang lebih baik, perbaikan material nonlogam, perilaku temporal yang lebih stabil, dan peningkatan kecepatan. Screen-space reflection menggunakan algoritme berbasis fisika. Lampu area persegi panjang hadir melalui Linearly Transformed Cosines, memberi pengembang satu alat lagi untuk pekerjaan pencahayaan real-time.

solari

Dukungan teks melangkah jauh ke depan. Komponen baru EditableText memberi Bevy UI input teks bawaan, termasuk input keyboard, seleksi, perpindahan kursor, dukungan clipboard, teks dua arah, dan dukungan IME. Pengembang masih perlu membangun fitur seperti teks placeholder, undo, dan masking kata sandi, tetapi Bevy 0.19 memberi widget dasar ini fondasi yang lebih kuat.

Kontributor Bevy juga mengganti model lama yang hanya bergantung pada handle font dengan pemilihan font yang lebih kaya. Pengembang dapat mereferensikan handle aset, family bernama, dan kategori semantik seperti monospace atau sans serif. TextFont menambahkan field weight, width, dan style, dan FontSize mendukung unit mirip CSS seperti Vw, Vh, dan Rem.

feathers widgets

Feathers, koleksi widget Bevy yang berfokus pada editor, mendapat input teks, input angka, menu dropdown, toggle disclosure, ikon, pane, tampilan daftar, dan scrollbar. Kontributor mem-port Feathers ke BSN, yang menunjukkan arah besar rilis ini: pekerjaan editor Bevy terus menghasilkan komponen engine yang dapat digunakan ulang sebelum editornya hadir sebagai produk penuh.

Pola yang sama muncul pada pengaturan aplikasi, gizmo transform, dan infinite grid. Kerangka pengaturan memuat dan menyimpan grup sebagai resource ECS. Gizmo transform memberi penulis editor handle translasi, rotasi, dan skala untuk viewport 3D. Infinite grid menggunakan shader layar penuh untuk menggambar bidang tanah yang memudar dengan jarak dan menghindari artefak horizon.

Beberapa perubahan membentuk ulang internals Bevy. Kontributor mengganti render graph dengan jadwal ECS, sehingga render pass dapat berjalan sebagai sistem biasa dalam jadwal seperti Core3d dan Core2d. Perubahan ini memangkas boilerplate rendering kustom dan memberi pekerjaan renderer masa depan jalur yang lebih jelas ke model penjadwalan Bevy.

Resource juga dipindahkan ke ECS sebagai komponen pada entitas singleton. Itu memungkinkan pengembang menggunakan alat komponen seperti hook, observer, dan relasi dengan resource. Perubahan ini juga menghapus mesin ganda di dalam engine, yang selaras dengan dorongan jangka panjang Bevy untuk menjadikan ECS sebagai model bersama bagi lebih banyak sistem engine.

Pengembang yang berfokus pada performa mendapat akses query yang berdekatan melalui contiguous_iter dan contiguous_iter_mut. API ini memberikan potongan tabel kepada pengembang alih-alih satu entitas setiap kali, memberi LLVM peluang lebih baik untuk memvektorisasi loop yang berat di CPU. Pada pembaruan posisi 10.000 entitas di catatan rilis, iterasi berdekatan dengan AVX2 memangkas waktu dari 5,51 mikrodetik menjadi 1,87 mikrodetik, dan melewati deteksi perubahan menurunkannya menjadi 1,58 mikrodetik.

Bevy 0.19 juga meningkatkan ketahanan runtime. Pengembang dapat mengonfigurasi penanganan error rendering untuk kehilangan perangkat, error out-of-memory, error validasi, dan error internal. Sebuah game bisa pulih dari kehilangan perangkat, berhenti merender sambil tetap menjaga aplikasi tetap hidup, atau keluar setelah menyimpan state.

Rilis ini mencakup tambahan yang lebih kecil tetapi berguna: delayed commands, text gizmo, task web yang dapat dibatalkan, penyimpanan aset saat runtime, reservasi entitas jarak jauh, kondisi run observer, relasi self-referential, dan serialisasi asset-handle. Masing-masing menghapus sisi kasar dari sistem yang disentuh tim game selama produksi.

Trade-off-nya datang dari cakupan. Bevy 0.19 mengirim banyak fondasi sebelum editor penuh, alur kerja BSN berbasis file, dan desain asset-as-entities hadir. Pengembang yang menginginkan editor visual yang selesai masih perlu menunggu. Pengembang yang menginginkan komponen engine yang dapat mereka pakai di alat mereka sendiri mendapatkan serangkaian API baru yang luas hari ini.

Kontributor Bevy mencantumkan file scene .bsn, internals rendering 2D dan 3D terpadu, entity inspector, assets as entities, pekerjaan shader WESL, dan Bevy Book yang lebih besar sebagai area kerja berikutnya. Bevy 0.19 tidak menutup roadmap itu. Rilis ini memberi pengembang game Rust lebih banyak mesin yang dibutuhkan roadmap tersebut.

Komentar

Memuat komentar...