MicroProfiler

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

El MicroProfiler es una herramienta de optimización de rendimiento y solución de problemas en Roblox Studio y el cliente de Roblox. Proporciona información de tiempo visual detallada para todas las tareas del motor que se ejecutan durante un fotograma, como animar personajes, actualizar física, ejecutar scripts y renderizar geometría. Puedes identificar qué tareas se ejecutaron durante qué fotograma, cuánto tiempo tardaron en ejecutarse y si alguna te hizo perder tus objetivos de tiempo de fotograma.

Tiempos de fotograma

Para usar el MicroProfiler, debes entender la relación entre el tiempo de fotograma y la tasa de fotogramas.

  • El tiempo de fotograma es cuánto tiempo tardó un fotograma en renderizarse en la pantalla, generalmente medido en milisegundos.
  • La tasa de fotogramas es el número de fotogramas renderizados en la pantalla, generalmente medido en fotogramas por segundo (FPS).

Los tiempos de fotograma más bajos significan una tasa de fotogramas más alta. Divide 1,000 milisegundos (1 segundo) por el tiempo de fotograma para obtener la tasa de fotogramas.

Tiempo de fotograma promedioFotogramas por segundo
33.33 ms30 FPS
16.67 ms60 FPS
8.33 ms120 FPS
4.17 ms240 FPS

Sin embargo, para un juego fluido, no es suficiente tener una alta tasa de fotogramas. Necesitas tiempos de fotograma consistentes. Por ejemplo, si 59 fotogramas llegan en 10 milisegundos y un fotograma en 410 milisegundos, los jugadores perciben un gran y abrupto tartamudeo, incluso si el juego se está ejecutando a 60 FPS. Si todos los fotogramas tardan aproximadamente el mismo tiempo en renderizarse, tu juego se sentirá perceptiblemente más suave debido a esa consistencia, especialmente a tasas de fotogramas más bajas.

El MicroProfiler se centra totalmente en el tiempo de fotograma. Su propósito es ayudarte a identificar picos en el tiempo de fotograma y qué los causó.

Abrir el MicroProfiler

Abrir el MicroProfiler varía según la plataforma:

  • En el cliente móvil, abre el menú de Configuración y cambia el MicroProfiler a Activado. Luego, desde una máquina de desarrollo en la misma red, usa tu navegador web para navegar a la dirección IP y el puerto proporcionados.

    La interfaz de usuario del MicroProfiler en móvil.

    Esta captura de pantalla muestra una dirección IP de 172.18.56.105 y un puerto de 1338, así que navegas a 172.18.56.105:1338. Dependiendo de la configuración de red de tu dispositivo, puedes ver múltiples direcciones IP. Si una no funciona, prueba la siguiente.

  • En el cliente de escritorio, presiona CtrlF6 (F6).

  • En Studio, presiona CtrlF6 (F6).

En general, el cliente móvil es el mejor lugar para perfilar tu juego. La mayoría de los jugadores en Roblox utilizan teléfonos y tabletas, y estos dispositivos tienen severas limitaciones térmicas y de energía que limitan su rendimiento. Si tu juego funciona bien en una tableta Android de gama media, casi seguramente funcionará mucho, mucho mejor en un escritorio para juegos.

Fundamentos del MicroProfiler

El MicroProfiler tiene dos componentes clave: el gráfico de barras de tiempo de fotograma y la línea de tiempo de tareas detallada.

  • El gráfico de tiempo de fotograma se extiende a lo largo de la parte superior de la interfaz y muestra cuánto tardó cada fotograma en renderizarse. Las barras más altas significan tiempos de fotograma más largos.
  • La línea de tiempo muestra todas las tareas individuales que se ejecutaron durante el fotograma. Las barras más anchas representan tareas que tardaron más en ejecutarse.

Un flujo de trabajo típico en el MicroProfiler es usar el gráfico de tiempo de fotograma para identificar un pico (una barra más alta) y luego usar la línea de tiempo para identificar qué tareas causaron el pico. Luego puedes consultar la Referencia de etiquetas para obtener información sobre la tarea y cómo mejorar su rendimiento.

Ejemplo de un pico de tiempo de fotograma.

Gráfico de tiempo de fotograma

La altura de cada barra indica el número de milisegundos que tardó en completar el fotograma. Los fotogramas más recientes están a la derecha. Coloca el cursor sobre un fotograma para obtener información básica sobre el uso de la CPU y la GPU.

