Penggunaan Memori

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Setiap komponen bangunan dan skrip yang Anda tambahkan ke permainan Anda mengkonsumsi memori. Ketika penggunaan memori mencapai batas mesin, perangkat atau server pengguna dapat mengalami crash, jadi Anda perlu secara aktif memantau penggunaan tersebut.


Konsol Pengembang menyediakan dua alat untuk memantau penggunaan memori:

  • Memori — Melihat konsumsi memori waktu nyata berdasarkan kategori penggunaan, termasuk komponen kustom Anda dan proses internal mesin.

  • Luau heap — Membuat snapshot dari memori heap, yang mengacu pada alokasi memori skrip Anda. Alat ini menyediakan beberapa tampilan untuk membantu Anda mengidentifikasi alokasi memori saat ini dan masalah dari berbagai perspektif, seperti jenis objek dan kelas mesin. Ini juga memungkinkan Anda untuk membuat beberapa snapshot untuk membandingkan perbedaan dalam penggunaan memori dari waktu ke waktu.

You can open the console during a testing or live game session using any of the following ways:

  • Press F9.
  • Type /console into the chat.
  • Use the in-game menu:
    1. Open the in-game Roblox Menu.

    2. Select the Settings tab.

    3. Scroll down to Developer Console and click Open.

Memori

Alat Memori mengkategorikan dan menampilkan penggunaan memori waktu nyata. Ini menampilkan penggunaan memori dalam MB untuk setiap kategori dan menghasilkan grafik tentang perubahan penggunaan dari waktu ke waktu.

Untuk melihat alokasi memori:

  1. Buka Konsol Pengembang.

  2. Perluas dropdown alat untuk memilih Memori.

    Menu dropdown dari semua alat Konsol Pengembang dengan opsi Memori disorot untuk pemilihan.
  3. Perluas dropdown klien-server untuk memilih Klien atau Server.

  4. Telusuri kategori dan item penggunaan memori. Jika Anda ingin melihat penggunaan dari waktu ke waktu, perluas kategori untuk menampilkan grafik.

    • CoreMemory — Penggunaan memori oleh proses bangunan inti mesin, termasuk jaringan, avatar, dan elemen GUI yang tidak dapat Anda kendalikan secara langsung.

    • PlaceMemory — Penggunaan memori berdasarkan cara Anda membangun permainan Anda, termasuk model, terrain, bagian, skrip, dan semua elemen kustom lainnya yang Anda tambahkan ke permainan Anda.

      KategoriDeskripsi
      HttpCacheAset (gambar, mesh, dll.) yang dimuat dari server Roblox dan sekarang disimpan dalam cache di memori.
      InstancesInstances di tempat.
      SignalsSinyal yang dipicu antara instance (sebuah peristiwa yang dipicu pada satu instance untuk memicu peristiwa pada instance lain).
      LuaHeapMemori heap untuk skrip inti (skrip yang dikirim bersama klien Roblox) dan skrip kustom.
      ScriptSkrip Luau.
      PhysicsCollisionData tabrakan untuk simulasi fisika.
      PhysicsPartsGeometri dan kinetika fisika.
      GraphicsSolidModelsData grafis untuk merender model solid.
      GraphicsMeshPartsGrafis untuk objek MeshPart.
      GraphicsParticlesGrafis untuk sistem partikel.
      GraphicsPartsGrafis untuk bagian.
      GraphicsSpatialHashRendering umum.
      GraphicsTerrainGrafis untuk terrain.
      GraphicsTextureMemori tekstur.
      GraphicsTextureCharacterMemori tekstur untuk karakter.
      SoundsSuara dalam memori.
      StreamingSoundsSuara streaming.
      TerrainVoxelsVoxels terrain.
      TerrainPhysicsFisika terrain.
      GuiMemori yang digunakan oleh elemen GUI umum.
      AnimationMemori yang digunakan untuk data animasi, seperti pose dan data KeyframeSequence yang di-cache untuk animasi avatar.
      NavigationMemori yang digunakan oleh struktur pendukung untuk PathfindingService.
    • UntrackedMemory — Alokasi memori yang tidak dapat dengan mudah dikaitkan oleh sistem ke sumber tertentu.

    • PlaceScriptMemory — Penggunaan memori dari skrip Anda dengan wawasan tentang bagaimana skrip individu dan tag memori kustom berkontribusi pada penggunaan memori secara keseluruhan.

    • CoreScriptMemory — Penggunaan memori oleh skrip internal mesin yang tidak dapat Anda kendalikan secara langsung.

    Di antara kategori ini, PlaceMemory dan PlaceScriptMemory adalah yang paling penting untuk optimasi kinerja, karena mereka membantu Anda memahami bagaimana pilihan bangunan dan skrip Anda mempengaruhi konsumsi memori dan area potensial untuk optimasi. Untuk wawasan lebih lanjut tentang PlaceScriptMemory, gunakan alat Luau heap untuk membuat snapshot dan menganalisis alokasi memori berdasarkan metrik yang berbeda.

Luau heap

Alat Luau heap memungkinkan Anda untuk membuat snapshot dari alokasi memori heap saat ini, yang mengacu pada memori yang digunakan skrip Luau untuk menyimpan variabel, tabel, fungsi, dan struktur data runtime lainnya. Alat ini menyediakan beberapa tampilan untuk membantu Anda mengidentifikasi masalah dari berbagai perspektif, seperti jenis objek dan kelas mesin. Ini juga memungkinkan Anda untuk membuat beberapa snapshot untuk membandingkan perbedaan dalam penggunaan memori dari waktu ke waktu.

