Performans sorunlarını tanımlama

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

Performans sorunlarını tanımlamak genellikle üç kategoriye dalmak anlamına gelir: kare hızı (işlem), bellek veya yükleme süresi.

Roblox, performans sorunlarını tanımlamak için bir dizi araç sunar; bunların bazıları Roblox istemcisinde (dolayısıyla Stüdyoda) kullanılabilirken, bazıları yalnızca Stüdyoda mevcuttur. İstemci davranışını doğrudan gözlemleyebilirken, sunucu sorunlarını teşhis etmek için araçlar kullanmalısınız.

Tanı araçları

AraçAçıklamaYerKlavye kısayoluOrtam
Geliştirici KonsoluGerçek zamanlı kayıt mesajları, hatalar ve bellek, ağ ve script performansı hakkında ayrıntılı bilgi gösteren bir konsol. Bellek tüketimini, ana sunucu sağlık istatistiklerini, script performansını görüntülemek ve istemci veya sunucu MicroProfiler'ı başlatmak için yararlıdır.
Stüdyoda

Oyun İçi
F9
Stüdyo Testi

Canlı Oturumlar
MicroProfilerHer çerçevenin ne kadar hesaplama süresi harcandığını ayrıntılı olarak gösteren bir hata ayıklama aracı. Performans sorunlarına yol açan belirli görevleri tanımlamak için yardımcı olan, bireysel çerçevelerin ayrıntılı dökümünü gösteren analizler oluşturabilir. Profilörü istemci veya sunucu üzerinde çalıştırabilirsiniz, hangi tarafta sorun olduğuna bağlı olarak.
Stüdyoda

Oyun İçi
CtrlAltF6 (F6)
Stüdyo Testi

Canlı Oturumlar
Sahne Analiziİstemci ve sunucu sahnelerinizin kullandığı kaynaklar hakkında hızlıca karşılaştırmalı bilgi sağlar ve bu kaynak kullanımından sorumlu olan örnekleri gösterir.StüdyoYok
Stüdyo Testi
Performans İstatistikleriBelirtilen bellek tüketimi, CPU, GPU, gönderilen ve alınan ağ verileri ile ping süresi gibi temel performans istatistiklerini gösteren bir araç çubuğu.
Oyun İçi
CtrlAltF7 (F7)
Stüdyo Testi

Canlı Oturumlar
Debug İstatistikleriGrafikler, fizik, ağ trafiği ve FPS hakkında ayrıntılı bilgiler içeren overlay.
Stüdyoda

Oyun İçi
ShiftCtrlF1 (ShiftF1), ShiftCtrlF2 (ShiftF2), ShiftCtrlF3 (ShiftF3), ShiftCtrlF4 (ShiftF4), ShiftCtrlF5 (ShiftF5)
Stüdyo Testi

Canlı Oturumlar
Ağ SimülasyonuGerçek dünya ağ koşullarını simüle eden özellikler; gecikme, dalgalanma ve paket kaybı gibi, bağlantıları test etmek için.
Stüdyoda
AltS(S)
Stüdyo Testi
Performans Gösterge Tablosuİstemci ve sunucu bellek kullanımını, istemci kare hızını, sunucu nabzını ve çökme oranlarını gerçek zamanlı olarak gösteren agregat grafiklerden oluşan bir gösterge tablosu. Zamanla performans kalıplarını analiz etmek için yardımcıdır. performansı izleme kısmına bakın.
Yaratıcı Gösterge Tablosu
Yok
Canlı Oturumlar

Sunucu performansı

Sunucu nabzı tüm oyunlarda 60 FPS ile sınırlıdır, bu nedenle daha düşük değerler bir performans sorununun göstergesi olabilir. Sunucu nabzını kontrol etmek için:

  • Geliştirici Konsolu ile - Sunucu Görevleri sekmesinde, Nabız satırını genişletin ve Adım Başına Snc değerini kontrol edin; bu, oyununuzun nabzını temsil eder.

  • MicroProfiler ile, çerçevenin 16.67 ms'den uzun sürüp sürmediğini görmek için grafiği kontrol edebilirsiniz.