El gráfico de fotogramas del Microprofiler, mostrando fotogramas azules e información de fotograma detallada.
  • Las barras naranjas son los fotogramas donde el Tiempo de Pared de Tareas supera el Tiempo de Pared de Renderizado. En estos fotogramas, al menos uno de los hilos trabajadores, que realizan tareas como ejecutar scripts, calcular física y reproducir animaciones, tardó más en ejecutarse que el hilo de renderizado principal.

    Si el juego no está alcanzando tus objetivos de tiempo de fotograma y tiene un gran número de fotogramas naranjas, las causas comunes son los scripts, la física y las animaciones. Consulta Mejorar el rendimiento.

  • Las barras azules son los fotogramas donde el Tiempo de Pared de Renderizado supera el Tiempo de Pared de Tareas. En estos fotogramas, el hilo de renderizado principal tardó más tiempo que cualquiera de los hilos trabajadores.

    Si el juego no está alcanzando tus objetivos de tiempo de fotograma y tiene un gran número de fotogramas azules, eso indica un cuello de botella de renderizado. Las causas comunes son una densidad de objetos excesiva, movimiento de objetos y iluminación. Consulta Mejorar el rendimiento.

  • Las barras rojas son los fotogramas donde se cumplen dos condiciones:

    • Tiempo de Pared de Renderizado supera Tiempo de Pared de Tareas
    • Tiempo de Espera de GPU es mayor a 2.5 milisegundos

    Las barras rojas son menos comunes que las naranjas y azules y son a menudo el resultado de una complejidad de objeto excesiva, tamaño de textura y efectos visuales. La optimización es similar a las barras azules. Consulta Mejorar el rendimiento.

Tareas pequeñas al final de un fotograma pueden a veces alterar el Tiempo de Pared de Tareas y el Tiempo de Pared de Renderizado, lo cual es una buena razón para enfocarse más en el tiempo de fotograma que en el color del fotograma. No hay un "buen" color por el que esforzarse. Una mezcla de naranja, azul y rojo no es problemática siempre que estés alcanzando tus objetivos de tiempo de fotograma. Si no estás alcanzando tus objetivos de tiempo de fotograma, los colores pueden indicar dónde optimizar.

Línea de tiempo

  • Haz clic izquierdo y arrastra para desplazar la línea de tiempo. En una máquina con muchos núcleos de CPU, es posible que necesites desplazarte hacia arriba o hacia abajo bastante para encontrar el hilo que realiza una tarea particular.

    El lado izquierdo de la vista detallada del Microprofiler, con filas para hilos.
  • Desplazarte con la rueda del ratón amplía y reduce la línea de tiempo. Combinado con las etiquetas de milisegundos en la parte superior de la línea de tiempo, puedes tener una idea de cuánto tiempo tardó una tarea en un sentido absoluto, pero también cuánto tiempo tardó en relación con otras tareas.

    La vista detallada del Microprofiler con numerosas etiquetas horizontales.
  • La superposición verde en el gráfico de barras indica el número de fotogramas actualmente visibles en la línea de tiempo—tu nivel de zoom. Haz clic izquierdo en una barra de fotograma para saltar a esa posición en la línea de tiempo.

    Puede que tengas que ajustar tu nivel de zoom, pero colocar el cursor sobre una barra resalta el fotograma en la línea de tiempo. Líneas grises claras delimitan los fotogramas.

    El gráfico de barras del MicroProfiler con superposición verde para mostrar el nivel de zoom.
  • Las etiquetas que aparecen directamente debajo de otra etiqueta indican tareas que se desempeñan como parte de la tarea de mayor nivel.

    En lugar de la tarea principal, normalmente deseas solucionar los problemas de las tareas secundarias que tienen peor desempeño; una tarea principal no puede ser más corta que la suma de sus tareas secundarias.

  • Haz clic derecho en una etiqueta para hacer zoom en la línea de tiempo exactamente a la duración de esa tarea.

  • Si la cantidad de información es abrumadora, utiliza el menú de Grupos o Tareas para filtrar la línea de tiempo. Por ejemplo, puede que solo quieras ver las tareas de Renderizado en el hilo principal.

    La vista al pasar el cursor sobre una etiqueta, con el Grupo resaltado.
  • Usa CtrlF (F) para saltar a la ocurrencia de una tarea que ocupa más tiempo en el volcado. Por ejemplo, computeLightingPerform se ejecuta en cada fotograma del cliente. Si lo buscas en un volcado con 128 fotogramas, puedes saltar al fotograma donde tardó más en completarse.

