El MicroProfiler es una herramienta de optimización disponible en Roblox Studio que ayuda a los desarrolladores a mejorar el rendimiento representando visualmente partes no optimizadas de su experiencia. Este tutorial mostrará cómo usar el MicroProfiler para identificar segmentos problemáticos de su experiencia y usarlo para encontrar la causa del pobre ejecución.
Para una mirada más práctica de este proceso, puede descargar el archivo de proyecto de tutorial y seguir adelante.
Iniciando MicroProfiler
El MicroProfiler no es visible por defecto y se invoca con una pulsación de tecla. Puedes invocarlo en cualquier momento, pero es más útil cuando una experiencia está en marcha.
Empieza jugando probando tu experiencia presionando Jugar en el Menú Principal.
Invoca a MicroProfiler presionando CtrlAltF6 (⌘⌥F6). Puedes ver el tiempo de renderizado de cada fotograma individual representado en la parte superior por las barras verticales individuales. Cuanto mayor sea la barra, más tiempo tardará ese fotograma en Renderizar.
Pausando MicroProfiler
MicroProfiler se está ejecutando constantemente, evaluando el tiempo de renderizado para cada fotograma. Para ver datos útiles, debe pausar MicroProfiler y analisar la información de renderizado fotograma a fotograma. Presione CtrlP para pausar el MicroProfiler.
Cada barra representa un fotograma, con la altura vertical proporcional a la cantidad de tiempo que tarda ese fotograma en Renderizar. Puedes decir que algo está mal por la altura de las barras. En la parte superior derecha verás una sección verde que representa el espacio de pantalla actual. Si pasas el cursor sobre las barras, puedes seleccionar un fotograma individual para una inspección más cercana.
Navegando MicroProfiler
En el lado izquierdo de MicroProfiler, verás los nombres de los hilos de rendimiento individuales. Haz clic en y arrastra hacia abajo para encontrar la categoría horizontal más grande en ese marco.
La longitud horizontal significa el tiempo que tarda este fotograma en renderizarse. Una longitud horizontal más corta suele indicar código bien optimizado. La altura vertical es una jerarquía que significa capas de código.
Identificando el Problema
Pasar el cursor sobre cada sección revela información relacionada con esa parte del código.
Pase el cursor sobre RunService.Stepped y observe que tarda alrededor de 26 milisegundos en Renderizar.
Pase el cursor sobre LocalScript y note que algo está siendo llamado miles de veces.
Continúa por la lista y nota la etiqueta Raycast. Esto indica que el problema podría estar relacionado con la transmisión de rayos.
Creación de etiquetas de solución de problemas
Ahora que MicroProfiler ha proporcionado un punto de partida, es hora de solucionar problemas y revisar el código.
Detén la prueba de reproducción y mira el archivo LocalScript para buscar el problema.
Esta parte del código parece ser la culpable del pobre ejecuciónde la experiencia:
local function onStepped()debug.profilebegin("RaycastSpam")for _ = 1, RAYS_PER_SECOND dolocal startPosition = getRandomPosition()local endPosition = getRandomPosition()local direction = endPosition - startPositionWorkspace:Raycast(startPosition,endPosition)enddebug.profileend()endMirando nuestro LocalScript en el RenderStepped evento vemos que hay rayos que se lanzan 1500 veces por segundo. Para asegurarse de que esta parte del código sea de hecho lo que está causando el retraso de renderizado, dale una etiqueta que resaltará esta parte del código cuando se ejecutarMicroProfiler.
Crea una etiqueta usando la etiqueta debug.profilebegin() y llámala Raycast Spam.
Cierra la depurarusando debug.profileend().
Confirmando el Problema
Si las grandes barras horizontales en MicroProfiler están envueltas en esta etiqueta, sabrá que tuvo éxito en identificar el código no optimizado.
Pon a prueba tu experiencia.
Pausa MicroProfiler usando CtrlP .
Haga clic en y arrastre hacia abajo para encontrar la categoría horizontal más grande en ese marco.
Busca la etiqueta Raycast Spam recién creada.