MicroProfiler kılavuzu

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

Bu kılavuz, MicroProfiler'ı kullanarak bir oyundaki problemli bir yönü bulmayı ve kök nedenini belirlemeyi gösterir. Oyunu indirin, Stüdyo'da Dosyadan Aç seçeneğini kullanın ve ilerleyin.


Sorunu Tanımlayın

  1. Oyunu Stüdyo'da açtıktan sonra, F5 veya Oynat butonunu kullanarak test etmeye başlayın.

  2. Kare hızı makul görünüyor, ancak bu boyut ve kapsamda bir oyun için olması gereken kadar akıcı değil. Performans Özeti üstverisini göstermek için CtrlShiftF5 (ShiftF5) tuşlarına basın.

    Performans özeti 45 FPS gösteriyor.

    Kare hızının saniyede 60 kare (FPS) altında olduğunu not edin.

  3. MicroProfiler'ı açmak için CtrlAltF6 (F6) tuşlarına basın.

    MicroProfiler'ı açtıktan sonraki görünümü.

    Kare sürelerinin tutarlı olduğunu not edin - çubuklar yaklaşık olarak aynı yükseklikte - dolayısıyla düşük kare hızına neden olan şey her bir karede çalışıyor, ara sıra çalışıp kare süresi sıçramalarına neden olmuyor.

  4. MicroProfiler'ı duraklatmak için CtrlP (P) tuşlarına basın. Klavye kısayolu ile duraklatmak, ayrıntılı moda geçer.

  5. Grafiği panlamak için tıklayıp sürükleyin. İşçi iş parçacıklarından birinin ana iş parçacığına kıyasla çok fazla işlem süresi kullandığını not edin. RunService.Stepped üzerine gelerek, render işleminin ne kadar sürdüğünü not edin.

    Uzun etiketlere sahip ayrıntılı mod.
  6. Zaman çizelgesindeki yığılmış çubuklar, bir kod hiyerarşisini gösterdiğinden, sorunu tanımlamak için daha alt katmanlara gelerek üzerlerine gelin.

    Çeşitli işlemler için üstüne gelindiğinde detaylar, LocalScript vurgulanmış. Çeşitli işlemler için üstüne gelindiğinde detaylar, Raycast vurgulanmış.

    LocalScript etiketini not edin, bu scriptin adını gösterir ve Raycast etiketi ise problemin raycast işlemine bağlı olabileceğini gösterir.

Sorun Giderme Etiketleri Oluşturun

Artık MicroProfiler bir başlangıç noktası sağladığına göre, problemli kodu sorun gidermeye başlayabilirsiniz.

  1. Oynatma testini durdurun ve Explorer penceresinde localscript için filtreleme yaparak dosyayı bulun.

    Explorer penceresinde filtrelemenin görünümü.

    raycast araması, bu kod bölümünün muhtemelen oyunun kötü performansına neden olduğunu gösteriyor:


    local RAYS_PER_SECOND = 1500
    local function onStepped()
    for _ = 1, RAYS_PER_SECOND do
    local startPosition = getRandomPosition()
    local endPosition = getRandomPosition()
    local direction = endPosition - startPosition
    Workspace:Raycast(
    startPosition,
    endPosition
    )
    end
    end
    RunService.Stepped:Connect(onStepped)

    Özellikle bu kodun her saniyede 1.500 ışın yaydığını görebilirsiniz.

  2. Bu kod bölümünün render gecikmesine neden olduğunu doğrulamak için işlevin içeriğini debug.profilebegin() ve debug.profileend() ile sarın:


    local function onStepped()
    debug.profilebegin("Raycast Spam")
    for _ = 1, RAYS_PER_SECOND do
    local startPosition = getRandomPosition()
    local endPosition = getRandomPosition()
    local direction = endPosition - startPosition
    Workspace:Raycast(
    startPosition,
    endPosition
    )
    end
    debug.profileend()
    end

Sorunu Doğrulayın ve Düzeltin

  1. Oyunu test etmeye başlayın ve MicroProfiler'ı tekrar açın.

  2. MicroProfiler'ın artık özel etiketi gösterdiğini not edin, bu işlevin gerçekten kök neden olduğunu gösterir.

    MicroProfiler ayrıntılı görünümü 'Raycast Spam' görünür.
  3. Oynatma testini durdurun.

  4. onStepped() işlevini ve RunService.Stepped:Connect(onStepped) bağlantısını silin veya yorum satırı haline getirin.

  5. Oyunu tekrar test edin ve Performans Özetine tekrar bakın.

    Performans özeti 60 FPS gösteriyor.

    Kare hızındaki büyük iyileşmeyi ve MicroProfiler grafiğinde karşılık gelen düşüşü not edin.

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