Hilos

Como muchos programas, Roblox utiliza múltiples hilos para realizar secuencias de tareas al mismo tiempo. El MicroProfiler muestra el nombre del hilo en el lado izquierdo de la línea de tiempo.

El lado izquierdo de la vista detallada del Microprofiler, con filas para hilos.

Hay tres tipos de hilos importantes:

  • Principal ("RBX Principal"): Maneja tareas de renderizado basadas en la CPU. Procesa entradas, Humanoids, animaciones/tweening, propiedad física, sonido y espera reanudaciones de scripts. También actualiza interfaces de Studio y coordina los otros hilos.

  • Trabajador ("RBX Trabajador"): Ayuda al hilo principal con redes, física y búsqueda de caminos. Debido al número de núcleos en las CPU modernas, probablemente tengas muchos hilos trabajadores, la mayoría de los cuales están en estado de espera en cualquier momento.

  • Renderizado ("GPU"): Sigue una lógica de "preparar, ejecutar, presentar". Se comunica con la unidad de procesamiento gráfico (GPU) del dispositivo.

    • Preparar: La información del hilo principal se utiliza para actualizar los modelos de renderizado.
    • Ejecutar: Emitir comandos de renderizado, incluidas interfaces 2D.
    • Presentar: Sincroniza con la GPU.

Perfiles de script personalizados

Si tus scripts están ejecutando tareas complicadas, puedes perfilar partes críticas del código para asegurarte de que no estén tardando demasiado. Encierra el código con debug.profilebegin() y debug.profileend() para medir todo lo que se haga entre estas llamadas de función y crear una etiqueta en la línea de tiempo del MicroProfiler.

local RunService = game:GetService("RunService")
local function onPreSimulation()
debug.profilebegin("Trabajo Duro")
-- Ejemplo de trabajo duro: intercambiar dos variables 200,000 veces
local a, b = 0, 1
for _ = 1, 200000 do
a, b = b, a
end
debug.profileend()
end
RunService.PreSimulation:Connect(onPreSimulation)
Muchas etiquetas en el MicroProfiler, con una etiqueta personalizada ocupando la mayor parte del tiempo de procesamiento.

Por su duración en la línea de tiempo, puedes decir que la función está utilizando mucho tiempo de procesamiento en comparación con otras tareas.

Analizar capturas con Assistant

En Studio, puedes pedirle a Assistant que analice automáticamente una captura pausada del MicroProfiler, identifique cuellos de botella de rendimiento y proponga soluciones.

  1. En Studio, abre el MicroProfiler con CtrlF6 (F6).
  2. Cuando veas un pico en el tiempo de fotograma, pausa la captura presionando Pausar en el menú superior o usando CtrlP (P).
  3. Abre Assistant y pídele que analice la captura. Ejemplos de prompts incluyen:
    • "He capturado un pico en el tiempo de fotograma en el MicroProfiler—analízalo."
    • "¿Qué causó el pico?"
    • "¿Está limitado por física o por script?"
    • "¿Qué categoría tiene el tiempo exclusivo más alto?"
    • "Cuando estoy en el hangar, los FPS caen. Reproduce el problema, usa el MicroProfiler para encontrar la causa, corrígelo y vuelve a probar."

Assistant lee la captura pausada a través de la API del MicroProfiler y devuelve un informe sobre los cuellos de botella probables, junto con cambios sugeridos en scripts o escenas que puedes aplicar.

Esta funcionalidad también funciona a través del servidor de Studio MCP, por lo que puedes integrar análisis del MicroProfiler en tu propio agente de IA o bucle agentico para obtener comentarios automatizados sobre cómo los nuevos cambios impactan el rendimiento de tu juego.

Guardar datos de fotogramas

Si deseas guardar un conjunto de datos de fotogramas para revisión posterior (o para compartir con alguien más), utiliza el botón de Guardar en archivo. El MicroProfiler guarda los datos de fotogramas en un archivo HTML independiente llamado microprofile-<fecha>-<hora>.html.

El botón de guardar en archivo en la interfaz web.