Membuat snapshot

Untuk membuat snapshot dari alokasi memori Anda:

  1. Buka Konsol Pengembang.

  2. Perluas dropdown alat untuk memilih LuauHeap.

    Menu dropdown dari semua alat Konsol Pengembang dengan opsi LuauHeap disorot untuk pemilihan.
  3. Perluas dropdown klien-server untuk memilih Klien atau Server.

  4. Klik tombol Buat Snapshot.

Menganalisis penggunaan memori

Alat ini menyediakan banyak tampilan untuk penggunaan memori Luau:

  • Grafik — Menampilkan pohon penggunaan memori agregat, dengan setiap node mewakili objek dengan memori yang dialokasikan.
  • Tag Objek — Menampilkan ukuran memori dan jumlah berdasarkan jenis runtime, seperti function, table, dan thread.
  • Kategori Memori — Menampilkan ukuran memori dan jumlah berdasarkan kategori memori yang ditetapkan mesin. Mesin menetapkan kategori memori ke objek pada saat alokasi.
  • Kelas Objek — Menampilkan ukuran memori dan jumlah berdasarkan kelas mesin yang digunakan skrip Anda dan menyimpan instance mereka, seperti EnumItem, Animation, CFrame. Secara kritis, tampilan ini tidak menunjukkan penggunaan memori di dalam mesin itu sendiri, hanya VM Luau.
  • Referensi Unik dan Instance Tanpa Induk — Menampilkan jumlah dan total instance untuk referensi unik atau semua referensi yang tersisa yang tidak memiliki induk dalam model data dan hanya dapat diakses oleh skrip. Juga menunjukkan semua jalur yang mengikat objek instance.

Grafik

Tampilan Grafik adalah tampilan yang paling detail dan kompleks di antara semua tampilan heap Luau. Ini menunjukkan pohon penggunaan memori agregat dengan setiap node mewakili objek dengan memori yang dialokasikan. Pohon ini menunjukkan bagaimana objek saling terhubung dan menghasilkan jalur terpendek antara referensi objek. Ini memiliki kolom ukuran memori berikut:

  • Ukuran — Penggunaan memori sendiri ditambah penggunaan memori oleh konten dalam struktur data.
  • Diri Sendiri — Memori yang dialokasikan langsung untuk struktur data itu sendiri, tidak termasuk penggunaan memori oleh konten yang ada di dalamnya.
Contoh tampilan Grafik

Akar dari grafik pohon adalah registry, yang menyimpan semua referensi mesin dan Luau, seperti fungsi yang terhubung ke sinyal atau pustaka tugas, tabel yang dikembalikan oleh skrip modul, dan fungsi global, tabel, dan kelas. Ini biasanya menjadi induk dari entri umum berikut:

  • Module @Path.To.Module adalah tabel yang dikembalikan oleh skrip modul.
  • name:123 =Path.To.Module adalah fungsi di dalam skrip tertentu. Fungsi anonim tidak memiliki nama. Node tingkat atas sering merujuk pada fungsi skrip global. Contoh: :1= Workspace.[Username].Animate.
  • upvalue adalah referensi untuk fungsi yang ditangkap. Lihat Tangkap ruang lingkup lokal untuk informasi lebih lanjut.
  • env mengacu pada lingkungan fungsi. Dalam kebanyakan kasus, ini adalah tabel yang mewakili ruang lingkup global skrip.
  • globals mengacu pada lingkungan utas.
  • [key] mewakili objek yang berfungsi sebagai kunci tabel.
  • array mewakili array.
  • stack mengacu pada array yang menyimpan semua lokal fungsi.
  • constants mewakili semua nilai konstan yang digunakan fungsi.

Kategori Memori

Tampilan Kategori Memori menunjukkan ukuran memori dan jumlah berdasarkan kategori memori, yang ditetapkan mesin ke objek pada saat alokasi. Secara default, kategori memori memiliki nama yang sama dengan skrip, atau Anda dapat menetapkan nama kategori memori kustom menggunakan fungsi debug.setmemorycategory.

Referensi unik dan instance tanpa induk

Tampilan Referensi Unik dan Instance Tanpa Induk saling terkait. Keduanya menunjukkan penggunaan memori dari instance yang tidak memiliki induk dalam model data dan hanya dapat diakses oleh skrip, bersama dengan semua jalur yang mengikat objek instance. Jika sebuah instance hanya direferensikan dalam skrip Luau, itu muncul di bawah Referensi Unik. Jika tidak, itu juga digunakan oleh sistem Roblox dan muncul di bawah Instance Tanpa Induk. Kedua tampilan menunjukkan dua metrik:

  • Jumlah — Jumlah instance dengan nama yang sama yang dapat diakses dari jalur yang sama, seperti beberapa instance bernama Dragon dalam tabel yang sama.
  • Total Instance — Total jumlah objek di dalam akar tersebut, seperti semua bagian, skrip, dan objek suara yang membentuk instance Dragon.
Contoh tampilan Referensi Unik

Tampilan ini berguna untuk mengidentifikasi instance yang terhubung yang tidak perlu, yang perlu Anda putuskan ketika Anda tidak lagi membutuhkannya. Jika Anda melihat banyak instance yang tidak terduga dalam tampilan ini, periksa jalur yang menyimpannya dan evaluasi apakah mereka diperlukan.

©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.