Setiap komponen bangunan dan skrip yang Anda tambahkan ke pengalaman Anda mengkonsumsi memori.Ketika penggunaan memori mencapai batas mesin, perangkat atau server pengguna mungkin mogok, sehingga Anda perlu secara aktif memantau penggunaan memori dan mengambil tindakan untuk optimisasi. Konsol Pengembang menyediakan dua alat untuk memantau penggunaan memori, termasuk:
Memori — Lihat konsumsi memori real time oleh kategori penggunaan, termasuk penggunaan memori oleh komponen kustom Anda dan proses internal mesin.
Tumpukan Luau — Buat tangkapan layar pada memori heap, yang merujuk pada alokasi memori ke skrip Anda.Alat ini menyediakan berbagai pandangan alokasi memori untuk membantu Anda mengidentifikasi alokasi memori saat ini dan masalah dari perspektif yang berbeda, seperti jenis objek dan Kelasmesin.Ini juga memungkinkan Anda untuk membuat banyak snapshot untuk membandingkan perbedaan penggunaan memori seiring waktu.
Anda dapat membuka konsol selama sesi pengujian atau pengalaman langsung menggunakan salah satu dari cara berikut:
- Tekan F9.
- Ketik /console ke dalam obrolan.
- Gunakan menu dalam pengalaman:
Buka menu dalam pengalaman Roblox .
Pilih tab Pengaturan .
Gulir ke bawah ke Konsol Pengembang dan klik Buka .
Ingatan
Alat Memori mengkategorikan dan menampilkan penggunaan memori real time.Ini menampilkan penggunaan memori dalam MB dari setiap kategori dan menghasilkan bagan tentang perubahan penggunaan seiring waktu.
Untuk melihat alokasi memori:
Buka Konsol Pengembang .
Perluas dropdown alat untuk memilih Memori .
Perluas dropdown klien-server untuk memilih Klien atau Server .
Telusuri kategori dan item penggunaan memori.Untuk kategori atau item yang ingin Anda lihat pola penggunaan overtime, perluas kategori untuk menampilkan grafik.
Memori Inti — Penggunaan memori oleh proses pembangunan inti mesin, termasuk jaringan, avatar, dan elemen GUI (Antarmuka Pengguna Grafis) yang tidak Anda miliki kontrol langsung.
Tempat Memori — Penggunaan memori berdasarkan bagaimana Anda membangun pengalaman Anda, termasuk model, medan, bagian, skrip, dan semua elemen khusus lainnya yang Anda tambahkan ke pengalaman Anda.
Referensi Memori TempatKategorisasi Deskripsi HttpCache Aset (gambar, meshes, dll.) yang diunduh dari server Roblox dan sekarang disimpan dalam cache di memori Instansi Instances di tempat. Sinyal Sinyal yang menembak di antara instans (peristiwa menembak pada satu kejadianuntuk memicu peristiwa di instans lain). LuaHeap Memori heap untuk kedua skrip utama (skrip yang dikirim dengan klien Roblox) dan skrip khusus. Skrip Skrip Luau. Kolisi Fisika Data kolisi untuk simulasi fisika. Bagian Fisika Geometri fisika dan kinetika. Model Solid Grafis Data grafis untuk menampilkan model solid. Bagian Grafis Meshes Grafik untuk MeshPart objek. Partikel Grafis Grafik untuk sistem partikel. Bagian Grafis Grafik untuk bagian. Hash Ruang Grafis Rendering umum. Tanah Grafis Grafik untuk medan. Tekstur Grafis Memori tekstur. Karakter Teks Grafis Memori tekstur untuk karakter. Suara Suara dalam memori. Suara Streaming Suara streaming. TerrainVoxels Voksels medan. Fisika Tanah Fisika medan. Gui Memori yang digunakan oleh elemen GUI umum. Animasi Memori yang digunakan untuk data animasi, seperti posisi dan KeyframeSequence data yang disimpan untuk animasi avatar. Navigasi Memori yang digunakan oleh struktur pendukung untuk PathfindingService . Memori Tak Dilacak — Alokasi memori yang sistem tidak dapat dengan mudah atribusikan ke sumber tertentu.
Memori Skrip Tempat — Penggunaan memori skrip Anda dengan wawasan tentang bagaimana skrip individu dan tag memori khusus berkontribusi pada penggunaan memori keseluruhan.
Memori CoreScriptMemory — Penggunaan memori oleh skrip mesin internal yang tidak Anda miliki kontrol langsung.
Di antara kategori ini, PlaceMemory dan PlaceScriptMemory adalah yang paling penting untuk optimisasi kinerja, karena mereka membantu Anda memahami bagaimana pilihan bangunan dan skrip Anda memengaruhi konsumsi memori dan area potensial untuk optimisasi.Untuk lebih banyak wawasan tentang Luau heap , Anda dapat menggunakan alat Luau heap untuk membuat snapshot dan menganalisis alokasi memori dengan metrik yang berbeda.
Tumpukan Luau
Alat Luau heap memungkinkan Anda untuk membuat snapshot pada alokasi heap memori saat ini, yang merujuk pada alokasi memori untuk skrip Luau untuk menyimpan variabel, tabel, fungsi, dan struktur data runtime lainnya.Alat ini menyediakan berbagai pandangan alokasi memori untuk membantu Anda mengidentifikasi alokasi memori dan masalah dari perspektif yang berbeda, seperti jenis objek dan Kelasmesin.Ini juga memungkinkan Anda untuk membuat banyak snapshot untuk membandingkan perbedaan penggunaan memori seiring waktu.
Buat tangkapan layar
Untuk membuat snapshot alokasi memori Anda:
Buka Konsol Pengembang .
Perluas dropdown alat untuk memilih LuauHeap .
Perluas dropdown klien-server untuk memilih Klien atau Server .
Klik tombol Membuat Snapshot .
Analisis penggunaan memori
Alat memberikan lima pandangan yang dapat Anda pilih untuk melihat alokasi memori Luau Anda berdasarkan pandangan yang berbeda:
- Grafik — Menunjukkan pohon penggunaan memori agregat dengan setiap node yang mewakili objek dengan memori yang disediakan
- Tag Objek — Menampilkan ukuran memori dan jumlah oleh jenis runtime, seperti function , table , dan thread .
- Kategori Memori — Menampilkan ukuran dan jumlah memori yang ditugaskan oleh kategori memori mesin.Mesin menugaskan kategori memori ke objek pada saat alokasi.
- Kelas Objek — Menampilkan ukuran memori dan jumlah oleh kelas mesin yang digunakan oleh skrip Anda dan menyimpan instansi mereka, seperti EnumItem , Animation , CFrame .
- Referensi Unik — Menunjukkan hitungan dan total jumlah instans yang tidak memiliki orang tua di model data dan hanya dapat diakses oleh skrip, serta semua jalur yang menempelkan objek instans.
Grafis
Tampilan Grafik paling terperinci dan kompleks di antara semua tampilan heap Luau.Ini menunjukkan pohon penggunaan memori teraggregasi dengan setiap node yang mewakili objek dengan memori yang disediakan.Pohon menunjukkan bagaimana objek terhubung satu sama lain dan menentukan jalur pendek antara referensi objek.Ini memiliki kolom memori berikut dari ukuran memori: Ukuran - Penggunaan memori diri ditambah penggunaan memori oleh konten di dalam struktur data.Diri sendiri — Memori yang secara langsung disediakan untuk struktur data itu sendiri, mengecualikan penggunaan memori oleh konten apa pun yang terkandung di dalamnya.

