Mengoptimalkan permainan Anda adalah proses mengonfigurasi aset dan pengaturan Studio Anda untuk menjaga tingkat frame rate dan kinerja tetap tinggi untuk perangkat dengan batasan memori dan unit pemrosesan grafis (GPU). Proses ini memastikan bahwa hampir setiap pengguna memiliki pengalaman gameplay dan visual yang sama saat mereka melihat lingkungan Anda.
Menggunakan file Seni Lingkungan - Mengoptimalkan .rbxl sebagai referensi, bagian ini dari kurikulum seni lingkungan menunjukkan kepada Anda cara meninjau dan mengonfigurasi file tempat Anda untuk grafik yang optimal, termasuk panduan tentang:
- Meninjau parameter fisika dan rendering dari setiap aset untuk memastikan mereka mempertahankan memori dan kinerja mesin.
- Menghapus tekstur, geometri, atau transparansi yang berlebihan yang tidak perlu meningkatkan jumlah perhitungan yang harus dilakukan oleh Mesin Roblox untuk merender aset Anda.
Sementara Mesin Roblox menangani sebagian besar pekerjaan optimasi untuk Anda, Anda dapat membantu dalam upaya optimasi ini dengan memanfaatkan Microprofiler untuk melihat di mana lebih banyak waktu diperlukan untuk merender frame tertentu. Menggunakan informasi ini, Anda dapat membuat keputusan yang tepat tentang aset mana yang perlu perhatian Anda terkait parameter atau konten berlebih. Analisis Adegan adalah alat kuat lainnya untuk memeriksa penggunaan sumber daya.

Tinjau parameter fisika dan render
Dalam Menyusun perpustakaan aset, Anda belajar betapa pentingnya mengatur parameter fisika dan rendering yang memungkinkan aset Anda mempertahankan kualitas visual tinggi di berbagai perangkat dengan batasan memori dan GPU. Namun, adalah hal yang umum saat Anda membangun lingkungan Anda untuk menyesuaikan parameter ini sesuai dengan posisi dan tujuan kontekstual aset dalam permainan Anda. Misalnya, banyak dari dedaunan di lingkungan laser tag contoh akhir melempar bayangan meskipun ada biaya kinerja karena menambah realisme lingkungan.
Ketika Anda memodifikasi parameter fisika dan rendering, berguna di akhir proses pengembangan untuk meninjau semua parameter untuk melihat di mana Anda dapat mengoptimalkan parameter sambil mempertahankan tujuan estetika dan persyaratan gameplay. Untuk menggambarkan, Anda dapat menonaktifkan properti BasePart.CastShadow untuk dedaunan di dekat tepi area gameplay untuk menghemat kinerja tanpa mengganggu gameplay atau pengalaman visual pengguna.


Hapus konten yang tidak penting
Setelah Anda meninjau parameter fisika dan rendering Anda, Anda dapat meninjau aset itu sendiri untuk melihat di mana Anda dapat menghapus konten yang tidak penting dari permainan yang tidak mempengaruhi gameplay Anda, seperti tekstur identik dengan ID aset yang berbeda, geometri kompleks dengan banyak verteks, atau transparansi yang bertumpuk satu sama lain tergantung pada sudut pandang kamera. Bagian berikut merinci apa yang dapat Anda lakukan untuk meninjau konten ini, dan mengapa itu membantu upaya optimasi.
Hapus tekstur duplikat
Saat Anda beralih antara mengembangkan aset Anda dan membangun lingkungan Anda, adalah hal yang umum untuk mengulangi mesh atau tekstur saat Anda menemukan apa yang diperlukan untuk tujuan estetika atau persyaratan gameplay Anda. Jika Anda tidak mengonversi aset Anda menjadi paket, ketika Anda mengimpor iterasi ini ke dalam Studio, Anda membuat ID aset unik yang perlu dirujuk oleh Mesin Roblox saat merender aset Anda dalam lingkungan.
Sebagai contoh, jika Anda mengimpor dua mesh hydrant kebakaran berikut ke dalam Studio secara terpisah, meskipun mereka persis sama dalam penampilan, Mesin Roblox memperlakukan mereka sebagai dua objek dengan ID aset unik. Semakin banyak panggilan unik yang perlu dilakukan mesin, semakin besar dampaknya terhadap memori dan kinerja. Untuk alasan ini, penting untuk memastikan ketika Anda menggunakan kembali aset beberapa kali, setiap instance dari aset tersebut menggunakan ID aset yang sama sehingga mesin hanya perlu melakukan satu panggilan untuk merendernya berulang kali.

