Bellek kullanımı

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Deneyiminize eklediğiniz her yapı ve komut dosyası bileşeni bellek tüketir. Bellek kullanımı motor sınırlarına ulaştığında, kullanıcının cihazı veya sunucusu çökebilir, bu nedenle kullanımı aktif olarak izlemeniz gerekir.


Geliştirici Konsolu bellek kullanımını izlemek için iki araç sunar:

  • Bellek — Özel bileşenleriniz ve motorun iç süreçleri dahil olmak üzere kullanım kategorileriyle gerçek zamanlı bellek tüketimini görüntüleyin.

  • Luau yığını — Betiklerinizin bellek tahsisine atıfta bulunan yığın bellek anlık görüntülerini oluşturun. Bu araç, nesne türleri ve motor sınıfları gibi farklı açılardan mevcut bellek tahsisini ve sorunları tanımlamanıza yardımcı olmak için çeşitli görüntüler sunar. Ayrıca zaman içinde bellek kullanımındaki değişiklikleri karşılaştırmak için birden fazla anlık görüntü oluşturmanıza izin verir.

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.

Bellek

Bellek aracı gerçek zamanlı bellek kullanımını kategorize eder ve görüntüler. Her kategorinin MB cinsinden bellek kullanımını gösterir ve zaman içindeki kullanım değişiklikleri için bir grafik oluşturur.

Bellek tahsisini görüntülemek için:

  1. Geliştirici Konsolu'nu açın.

  2. Bellek'i seçmek için araçlar açılır menüsünü genişletin.

    Bellek seçeneği vurgulanmış olan Geliştirici Konsolu araçlarının açılır menüsü.
  3. İstemci-sunucu açılır menüsünü genişletip İstemci veya Sunucu'yu seçin.

  4. Bellek kullanım kategorilerini ve öğelerini gözden geçirin. Zaman içindeki kullanımı görmek istiyorsanız, bir grafiği görüntülemek için kategoriyi genişletin.

    • CoreMemory — Motorun çekirdek yapılandırma süreçleri tarafından, ağ, avatarlar ve üzerinde doğrudan kontrolünüz olmayan GUI öğeleri dahil olmak üzere bellek kullanımı.

    • PlaceMemory — Deneyiminizi inşa etme şeklinize dayalı bellek kullanımı, modeller, arazi, parçalar, komut dosyaları ve deneyiminize eklediğiniz tüm özel öğeleri içerir.

      KategoriAçıklama
      HttpCacheRoblox sunucularından yüklenen ve şu anda bellekte bir önbellekte tutulan varlıklar (görüntüler, modeller vb.).
      InstancesOyun alanındaki Instances.
      SignalsÖrnekler arasında ateşleyen sinyaller (bir örnekte bir olayı ateşlemek için başka bir örnekte tetiklenen bir olay).
      LuaHeapTemel betikler (Roblox istemcisiyle birlikte gönderilen betikler) ve özel betikler için yığın belleği.
      ScriptLuau betikleri.
      PhysicsCollisionFizik simülasyonları için çarpışma verileri.
      PhysicsPartsFizik geometri ve kinetik.
      GraphicsSolidModelsKatı modelleri oluşturmak için grafik verileri.
      GraphicsMeshPartsMeshPart nesneleri için grafikler.
      GraphicsParticlesParça sistemleri için grafikler.
      GraphicsPartsParçalar için grafikler.
      GraphicsSpatialHashGenel görüntüleme.
      GraphicsTerrainArazi için grafikler.
      GraphicsTextureDoku belleği.
      GraphicsTextureCharacterKarakterler için doku belleği.
      SoundsBellekteki sesler.
      StreamingSoundsAkış sesleri.
      TerrainVoxelsArazi voxel'leri.
      TerrainPhysicsArazi fiziği.
      GuiYaygın GUI öğeleri tarafından kullanılan bellek.
      AnimationPozlar ve avatar animasyonları için KeyframeSequence önbellek verileri gibi animasyon verileri için kullanılan bellek.
      NavigationPathfindingService için destekleyici yapılar tarafından kullanılan bellek.
    • UntrackedMemory — Sistem tarafından belirli bir kaynağa kolayca atfedilemeyen bellek tahsisi.

    • PlaceScriptMemory — Bireysel betiklerin ve özel bellek etiketlerinin genel bellek kullanımına katkıda bulunduğu bellek kullanım bilgileri ile birlikte betiklerinizin bellek kullanımı.

    • CoreScriptMemory — Üzerinde doğrudan kontrolünüz olmayan iç motor betikleri tarafından kullanılan bellek.

    Bu kategoriler arasında PlaceMemory ve PlaceScriptMemory, performans optimizasyonu için en önemli olanlardır, çünkü bunlar, inşa etme ve komut dosyası oluşturma seçimlerinizin bellek tüketimini ve potansiyel optimizasyon alanlarını nasıl etkilediğini anlamanıza yardımcı olur. PlaceScriptMemory hakkında daha fazla bilgi için, bellek tahsisini farklı metriklerle analiz etmek üzere Luau yığını aracını kullanın.