Akar dari grafik pohon adalah registry , yang menyimpan semua referensi mesin dan Luau, seperti fungsi yang terhubung ke sinyal atau perpustakaan tugas, tabel yang dikembalikan oleh skrip modul, dan fungsi global, tabel dan Kelas.Biasanya orang tua memiliki entri umum berikut:
- Module @Path.To.Module adalah tabel yang dikembalikan oleh skrip modul.
- name:123 =Path.To.Module adalah fungsi di dalam skrip yang ditentukan.Fungsi anonim tidak memiliki nama.Level node tertinggi sering merujuk pada fungsi skrip global.Fungsi anonim tidak memiliki nama.Contoh: :1= Workspace.[Username].Animate .
- upvalue adalah referensi untuk fungsi yang ditangkap. Lihat Tangkap skop lokal untuk informasi lebih lanjut.
- env merujuk pada lingkungan fungsi. Untuk sebagian besar kasus, ini adalah tabel yang mewakili cakupan global skrip.
- globals merujuk pada lingkungan thread.
- [key] mewakili objek yang berfungsi sebagai kunci meja.
- array mewakili sebuah array.
- stack merujuk pada array yang menyimpan semua lokal fungsi.
- constants mewakili semua nilai konstan yang digunakan fungsi.
Kategori memorisasi
Tampilan Kategori Memori menunjukkan ukuran memori dan jumlahnya oleh kategori memori, yang ditugaskan ke objek saat alokasi waktu.Secara default, kategori memori memiliki nama yang sama dengan skrip, atau Anda dapat menetapkan nama kategori memori khusus menggunakan fungsi debug.setmemorycategory.
Referensi unik
Tampilan Referensi Unik menunjukkan penggunaan memori instansi yang tidak memiliki orang tua di model data dan hanya dapat diakses oleh skrip, serta semua jalur yang menempelkan objek instansi.Pandangan ini memiliki dua metrik:
- Menghitung — Menunjukkan jumlah instansi dengan nama yang sama yang dapat diakses dari jalur yang sama, seperti beberapa instansi bernama Dragon di tabel yang sama.
- Total Instansi — Menunjukkan jumlah total objek di dalam akar itu, seperti semua bagian, skrip, dan objek suara yang membangun kejadianDragon .

Pandangan ini berguna untuk mengidentifikasi instansi terhubung yang tidak perlu, yang perlu Anda putus ketika Anda tidak lagi membutuhkannya.Jika Anda melihat banyak insiden tak terduga dalam pandangan ini, periksa jalur yang menyimpan mereka dan evaluasi apakah mereka diperlukan.