Azalan sunucu nabzının bir diğer belirtisi ise artan gecikmedir (yaygın olarak ping olarak bilinir). Sunucunun her çerçeve üzerindeki görevlerini tamamlaması daha uzun sürdüğünde, istemcilerden gönderilen ve alınan ağ verilerini işlemesi de daha uzun sürer. Sunucuya bağlı tüm oyuncular için ortalama ping'i kontrol etmek için Geliştirici Konsolu içindeki Sunucu İstatistikleri sekmesine gidin.

İstemci hesaplama

Varsayılan istemci kare hızı sınırı 60 FPS'dir. Ancak, kullanıcılar Windows'ta kare hızlarını 240 FPS'ye kadar yükseltebilirler.

Kare hızı cihazlar arasında büyük farklılıklar gösterir. Örneğin, yüksek performanslı bir PC, bir hesaplama sorununa karşı "zorla" çözümler bulabilir ve yalnızca gözlemlenemez bir kare hızı düşüşü yaşayabilir. Eğer daha düşük donanımlı cihazlarda test yaparsanız, sorunlar genellikle daha şiddetli ve dolayısıyla daha kolay fark edilir hale gelir.

Oyununuzun kare hızını kontrol etmek için:

  • İstemcide ShiftF5 tuşlarına basarak hata ayıklama istatistikleri özetini gösterin.

  • Stüdyonun PencerePerformans menüsünden, hata ayıklama istatistiklerini etkinleştirmek için İstatistikleri açın.

  • MicroProfiler ile çerçevenin 16.67 ms'den uzun sürüp sürmediğini görmek için grafiği kontrol edebilirsiniz.

Sunucu bellek

Sunucu bellek kullanımının %50'nin altında tutulması önerilir. Toplam sunucu bellek kullanımı aşağıdaki formülle hesaplanır:

6.25 GiB + (100 MiB * en_büyük_bağlı_oyuncu_sayısı)

Örneğin, 30 bağlı oyuncuya sahip bir sunucunun toplam bellek kullanımı yaklaşık 9.18 GiB'dir. Sunucular, oyuncular bağlandıkça bellek kazanır ancak oyuncular ayrıldığında bellek kaybetmez. 10 oyuncu ayrıldığında, sunucu 9.18 GiB bellekle kalır ve 8.2 GiB'a küçülmez.

Sunucular kapandığında (örneğin, boş olduklarında veya bir güncelleme sürecinin parçası olarak), onların yerini alacak olanlar temel bellek miktarıyla başlar ve oyuncular bağlandıkça artırmaya başlar.

İstemci bellek

Bir oyunun bellek kullanımını kontrol etmek için çeşitli yollar vardır:

  1. Geliştirici Konsolu açın ve Bellek sekmesine geçin. Bu sekme, bellek tahsisinin nasıl yapıldığını gösterir. En doğru sonuçlar için istemcide kullanın, Stüdyoda değil.
  2. İstemcinin ayarlar menüsünden Performans İstatistikleri görünümünü etkinleştirerek toplam istemci bellek kullanımını gösteren bir overlay elde edebilirsiniz.

Yüksek bellek kullanımı illa ki bir problem olduğu anlamına gelmez, ancak daha fazla araştırma yapmanız gerektiğine dair bazı belirtiler şunlardır:

  • Performans Gösterge Tablosu'nda görünen istemci çökme oranının önemli bir yüzdesi, özellikle bir güncellemeye denk gelen ani bir artış. Bazı çökme oranları beklenebilir, ancak çökme oranlarınız %2-3'ün üzerine çıkarsa araştırmalısınız.
  • Desteklemek istediğiniz bir cihazda test ederken bir çökme meydana geliyorsa.

Bir oyunun istemci üzerindeki bellek tüketiminin önemli bir kısmı, belleğe yüklenen varlıklardan gelmektedir; resimler, meshler ve ses dosyaları gibi. Geliştirici Konsolu'nda PlaceMemory altında şu etiketleri kontrol edin:

  • GraphicsMeshParts - Meshler tarafından tüketilen grafik belleği.
  • GraphicsTexture - Dokular tarafından tüketilen grafik belleği.
  • Sounds - Ses dosyaları tarafından tüketilen bellek.