Luau yığını

Luau yığını aracı, Luau betiklerinin değişkenler, tablolar, fonksiyonlar ve diğer çalışma zamanı veri yapıları saklamak için kullandığı yığın belleğin mevcut tahsisine anlık görüntüler oluşturmanıza olanak tanır. Bu araç, sorunları tanımlamanıza yardımcı olmak için nesne türleri ve motor sınıfları gibi farklı açılardan bakmanızı sağlayan çeşitli görüntüler sunar. Ayrıca, zaman içindeki bellek kullanımındaki değişiklikleri karşılaştırmak için birden fazla anlık görüntü oluşturmanıza izin verir.

Anlık görüntü oluşturma

Bellek tahsisinize anlık görüntü oluşturmak için:

  1. Geliştirici Konsolu'nu açın.

  2. LuauHeap'i seçmek için araçlar açılır menüsünü genişletin.

    LuauHeap seçeneği vurgulanmış olan Geliştirici Konsolu araçlarının açılır menüsü.
  3. İstemci-sunucu açılır menüsünü genişletip İstemci veya Sunucu'yu seçin.

  4. Anlık Görüntü Oluştur butonuna tıklayın.

Bellek kullanımını analiz etme

Araç, Luau bellek kullanımıyla ilgili birçok görüntü sağlar:

  • Grafik — Her düğümün tahsis edilmiş bellek kullandığı bir nesne temsil ettiği, birleştirilmiş bir bellek kullanımı ağacı gösterir.
  • Nesne Etiketlerifunction, table ve thread gibi çalışma zamanı türlerine göre bellek boyutlarını ve sayılarını gösterir.
  • Bellek Kategorileri — Motorun atadığı bellek kategorilerine göre bellek boyutlarını ve sayılarını gösterir. Motor, bir nesne tahsis edildiğinde ona bir bellek kategorisi atar.
  • Nesne Sınıfları — Betiklerinizin kullandığı ve örneklerini sakladığı motor sınıflarına göre bellek boyutları ve sayılarını gösterir; EnumItem, Animation, CFrame gibi. Bu görüntü kritik olarak motor içinde bellek kullanımını göstermez, yalnızca Luau VM'yi gösterir.
  • Benzersiz Referanslar ve Ebeveyensiz ÖrneklerBenzersiz referanslar veya veri modelinde ebeveyni olmayan tüm kalan referanslar için örneklerin sayısını ve toplam sayısını gösterir ve yalnızca betikler tarafından erişilebilir. Ayrıca, örnek nesneyi sabitleyen tüm yolları gösterir.

Grafik