En el cliente de escritorio o en Studio, utiliza el menú de Volcado. En ambos casos, el MicroProfiler guarda automáticamente el archivo en el directorio de registros de Roblox:

  • En Windows, revisa %LOCALAPPDATA%\Roblox\logs.

    Si utilizas la aplicación Universal Windows Platform (UWP), revisa \Users\<nombredeusuario>\AppData\Local\Packages\ROBLOXCORPORATION.ROBLOX_<hash>\LocalState\logs\.

  • En macOS, revisa ~/Library/Logs/Roblox.

Perfilar el servidor

Además de perfilar el cliente, puedes capturar breves volcad os de la actividad del servidor:

  1. En el cliente de escritorio, únete a un juego para el cual tienes permisos de edición.

  2. Abre la Consola del Desarrollador con CtrlF9 (F9).

  3. En el menú desplegable, selecciona MicroProfiler.

  4. En la pestaña Servidor, especifica el número de fotogramas a capturar (máximo 60) y el número de segundos de retraso antes de comenzar la captura (máximo 4).

  5. Haz clic en Iniciar grabación del servidor.

    La pantalla del MicroProfiler en la Consola del Desarrollador.

    Después de unos segundos, la Consola del Desarrollador proporciona la ruta al archivo, que es la misma ruta que un volcado estándar.

Características solo web

El MicroProfiler tiene dos interfaces de usuario: la interfaz web (móvil y volcad os) y la interfaz de escritorio (cliente y Studio). Recomendamos utilizar la interfaz web siempre que sea posible. En general, las dos funcionan de manera similar, pero la interfaz web tiene algunas características adicionales:

  • Utiliza el menú de Rayos X para habilitar o deshabilitar la codificación por colores para la asignación de memoria.

    La vista web del MicroProfiler con rayos X habilitados.
    • Los fotogramas más claros dentro del gráfico de barras principal indican una mayor asignación de memoria.
    • Las partes más claras de la barra de vista previa y las etiquetas más claras en la línea de tiempo indican porciones del fotograma con una mayor asignación de memoria.
    • En modo rayos X, presiona C para mostrar el tamaño total de las asignaciones de memoria en lugar del número de asignaciones.
  • Utiliza el menú de Exportar para exportar un gráfico de llama de CPU o memoria, una visualización especializada que agrega todas las pilas de llamadas incluidas en el volcado, mantiene la jerarquía padre-hijo y las dimensiona en función de la duración. Los gráficos de llama son especialmente útiles para identificar tareas que no te hacen perder tus objetivos de tiempo de fotograma (y por lo tanto son difíciles de notar), pero se ejecutan tan a menudo que su tiempo de procesamiento se vuelve significativo.

    El gráfico de llama del MicroProfiler en la interfaz web.

    También puedes crear gráficos de llama en Studio, aunque solo para scripts (tiempo de ejecución y asignaciones de memoria). En comparación con los gráficos de llama basados en la web, los que están en Studio son de arriba hacia abajo en lugar de de abajo hacia arriba y soportan tiempos de captura significativamente más largos.

    El gráfico de llama del MicroProfiler en Studio.
  • Arrastra y suelta un segundo archivo de volcado en la interfaz web para generar un gráfico de llama de diferencia, que puede ayudarte a identificar mejoras o regresiones en el rendimiento de tu juego con el tiempo. Haz clic en Combinar y Comparar para exportar un nuevo archivo HTML.

    El constructor del gráfico de llama de diferencia del MicroProfiler mostrando los lados izquierdo y derecho.

    El gráfico de llama de diferencia resalta el volcado (izquierdo o derecho) que consume más CPU o memoria, con colores más brillantes indicando una diferencia mayor.

    El gráfico de llama de diferencia del MicroProfiler.

Características solo de escritorio

En la línea de tiempo de escritorio, haz clic izquierdo en una etiqueta para agregarla a un gráfico de línea en la esquina inferior derecha. El gráfico muestra el tiempo que la tarea toma en cada fotograma. Usando este gráfico, puedes probar el rendimiento solo de ciertas tareas en tu juego. Cuando termines, haz clic derecho en el gráfico para ocultarlo.

El gráfico que muestra cuánto tiempo tardan las tareas por fotograma.

Este gráfico está sincronizado con las barras del profiler principal. El rango de fotogramas actualmente seleccionado está resaltado en verde en el gráfico. También puedes hacer clic en cualquier parte de este gráfico para reenfocar la vista principal del profiler en ese fotograma específico, lo cual es útil para encontrar picos en la vista detallada.

©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.