Guida all'uso di MicroProfiler

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Questa guida mostra come utilizzare il MicroProfiler per trovare un aspetto problematico di un gioco e identificare la causa principale. Scarica il gioco, Apri da file in Studio e segui le istruzioni.


Identificare il problema

  1. Dopo aver aperto il gioco in Studio, inizia a testarlo con F5 o il pulsante Play.

  2. Il frame rate sembra buono, ma non così fluido come dovrebbe essere per un gioco di questa grandezza e portata. Premi CtrlShiftF5 (ShiftF5) per mostrare il sovrapposizione Riepilogo Prestazioni.

    Riepilogo delle prestazioni che mostra 45 FPS.

    Nota che il frame rate è sotto i 60 frame al secondo (FPS).

  3. Apri il MicroProfiler premendo CtrlAltF6 (F6).

    Il MicroProfiler dopo averlo aperto.

    Nota che i tempi dei frame sono consistenti: le barre sono più o meno della stessa altezza, quindi ciò che sta causando il basso frame rate viene eseguito ogni singolo frame anziché di tanto in tanto e causando picchi nel tempo di frame.

  4. Metti in pausa il MicroProfiler premendo CtrlP (P). Mettere in pausa con la scorciatoia da tastiera apre la modalità dettagliata.

  5. Clicca e trascina per panoramizzare il grafico. Nota come un compito particolare nei thread di lavoro sembra utilizzare molto tempo di elaborazione rispetto al thread principale. Passa il mouse su RunService.Stepped e nota quanto tempo ci vuole per renderizzare.

    Modalità dettagliata con etichette lunghe per i processi.
  6. Le barre impilate nella timeline indicano una gerarchia di codice, quindi continua a passare il mouse su livelli sempre più bassi per cercare di identificare il problema.

    Dettagli al passaggio del mouse per vari processi, con LocalScript evidenziato. Dettagli al passaggio del mouse per vari processi, con Raycast evidenziato.

    Nota l'etichetta LocalScript, che indica il nome dello script, e l'etichetta Raycast, che indica che il problema potrebbe essere relativo al raycasting.

Creare etichette di risoluzione dei problemi

Ora che il MicroProfiler ha fornito un punto di partenza, puoi risolvere il codice problematico.

  1. Ferma il test di gioco e filtra la finestra Esplora per localscript per trovare il file.

    Una vista del filtro nella finestra Esplora.

    Una ricerca per raycast indica che questa parte di codice è probabilmente la colpevole delle scarse prestazioni del gioco:


    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)

    In particolare, puoi vedere che il codice sta lanciando 1.500 raggi al secondo in direzioni casuali.

  2. Per verificare che questa parte di codice stia causando il ritardo nel rendering, incapsula i contenuti della funzione con debug.profilebegin() e debug.profileend():


    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

Confermare e risolvere il problema

  1. Inizia a testare il gioco e apri di nuovo il MicroProfiler.

  2. Nota come il MicroProfiler ora mostra l'etichetta personalizzata, indicando che questa funzione era effettivamente la causa principale.

    Vista dettagliata di MicroProfiler con 'Raycast Spam' visibile.
  3. Ferma il test di gioco.

  4. Elimina o commenta la funzione onStepped() e la connessione RunService.Stepped:Connect(onStepped).

  5. Inizia a testare di nuovo il gioco e controlla di nuovo il Riepilogo Prestazioni.

    Riepilogo delle prestazioni che mostra 60 FPS.

    Nota il notevole miglioramento del frame rate e il corrispondente calo dei tempi di frame nel grafico del MicroProfiler.

© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.