Yükleme süreleri

Yükleme sürelerini kontrol etmek için yerleşik araçlar yoktur, ancak bunlar milisaniye düzeyinde hassasiyet gerektirmediğinden, mevcut tabanınızı anlamak ve önemli bir iyileşme yapıp yapmadığınızı kontrol etmek için genellikle bir kronometre yeterlidir. Yükleme sürelerinin sizin değişikliklerinizin etkisini nasıl etkilediğine dair bir fikir edinmek için ReplicatedFirst içinde bir istemci scripti kullanabilirsiniz, ancak bu script tam bir uçtan uca ölçüm sağlamaz:


local startTime = os.clock()
game.Loaded:Connect(function()
local loadTime = os.clock() - startTime
local roundedLoadTime = math.round(loadTime * 10000) / 10000 -- dört ondalık basamağa
print("Oyun " .. roundedLoadTime .. " saniyede yüklendi.")
print("Yüklenen örnek sayısı: " .. #workspace:GetDescendants())
end)

Ek bilgi için, Stüdyoda oyunu başlattığınızda boyutlarına göre en büyük 20 örneği ve örnek türüne göre yüzde kırılımlarını yazdırmak için Stüdyo Ayarları içindeki Baskın Boyut Kırılımını Yazdır seçeneğini etkinleştirin.

Ping

Ping (gecikme) ile ilgili iki ana ölçüm vardır: ağ ping ve veri ping.

Ağ ping'i, istemcinin bir ağ veri paketini gönderdiği andan sunucunun yankı yanıtını aldığı ana kadar geçen gidiş-dönüş süresidir. Genel amaçlı ping ağ aracının bildireceği time ile benzer.

Ağ ping'i, Performans İstatistikleri çubuğunda görünür. Özellikle istemci ile sunucu arasındaki ağ yolu uzunluğu tarafından etkilenir ve kontrolünüz dışındadır. Ancak, Stüdyoda oyun testerken ağ simülasyonu kullanarak ping ve diğer ağ koşullarını simüle edebilirsiniz.

Veri ping'i, istemcinin veriyi güvenilir bir şekilde çoğaltma sisteminden gönderdiği andan sunucunun çoğaltma sisteminden yankı yanıtını aldığı ana kadar geçen gidiş-dönüş süresidir. Hem istemci hem de sunucu çoğaltma kuyruklarında geçirilen süreyi ve kaybolmuş veya bozulmuş paketlerin TCP benzeri tekrar gönderimlerine ilişkin süreyi içerir.

Veri ping'i, istemciden güvenilir bir uzaktan olay göndermek, sunucuda almak ve yanıt olarak sunucudan istemciye güvenilir bir uzaktan olay göndermekle benzerdir. Veri ping'i, istemci ile sunucu arasındaki ağda da geçen süreyi içerdiğinden, ağ ping'inden büyük veya ona eşit olmalıdır.

Bir sunucuya bağlı tüm oyuncular için ortalama veri ping'i, Geliştirici Konsolu'nun Sunucu İstatistikleri sekmesinde görünür. Bireysel bir istemci için veri ping'i, ağ hata ayıklama istatistiklerini görüntülemek için ShiftF3 tuşlarına basarak görünür.

Veri ping'i, hem ağ yolu hem de çoğaltma kuyruğu gecikmelerinden etkilenir. Sunucu çoğaltma verisini ağın onu göndermesinden (veya istemcinin işlemesinden) daha hızlı oluşturursa, veri tekrar gönderim kuyruklarında beklemek zorunda kalır. Veri ping ile ağ ping arasında normalde bir fark vardır; bu, hem ağ tekrar gönderimleri hem de Roblox uygulaması tarafından ağ verisinin işleniş şeklidir. Ancak, eğer veri ping'i ağ ping'inden önemli ölçüde yüksekse, ağ trafiğini görüntülemek için MicroProfiler kullanın. Optimizasyon önerileri için ağ ve çoğaltma kısmına bakın.

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