Usando MicroProfiler

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

O MicroProfiler é uma ferramenta de otimização disponível no Roblox Studio que ajuda os desenvolvedores a melhorar o desempenho representando visualmente porções não otimizadas de sua experiência. Este tutorial mostrará como usar o MicroProfiler para identificar segmentos problemáticos de sua experiência e usá-lo para encontrar a causa do performanceruim.

Para um olhar mais prático sobre esse processo, você pode baixar o arquivo de projeto do tutorial e seguir em frente.

Começando MicroProfiler

O MicroProfiler não é visível por padrão e é invocado por uma tecla. Você pode invocá-lo a qualquer momento, mas é mais útil quando uma experiência está rodando.

  1. Comece jogando testando sua experiência pressionando Play no Menu Principal.

  2. Invoca o MicroProfiler pressionando CtrlAltF6 (F6 ). Você pode ver o tempo de renderização de cada quadro individual representado na parte superior pelas barras verticais individuais. Quanto maior a barra, mais tempo esse quadro específico leva para renderizar.

Colocando MicroProfiler em Pausa

O MicroProfiler está constantemente rodando, analisando o tempo de renderização para cada quadro. Para ver dados úteis, você precisa interromper o MicroProfiler e analisar as informações de renderização em uma base quadro por quadro. Pressione CtrlP para interromper o MicroProfiler.

Cada barra representa um quadro, com a altura vertical proporcional ao tempo que esse quadro leva para renderizar. Você pode dizer se algo está errado pela altura das barras. No canto superior direito, você verá uma seção verde que representa o espaço da tela atual. Se você passar o mouse sobre as barras, você pode selecionar um quadro individual para uma inspeção mais detalhada.

No lado esquerdo do MicroProfiler, você verá os nomes dos tópicos de desempenho individuais. Clique e arraste para baixo para encontrar a maior categoria horizontal naquele quadro.

O comprimento horizontal significa o tempo que este quadro leva para renderizar. Um comprimento horizontal menor normalmente indica código bem otimizado. A altura vertical é uma hierarquia que significa camadas de código.

Identificando o Problema

Passar o mouse sobre cada seção revela informações relativas a essa parte do código.

  1. Passe o mouse sobre RunService.Stepped e observe que leva cerca de 26 milissegundos para renderizar.

  2. Passe o mouse sobre LocalScript e observe que algo está sendo chamado milhares de vezes.

    Continue na lista e observe o etiqueta / rótuloRaycast. Isso indica que o problema pode estar relacionado à raycasting.

Criando Etiquetas de Solução de Problemas

Agora que o MicroProfiler forneceu um ponto de partida, é hora de solucionar problemas e revisar o código.

  1. Pare o teste de jogo e olhe para o arquivo LocalScript para pesquisar o problema.

    Esta parte do código parece ser a responsável pelo mau performanceda experiência:


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

    Olhando para o nosso LocalScript no evento RenderStepped, vemos que há raios sendo lançados 1500 vezes por segundo. Para ter certeza de que essa parte do código é realmente o que está causando o atraso de renderização, dê a ela um rótulo que irá destacar essa parte do código quando o MicroProfiler for executar.

  2. Crie uma etiqueta usando a Debugdebug.profilebegin() e chame-a de Raycast Spam.

  3. Feche a Debugusando debug.profileend().

Confirmando o Problema

Se as barras horizontais grandes no MicroProfiler estiverem embrulhadas nesta etiqueta, você saberá que conseguiu identificar o código não otimizado.

  1. Teste sua experiência.

  2. Pouse o MicroProfiler usando CtrlP .

  3. Clique e arraste para baixo para encontrar a maior categoria horizontal naquele quadro.

  4. Olhe para a tag Raycast Spam recém-criada.