Optimalkan geometri
Jika Anda menemukan bahwa Anda perlu melakukan lebih banyak penyesuaian untuk meningkatkan frame rate di berbagai perangkat, berguna untuk melihat di mana Anda dapat mengoptimalkan geometri Anda dengan cara:
- Menggabungkan kelompok mesh menjadi satu aset.
- Mengurangi jumlah poligon dari aset dengan kompleksitas geometris.
Mengembangkan teknik pertama ini, setiap aset unik dalam permainan Anda mewakili panggilan gambar pada GPU di mana ia mengirim sinyal ke GPU untuk memanggil informasi agar Mesin Roblox dapat merender aset dengan benar. Semakin banyak aset unik yang Anda miliki, semakin banyak panggilan gambar yang perlu dilakukan sistem. Untuk alasan ini, jika Anda memiliki sekelompok mesh yang membentuk komponen yang lebih besar dalam permainan Anda, Anda dapat mengelompokkannya bersama dalam alat pemodelan pihak ketiga untuk mengurangi kebutuhan akan beberapa panggilan gambar.
Untuk menggambarkan poin ini, lingkungan laser tag contoh akhir menggabungkan beberapa bagian dan mesh bersama untuk membuat menara besar di luar gedung. Jika Anda menggabungkan semua komponen individu ini bersama, Anda dapat menjadikannya sebagai satu aset dengan hanya satu ID aset, dan mengurangi jumlah panggilan gambar dari 8 menjadi 1. Namun, penting untuk dicatat bahwa teknik ini menghilangkan kemampuan Anda untuk mengubah karakteristik visual dan fisik dari setiap komponen secara bebas, seperti posisinya atau materialnya.
Sebagai contoh, dalam gambar berikut, menara kiri tetap terdiri dari beberapa aset di bawah objek Model, dan menara kanan adalah satu aset tunggal. Anda dapat memodifikasi setiap komponen dari menara kiri secara individu, tetapi ketika Anda memodifikasi menara kanan, seperti mengubah warnanya menjadi hitam, itu mempengaruhi keseluruhan objek. Inilah sebabnya mengapa penting untuk hanya mempertimbangkan teknik ini di akhir pengembangan lingkungan Anda ketika Anda tahu di mana Anda dapat meningkatkan kinerja tanpa mempengaruhi tujuan estetika Anda.

Mengembangkan teknik kedua ini, aset dengan kompleksitas geometris memiliki lebih banyak poligon, yang berarti mereka memiliki lebih banyak verteks yang perlu dihitung oleh mesin saat merender penampilan visual mereka. Ini berarti bahwa aset dengan kompleksitas dan fidelitas yang lebih rendah lebih murah untuk dirender, yang mengarah pada peningkatan baik dalam kinerja maupun memori.
Hapus transparansi berlapis
Untuk memberikan rasa realisme pada lingkungan, lingkungan laser tag contoh akhir mencakup banyak mesh dengan berbagai tingkat transparansi, seperti dedaunan di ruang luar, kaca pada papan tanda futuristik atau pagar pot. Ketika kamera melihat beberapa objek semi-transparan yang berada di depan atau di belakang satu sama lain, Mesin Roblox harus merender piksel yang tumpang tindih beberapa kali untuk memperhitungkan area transparan. Proses ini disebut overdraw transparansi tinggi, dan ini berdampak signifikan pada kinerja.
Sebagai contoh, pertimbangkan tampilan berikut dari sebuah pot di lingkungan contoh. Mesin harus merender area transparan dari daun antara tanaman yang paling dekat dengan kamera hingga tanaman yang paling dekat dengan area luar ruangan dalam lapisan, yang setara dengan ratusan ribu piksel yang ter-overdraw. Untuk mengurangi beberapa dampak ini, penting untuk meninjau tata letak semua objek semi-transparan di lingkungan Anda, dan memastikan tidak ada terlalu banyak tempat di mana ada banyak lapisan tumpang tindih, terutama di area besar layar.


Ketika Anda selesai meninjau semua konten Anda untuk memastikan itu optimal di berbagai perangkat, permainan Anda sekarang siap untuk diterbitkan!