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 pengalaman Anda mengonsumsi memori. Ketika penggunaan memori mencapai batas mesin, perangkat pengguna atau server dapat mengalami crash, jadi Anda perlu secara aktif memantau penggunaan tersebut.


Konsol Pengembang menyediakan dua alat untuk memantau penggunaan memori:

  • Memori — Melihat konsumsi memori secara real-time berdasarkan kategori penggunaan, termasuk komponen kustom Anda dan proses internal mesin.

  • Kuota Luau — 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 membuat beberapa snapshot untuk membandingkan perbedaan 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 secara real-time. Ini menampilkan penggunaan memori dalam MB dari 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 Anda kendalikan secara langsung.

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

      KategoriDeskripsi
      HttpCacheAset (gambar, mesh, dll.) yang dimuat dari server Roblox dan sekarang disimpan dalam cache di memori.
      InstancesInstances di tempat.
      SignalsSinyal yang muncul antara instance (sebuah peristiwa yang muncul pada satu instance untuk memicu peristiwa pada instance lain).
      LuaHeapMemori heap untuk skrip inti (skrip yang disertakan dengan klien Roblox) dan skrip kustom.
      ScriptSkrip Luau.
      PhysicsCollisionData kolisi untuk simulasi fisika.
      PhysicsPartsGeometri fisika dan kinetika.
      GraphicsSolidModelsData grafis untuk merender model solid.
      GraphicsMeshPartsGrafis untuk objek MeshPart.
      GraphicsParticlesGrafis untuk sistem partikel.
      GraphicsPartsGrafis untuk bagian.
      GraphicsSpatialHashRender umum.
      GraphicsTerrainGrafis untuk terrain.
      GraphicsTextureMemori tekstur.
      GraphicsTextureCharacterMemori tekstur untuk karakter.
      SoundsSuara dalam memori.
      StreamingSoundsSuara streaming.
      TerrainVoxelsVoxel terrain.
      TerrainPhysicsFisik 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 dengan sumber tertentu.

    • PlaceScriptMemory — Penggunaan memori skrip Anda dengan wawasan tentang bagaimana setiap skrip dan tag memori kustom berkontribusi terhadap penggunaan memori 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 lebih banyak wawasan tentang PlaceScriptMemory, gunakan alat Kuota Luau untuk membuat snapshot dan menganalisis alokasi memori berdasarkan berbagai metrik.

Kuota Luau

Alat Kuota Luau memungkinkan Anda untuk membuat snapshot alokasi memori heap saat ini, yang mengacu pada memori yang digunakan skrip Luau untuk menyimpan variabel, tabel, fungsi, dan struktur data lain pada saat runtime. 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 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 teragregasi, dengan setiap node mewakili objek dengan memori yang dialokasikan.
  • Tag Objek — Menampilkan ukuran dan jumlah memori berdasarkan tipe runtime, seperti function, table, dan thread.
  • Kategori Memori — Menampilkan ukuran dan jumlah memori berdasarkan kategori memori yang ditugaskan oleh mesin. Mesin menetapkan kategori memori kepada objek pada saat alokasi.
  • Kelas Objek — Menampilkan ukuran dan jumlah memori berdasarkan kelas mesin yang digunakan skrip Anda dan menyimpan instansinya, seperti EnumItem, Animation, CFrame. Secara kritis, tampilan ini tidak menunjukkan penggunaan memori dalam mesin itu sendiri, hanya VM Luau.
  • Referensi Unik dan Instansi 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 dijangkau oleh skrip. Juga menunjukkan semua jalur yang mengikat objek instansi.

Grafik

Tampilan Grafik adalah tampilan paling detail dan kompleks di antara semua tampilan heap Luau. Ini menunjukkan pohon penggunaan memori teragregasi 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 diri ditambah penggunaan memori oleh konten dalam struktur data tersebut.
  • Diri — Memori yang langsung dialokasikan untuk struktur data itu sendiri, tidak termasuk penggunaan memori oleh konten apa pun yang dimilikinya.
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, tabel dan kelas global. Ini biasanya memiliki orang tua 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 ke fungsi skrip global. Contoh: :1= Workspace.[Username].Animate.
  • upvalue adalah referensi untuk fungsi yang ditangkap. Lihat Tangkap lingkup lokal untuk informasi lebih lanjut.
  • env merujuk pada lingkungan fungsi. Dalam banyak kasus, ini adalah tabel yang mewakili ruang lingkup global skrip.
  • globals merujuk pada lingkungan sebuah thread.
  • [key] mewakili objek yang berfungsi sebagai kunci tabel.
  • array mewakili sebuah array.
  • stack merujuk pada array yang menyimpan semua lokal fungsi.
  • constants mewakili semua nilai konstan yang digunakan fungsi.

Kategori Memori

Tampilan Kategori Memori menunjukkan ukuran dan jumlah memori berdasarkan kategori memori, yang ditugaskan mesin kepada objek 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 instansi tanpa induk

Tampilan Referensi Unik dan Instansi Tanpa Induk saling terkait. Keduanya menunjukkan penggunaan memori dari instance yang tidak memiliki induk dalam model data dan hanya dapat dijangkau oleh skrip, beserta semua jalur yang mengikat objek instansi. 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 Instansi Tanpa Induk. Keduanya menampilkan dua metrik:

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

Tampilan ini berguna untuk mengidentifikasi instance yang terhubung yang tidak perlu, yang perlu Anda putuskan ketika Anda tidak membutuhkannya lagi. Jika Anda melihat banyak instance tidak terduga dalam tampilan ini, periksa jalur yang menahan mereka 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.