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 detallada y visual sobre el tiempo de ejecución de todas las tareas del motor que se ejecutan durante un fotograma, como la animación de personajes, la actualización de la física, la ejecución de scripts y el renderizado de geometría. Puedes identificar qué tareas se ejecutaron durante qué fotograma, cuánto tiempo tardaron en ejecutarse y si alguna causó que no alcanzaras 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).

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 brusco tartamudeo, aunque el juego esté funcionando 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 de 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 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, por lo que navegas a 172.18.56.105:1338. Dependiendo de la configuración de red de tu dispositivo, podrías 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).

Generalmente, el cliente móvil es el mejor lugar para perfilar tu juego. La mayoría de los jugadores en Roblox usan 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 con seguridad funcionará mucho, mucho mejor en un escritorio de juegos.

Conceptos básicos 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 detalladas.

  • El gráfico de tiempo de fotograma se extiende a lo largo de la parte superior de la interfaz y muestra cuánto tiempo 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 completarse el fotograma. Los fotogramas más recientes están a la derecha. Pasa el cursor sobre un fotograma para obtener información básica sobre el uso de CPU y GPU.

El gráfico de fotogramas del Microprofiler, mostrando fotogramas azules e información detallada del fotograma.
  • Las barras naranjas son fotogramas donde el Tiempo de Pared de Trabajos excede el Tiempo de Pared de Renderizado. En estos fotogramas, al menos uno de los hilos de trabajo, que hacen cosas 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 scripts, física y animaciones. Consulta Mejorar el rendimiento.

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

    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 en el renderizado. Las causas comunes son una densidad excesiva de objetos, movimiento de objetos y iluminación. Consulta Mejorar el rendimiento.

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

    • Tiempo de Pared de Renderizado excede Tiempo de Pared de Trabajos
    • Tiempo de Espera de GPU es mayor a 2.5 milisegundos

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

Las tareas pequeñas al final de un fotograma pueden a veces alterar el Tiempo de Pared de Trabajos y el Tiempo de Pared de Renderizado, lo que es una buena razón para centrarse más en el tiempo de fotograma que en el color del fotograma. No hay un color "bueno" por el que esforzarse. Una mezcla de naranjas, azules y rojos 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 desplazar 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.
  • Desplazarse hace zoom en 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.

    Es posible que debas ajustar tu nivel de zoom, pero pasar el cursor sobre una barra resalta el fotograma en la línea de tiempo. Líneas de color gris claro 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 realizan como parte de la tarea de nivel superior.

    En lugar de la tarea principal, normalmente querrás solucionar los problemas de las tareas secundarias de peor rendimiento; 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, usa el menú Grupos o Hilos para filtrar la línea de tiempo. Por ejemplo, es posible que solo desees ver tareas de Renderizado en el hilo principal.

    La vista al pasar el cursor sobre una etiqueta, con 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 CPU. Procesa entradas, Humanoids, animaciones/tweening, propiedad de 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 de trabajo, la mayoría de los cuales están en un estado de sueño en cualquier momento.

  • Renderizado ("GPU"): Sigue una lógica de "preparar, realizar, 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.
    • Realizar: 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 porciones críticas del código para asegurarte de que no estén tardando demasiado. Envuelve el código con debug.profilebegin() y debug.profileend() para medir todo lo que se hace entre esas 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.

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

Analizar capturas con Assistant

En Studio, puedes pedir 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 de 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 solicitudes incluyen:
    • "He capturado un pico de 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 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 propuestos en scripts o escenas que puedes aplicar.

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

Guardar datos de fotograma

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

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

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

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

    Si usas la aplicación de Plataforma Universal de Windows (UWP), verifica \Users\<nombre_de_usuario>\AppData\Local\Packages\ROBLOXCORPORATION.ROBLOX_<hash>\LocalState\logs\.

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

Perfilar el servidor

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

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

  2. Abre la Consola de 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 Comenzar grabación del servidor.

    La pantalla del MicroProfiler en la Consola de Desarrollador.

    Después de unos segundos, la Consola de 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 volcadillos) y la interfaz de escritorio (cliente y Studio). Recomendamos usar la interfaz web siempre que sea posible. En general, las dos funcionan de manera similar, pero la interfaz web tiene algunas características adicionales:

  • Usa el menú Rayos X para habilitar o deshabilitar la codificación de 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 porciones 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.
  • Usa el menú Exportar para exportar un gráfico de llamas 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 según la duración. Los gráficos de llamas son especialmente útiles para identificar tareas que no causan que no alcances tus objetivos de tiempo de fotograma (y por lo tanto son difíciles de notar), pero que se ejecutan con tanta frecuencia que su tiempo de procesamiento se vuelve significativo.

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

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

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

    El generador de gráfico de llamas de diferencia del MicroProfiler mostrando los lados izquierdo y derecho.

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

    El gráfico de llamas 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íneas en la esquina inferior derecha. El gráfico muestra el tiempo que la tarea tarda en cada fotograma. Usando este gráfico, puedes probar el rendimiento de solo 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 perfilador principal. El rango de fotogramas actualmente seleccionado se resalta en verde en el gráfico. También puedes hacer clic en cualquier parte de este gráfico para re-centar la vista del perfilador principal en ese fotograma específico, lo que es útil para encontrar picos en la vista detallada.

Buscar en la vista detallada

En el cliente de escritorio, puedes buscar tareas por nombre en la vista Detallada:

  1. Abre el MicroProfiler con CtrlF6 (⌘F6) y cambia a modo Detallado.

  2. Presiona CtrlF (⌘F) para abrir el cuadro de búsqueda.

  3. Escribe parte de un nombre de tarea o etiqueta. La coincidencia no distingue entre mayúsculas y minúsculas y encuentra el texto en cualquier parte del nombre. Las etiquetas coincidentes mantienen su color y todas las demás etiquetas se atenúan. Los fotogramas que contienen una coincidencia se resaltan en el gráfico de tiempo de fotograma.

  4. Mueve entre coincidencias:

    AcciónAtajo
    Siguiente coincidenciaF3 o Enter
    Coincidencia anteriorShiftF3 o ShiftEnter

    También puedes hacer clic en los botones < y > junto al cuadro de búsqueda. La coincidencia actual está contorneada y marcada con un triángulo encima, y un contador como 12 / 340 muestra su posición entre todas las coincidencias. Si la coincidencia está fuera de la pantalla, la línea de tiempo se desplaza hacia ella. Si has desplazado la línea de tiempo, la navegación continúa desde las coincidencias que están actualmente visibles.

  5. Presiona Esc, o presiona CtrlF (⌘F) nuevamente, para cerrar la búsqueda. Cerrar la búsqueda no cierra el MicroProfiler.

©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.