Grafik görüntüsü, tüm Luau yığın görüntüleri arasında en detaylı ve karmaşık olandır. Bellek tahsis edilen her nesnenin temsil edildiği birleştirilmiş bir bellek kullanımı ağacını gösterir. Ağaç, nesnelerin birbirine nasıl bağlandığını gösterir ve nesne referansları arasındaki en kısa yolu türetir. Bellek boyutu için aşağıdaki sütunlara sahiptir:

  • Boyut — Veri yapısının içeriğindeki bellek kullanımını hariç tutarak, veri yapısının kendisi için tahsis edilen bellek.
  • Kendisi — Veri yapısının kendisi için doğrudan tahsis edilen bellek, içinde bulunan her türlü içeriğin bellek kullanımını dışarıda tutar.
Bir örnek Grafik görünümü

Ağaç grafiğinin kökü registrydir; bu, motor ve Luau referanslarının tümünü saklar, örneğin sinyallere veya görev kütüphanesine bağlı fonksiyonlar, modül betiklerinden dönen tablolar ve küresel fonksiyonlar, tablolar ve sınıflar. Genellikle aşağıdaki ortak kayıtların ebeveynidir:

  • Module @Path.To.Module, bir modül betiğinden dönen tablodur.
  • name:123 =Path.To.Module, belirli bir betik içindeki bir fonksiyondur. Anlaşılmaz fonksiyonların adı yoktur. En üst düzey düğüm genellikle küresel komut dosyası fonksiyonuna atıfta bulunur. Örnek: :1= Workspace.[Username].Animate.
  • upvalue, yakalanmış fonksiyonlar için bir referanstır. Daha fazla bilgi için Yerel kapsamı yakalama kısmına bakın.
  • env, bir fonksiyonun ortamını ifade eder. Çoğu durumda, bir betiğin küresel kapsamını temsil eden bir tablodur.
  • globals, bir iplik tarafından kullanılan ortamı ifade eder.
  • [key], tablo anahtarı olarak hizmet eden nesneleri temsil eder.
  • array, bir diziyi temsil eder.
  • stack, tüm fonksiyon yerellerini saklayan diziyi ifade eder.
  • constants, fonksiyonların kullandığı tüm sabit değerleri temsil eder.

Bellek kategorileri

Bellek Kategorileri görüntüsü, motorun tahsis tarihinde nesnelere atadığı bellek kategorilerine göre bellek boyutlarını ve sayılarını gösterir. Varsayılan olarak, bellek kategorisi, betiğin adıyla aynı adı taşır veya debug.setmemorycategory fonksiyonu kullanarak özel bellek kategori adları atayabilirsiniz.

Benzersiz referanslar ve ebeveynsiz örnekler

Benzersiz Referanslar ve Ebeveyensiz Örnekler görüntüleri ilişkilidir. Her ikisi de veri modelinde ebeveyni olmayan ve yalnızca betikler aracılığıyla erişilebilen örneklerin bellek kullanımını gösterir ve ayrıca örnek nesneyi sabitleyen tüm yolları gösterir. Bir örnek yalnızca Luau betikleri içinde referans alıyorsa, Benzersiz Referanslar altında görünür. Aksi takdirde, Roblox sistemleri tarafından da kullanılır ve Ebeveyensiz Örnekler altında görünür. Her iki görüntüde iki metrik gösterilir:

  • Sayı — Aynı adı taşıyan ve aynı yoldan erişilebilen örneklerin sayısı, örneğin aynı tabloda birden fazla Dragon adlı örnek.
  • Toplam Örnekler — O köklerin içindeki toplam nesne sayısı, örneğin bir Dragon örneği oluşturan tüm parçalar, betikler ve ses nesneleri.
Bir örnek Benzersiz Referans görünümü

Bu görüntüler, artık ihtiyaç duymadığınızda ayırmanız gereken gereksiz bağlı örnekleri tanımlamak için yararlıdır. Bu görünümde beklenmedik birçok örnek görüyorsanız, onları tutan yolları kontrol edin ve gerekli olup olmadıklarını değerlendirerek karar verin.

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.