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.

Oyununuza eklediğiniz her bina ve betik 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ç sağlar:

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

  • Luau yığını — Betiklerinizin bellek tahsisini ifade eden yığın belleğin 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ı olacak çeşitli görünümler sunar. Ayrıca, zaman içindeki bellek kullanımındaki farklılıkları karşılaştırmak için birden fazla anlık görüntü oluşturmanıza olanak tanır.

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şimini gösteren 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 tüm Geliştirici Konsolu araçlarının açılır menüsü.
  3. İstemci-sunucu açılır menüsünü genişletin ve İ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 bina süreçleri tarafından kullanılan bellek, ağ, avatarlar ve doğrudan kontrol edemediğiniz GUI öğeleri dahil.

    • PlaceMemory — Oyununuza nasıl inşa ettiğinize bağlı olarak bellek kullanımı, modeller, arazi, parçalar, betikler ve oyununuza eklediğiniz diğer özel öğeler dahil.

      KategoriAçıklama
      HttpCacheRoblox sunucularından yüklenen ve şimdi bellekte bir önbellekte tutulan varlıklar (görüntüler, ağlar, vb.).
      InstancesOyun içindeki Instances.
      SignalsÖrnekler arasında ateşlenen sinyaller (bir örnekte bir olayı tetiklemek için diğer bir örnekte bir olayın ateşlenmesi).
      LuaHeapHem çekirdek betikler (Roblox istemcisiyle birlikte gelen betikler) hem de özel betikler için yığın belleği.
      ScriptLuau betikleri.
      PhysicsCollisionFizik simülasyonları için çarpışma verileri.
      PhysicsPartsFizik geometrisi ve kinetiği.
      GraphicsSolidModelsKatı modelleri render etmek için grafik verileri.
      GraphicsMeshPartsMeshPart nesneleri için grafikler.
      GraphicsParticlesParçacık sistemleri için grafikler.
      GraphicsPartsParçalar için grafikler.
      GraphicsSpatialHashGenel renderleme.
      GraphicsTerrainArazi için grafikler.
      GraphicsTextureDokular için bellek.
      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 tahsisleri.

    • PlaceScriptMemory — Betiklerinizin bellek kullanımı, bireysel betiklerin ve özel bellek etiketlerinin toplam bellek kullanımına nasıl katkıda bulunduğuna dair içgörülerle birlikte.

    • CoreScriptMemory — Doğrudan kontrol edemediğiniz iç motor betikleri tarafından kullanılan bellek.

    Bu kategoriler arasında, PlaceMemory ve PlaceScriptMemory performans optimizasyonu için en önemli olanlardır, çünkü bina ve betik seçimlerinizin bellek tüketimini ve potansiyel optimizasyon alanlarını nasıl etkilediğini anlamanıza yardımcı olurlar. PlaceScriptMemory hakkında daha fazla içgörü için, bellek tahsisini farklı metriklere göre analiz etmek için Luau yığını aracını kullanarak anlık görüntüler oluşturun.

Luau yığını

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

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

Bellek tahsisi anlık görüntüsü 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 tüm Geliştirici Konsolu araçlarının açılır menüsü.
  3. İstemci-sunucu açılır menüsünü genişletin ve İ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ına dair birçok görünüm sunar:

  • Grafik — Her düğümün tahsis edilmiş bellekle bir nesneyi temsil ettiği bir toplu bellek kullanım ağacını 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 — Motor tarafından atanan 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 depoladığı motor sınıflarına göre bellek boyutlarını ve sayılarını gösterir, örneğin EnumItem, Animation, CFrame. Kritik olarak, bu görünüm motor içindeki bellek kullanımını göstermez, yalnızca Luau VM'yi gösterir.
  • Benzersiz Referanslar ve Ebeveyn Olmayan Örnekler — Ebeveynleri olmayan ve yalnızca betikler tarafından erişilebilen benzersiz referanslar veya tüm kalan referanslar için örneklerin sayısını ve toplam sayılarını gösterir. Ayrıca, örnek nesneyi sabitleyen tüm yolları gösterir.

Grafik

Grafik görünümü, tüm Luau yığın görünümleri arasında en ayrıntılı ve karmaşık görünümüdür. Her düğümün tahsis edilmiş bellekle bir nesneyi temsil ettiği bir toplu 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. Aşağıdaki bellek boyutu sütunlarına sahiptir:

  • Boyut — Veri yapısının içindeki içeriklerin bellek kullanımını hariç tutarak, kendisi için tahsis edilen bellek artı içeriklerin bellek kullanımı.
  • Kendisi — Veri yapısının kendisi için doğrudan tahsis edilen bellek, içerdiği herhangi bir içeriğin bellek kullanımını hariç tutar.
Bir örnek Grafik görünümü

Ağaç grafiğinin kökü registry'dir ve tüm motor ve Luau referanslarını depolar, örneğin sinyallere veya görev kütüphanesine bağlı fonksiyonlar, modül betiklerinden dönen tablolar ve global fonksiyonlar, tablolar ve sınıflar. Genellikle aşağıdaki yaygın girişleri ebeveyn olarak alır:

  • Module @Path.To.Module, bir modül betiğinden dönen tablodur.
  • name:123 =Path.To.Module, belirli bir betik içindeki bir fonksiyondur. Anonim fonksiyonların isimleri yoktur. En üst düzey düğüm genellikle global betik fonksiyonuna atıfta bulunur. Örnek: :1= Workspace.[KullanıcıAdı].Animate.
  • upvalue, yakalanmış fonksiyonlar için bir referanstır. Daha fazla bilgi için Yerel kapsamı yakala sayfasına bakın.
  • env, bir fonksiyonun ortamını ifade eder. Çoğu durumda, bir betiğin global kapsamını temsil eden bir tablodur.
  • globals, bir iş parçacığının ortamını ifade eder.
  • [key], tablo anahtarları olarak hizmet eden nesneleri temsil eder.
  • array, bir diziyi temsil eder.
  • stack, tüm fonksiyon yerellerini depolayan diziyi ifade eder.
  • constants, fonksiyonların kullandığı tüm sabit değerleri temsil eder.

Bellek kategorileri

Bellek Kategorileri görünümü, bellek boyutlarını ve sayımlarını bellek kategorilerine göre gösterir; motor, nesnelere tahsis edildiğinde bu kategorileri atar. Varsayılan olarak, bellek kategorisi betiğin adıyla aynı adı taşır veya debug.setmemorycategory fonksiyonunu kullanarak özel bellek kategorisi adları atayabilirsiniz.

Benzersiz referanslar ve ebeveyn olmadan örnekler

Benzersiz Referanslar ve Ebeveyn Olmayan Örnekler görünümleri ilişkilidir. Her ikisi de veri modelinde ebeveyni olmayan ve yalnızca betikler tarafından erişilebilen örneklerin bellek kullanımını gösterir ve ö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ıyorsa Ebeveyn Olmayan Örnekler altında görünür. Her iki görünüm de iki metriği gösterir:

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

Bu görünümler, artık ihtiyaç duymadığınızda bağlantılarını kesmeniz gereken gereksiz bağlı örnekleri tanımlamak için yararlıdır. Bu görünümde birçok beklenmedik örnek görüyorsanız, onları tutan yolları kontrol edin ve gerekli olup olmadıklarını değerlendirin.

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