Referencia de etiqueta

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

Lo siguiente es una lista de etiquetas comunes en el MicroProfiler, agrupadas por categoría.Entender estas etiquetas puede ayudarlo a identificar código problemático en su experiencia.Las tablas contienen etiquetas de etiqueta, descripciones y consejos de rendimiento para mejorar el rendimiento y optimizar tu experiencia.

Dormir

Cuando los hilos no están realizando tareas activamente, entran en un estado de sueño, con etiquetas que indican cuánto tiempo estuvo durmiendo el hilo.En cualquier momento, es extremadamente común que la mayoría de los hilos de trabajador estén en un estado de sueño.

IA/navegación

EtiquetaDescripciónConsejos de rendimiento
tilizar rasterizadoLas baldosas de navegación actualizadas necesarias para una solicitud de búsqueda de camino, generalmente seguidas por computePath que requiere que esas baldosas estén actualizadas.Sigue el trabajo de navegación/preproceso en el subprocesoprincipal.Reduzca el número de invalidaciones de búsqueda de ruta, ya que esto hace que esos caminos necesiten ser recomputados. Esto se debe al movimiento de piezas no navegables.
puteo de computación

Calcula rutas, por lo general después de rasterizeTile .

Reducir el número y los extremos mundiales de las llamadas ComputePath .Prueba volver a usar rutas para múltiples agentes si se espera que comiencen/terminen desde ubicaciones aproximadamente similares.
preproceso/getPrimitivesOverlappingRecoge la geometría del mundo para cada azulejo de búsqueda de camino y programar las tareas de rasterización para ser ejecutadas por el subprocesode búsqueda de camino.Reducir el número de piezas.

Animación

EtiquetaDescripciónConsejos de rendimiento
Simulación/juegoSteppedProcesamiento de objetos específicos del juego como Humanoids , Animations y llamadas de devolución de latido del corazón
Simulación/juegoStepped/StepLegacyHumanoid cambios de estado y movement.Called pasoHumanoid en el servidor ahora (versión paralela)Desactivar o reducir los estados Humanoid en los NPC, si los tienes.El estado de la escalera es más importante para desactivar.Reducir las llamadas de devolución a cambios de estado como Humanoid.Died o Humanoid.Running
Simulación/juegoStepped/stepAnimationAnimators avanzará en las animaciones que se estén reproducendo actualmente.Reduzca la cantidad de Animators o articulaciones animadas para reducir la carga de trabajo de este paso.Reducir el número de llamadas a eventos de animación como AnimationTrack.KeyframeReached o AnimationTrack.Ended
Simulación/juegoStepped/RunService.SteppedEjecuta funciones conectadas al evento RunService.Stepped .Reducir la cantidad o la carga de trabajo de las funciones conectadas a este evento.Considera retrasar o reemplazar cálculos costosos.Considera difundir la computación a través de múltiples marcos.

Audio

EtiquetaDescripciónConsejos de rendimiento
SonidoProcesamiento de sonido, audio: ubicaciones, efectos, volúmenes, etc.
Etiqueta de desarrollador_SoundsSonidos en memoria: generalmente sonidos cortos que son lo suficientemente pequeños como para entrar en memoria. Por lo general, efectos de un solo disparo breves, no música de formulario largo.Usa menos sonidos cortos.
Etiqueta de desarrollador_Sonidos de streamingstream/StreamingSounds: estos son sonidos más grandes que se transmiten desde el disco. Generalmente archivos de música de mayor formato.Usa menos sonidos largos.

Redes

EtiquetaDescripciónConsejos de rendimiento
Recepción de paquetes netosRecibe paquetes de red. Si se replican muchos objetos o eventos, este paso tarda más.Replica menos objetos o eventos.
Replicador/Paquetes de procesoProcesa el contenido de paquetes de red, como movimientos, invocaciones de eventos y cambios de propiedad.Reduzca el número o el tamaño de los objetos que se replican o haga esto en pasos incrementales.Puede aumentar si el tamaño del mapa aumenta, ya que los mapas más grandes tienden a tener más actividad general.
Asignar ancho de banda y ejecutar enviadores/despachadores de física y enviadores de toqueEnvía datos sobre la actividad en la experiencia.Reduzca la cantidad de objetos móviles y/o toques. Vea las siguientes secciones.
Asignar ancho de banda y ejecutar enviadores/streamjob de despachoEnvía regiones específicas correspondientes a clientes específicos en la función "Transmisión".Reducir el radio de transmisión mínimo y objetivo.
Asignar ancho de banda y ejecutar enviadores/despachadores de datosEnvía cambios de propiedad, eventos remotos, cambios de estado humanoide, inicios/detenciones de animación.Reducir el número de cambios replicados al aplicación de modeladode datos
Replicador de envío de clústerEnvía datos de terreno a los clientes.Reducir la cantidad o el tamaño de los cambios de terreno.
ModelCompleteness Mega TrabajoSolo servidor: la completitud es un concepto interno. Cuando los modelos se envían completamente, se envían eventos de completitud de modelo.Añade o elimina menos instancias.
Paquete deserializadoProcesamiento de paquetes de red de bajo nivel. Prepara para Replicator ProcessPackets.Envía menos actualizaciones.

Renderizado

EtiquetaDescripciónNotas de rendimiento
PrepararLa información se recoge del hilo principal y se actualizan varias estructuras de datos utilizadas para renderizar.Esto bloquea los hilos de simulación, por lo que debe ser lo más pequeño posible.Vea Preparar etiquetas a continuación.
Preparar/Pass3dAdornRenderizar varios adornos de objetos, como etiquetas de texto sobre objetos. Este paso puede incluir raycasting para determinar si tales objetos son visibles.Reducir el número de objetos decorados visibles, como BillboardGuis , etiquetas de nombre/salud Humanoid, etc.
Preparar/Pasar2dPrepara la renderización de la interfaz de usuario 2D (tanto del jugador como de la interfaz de usuario de Roblox).Reducir la cantidad o la complejidad de los elementos de la interfaz de usuario.
Preparar/ActualizarPreparar/actualizarPartes inválidasActualiza las partes que tuvieron alguna propiedad cambiada o agregada.Reduzca la cantidad de cambios de propiedades en el mundo. Si un script actualiza un gran conjunto de propiedades de objetos, diviértelo entre marcos.
Preparar/ActualizarPreparar/actualizar clústeres rápidos inválidosPrepara la geometría, típicamente "FastClusters" utilizados para renderizar Humanoids . Los subrayadores especifican el número de partes, vértices y tamaño de vértices.Reducir el uso de 'Humanoids' bajo objetos que no sean Humanoids .No debe usarse para acortar las llamadas de dibujo ya que los clústeres rápidos consumen mucha más memoria.
Preparar/ActualizarPreparar/actualizarPartes dinámicasActualiza las posiciones para Humanoids , vehículos y otras instancias móviles para renderizar.Reducir el número o la complejidad de mover Humanoids o vehículos visibles.Combinar partes del mismo material y color en una unión o MeshPart puede ayudar con esto.
Preparar/ActualizarPreparar/actualizarInstancedClustersPrepara la geometría estática que usa renderizado instanciado (partes y partes de malla). Las etiquetas "Grupos" y "Instancias" indican el número actualizado.Usa menos variación de malla y material en general. También puedes crear grupos usando objetos que tengan apariencias similares: tamaño, color, material.
RealizarCuando se crean y emiten comandos de renderización reales.Vea etiquetas de rendimiento a continuación.
Ejecutar/rellenar verticales de guiRenderización de interfaces de usuario. Llena los búferes con vértices de interfaz de usuario para adornos. La etiqueta "Cantidad de elementos" indica la cantidad de elementos en la lista del renderizador.Si el costo es alto, reduce la cantidad de UI que se está actualizando desactivándola cuando no se utiliza asegurándose de que se oculta correctamente.
Ejecutar/Escena/queryFrustumOrderedAplica la selección de frustum para que los objetos no visibles no sean renderizados.Si hay un alto costo, significa que hay muchos elementos.Quizás utilice algunas mallas más grandes donde una sola malla tenga más detalles en comparación con muchas piezas individuales pequeñas.
Ejecutar/Escena/ComputeLightingPerformCalculo de iluminación cerca de la cámara.Manipula el número de fuentes de luz o mueve la cámara menos para reducir el tiempo que se tarda en recalcular la iluminación.
Ejecutar/Escena/ComputeLightingPerform/LightGridCPUActualiza la iluminación de voxel, que se usa en Voxel y ShadowMap modos y en niveles de calidad por debajo de 4 en el modo Future.Si la actualización de la ocupación del fragmento tarda demasiado, considere usar geometría de resolución más baja, reducir el número de partes o anclar partes.Si los otros submarcadores tardan demasiado, considera reducir el número de luces y usar geometría de lanzamiento no sombreada para objetos que se mueven e invalidan la ocupación.
Ejecutar/Escena/ComputeLightingPerform/ShadowMapSystemActualiza los mapas de sombras. No se realiza a niveles de calidad por debajo de 4 o cuando Lighting.Technology se establece en Voxel.Si la iluminación está configurada en Future , bájala a ShadowMap o reduce el número de luces.También puedes usar Light.Shadows y BasePart.CastShadows para deshabilitar el lanzamiento de sombras en instancias menos importantes.Vea Mejora del rendimiento .
Ejecutar/Escena/Brillo, Corrección de color, MSAA, SSAO, y SSAOApplyRenderizado de posprocesado.Reducir el número de efectos de postprocesado. Por lo general, esto no es significativo.
Ejecutar/Escena/UIRenderizado de interfaz de usuario. En Id_Screen, hay una etiqueta con el número de lotes, materiales y triángulos utilizados.Reducir el número de elementos de interfaz de usuario visibles. El uso de CanvasGroups puede ayudar a expensas de un mayor uso de memoria.
Ejecutar/Escena/Actualizar vista/actualizar partículas, actualizar límites de partículasActualizar la posición y los límites de las partículas.Reducir el número de ParticleEmitters , tasas de emisión, tiempos de vida, etc. Límite el movimiento de emisores.
Id_OpaquePartes en la escena con un valor de transparencia de 0.
Id_TransparentePartes en la escena con un valor de transparencia diferente a 0.Reducir el uso de transparencia parcial (valores diferentes a 0 y 1).
Id_DecalCalcomanías en la escena.
Realizar/PresentarEspera a que la GPU termine de renderizar el marco anterior; en realidad emite comandos de renderizado a la GPU; maneja recursos gráficos de bajo nivel.Reducir la complejidad de la escena en general. Si este paso lleva mucho tiempo, puede verse limitado por la GPU.
Realizar/Presentar/Esperar hasta que se completeEspera a que la GPU termine de renderizar el marco anterior.Si esto está sucediendo mucho en general, entonces la cantidad de cosas renderizadas es demasiado alta.FRM ayuda con el equilibrio de esto, pero si permanece alto, trata de usar menos detalles.

Guiones

EtiquetaDescripciónConsejos de rendimiento
Renderizar/PreRenderizar/fireBindToRenderSteppedCallbacksEjecutar funciones vinculadas a renderizar paso a través de RunService:BindToRenderStep() .Asegúrese de que las funciones en los scripts que usan RunService:BindToRenderStep() hagan el menor trabajo posible.
Renderizar/Prerenderizar/Ejecutar servicio.RenderSteppedEjecuta funciones conectadas al evento RunService.RenderStepped .Al igual que BindToRenderStep, asegúrese de que las funciones que usan este evento hagan el menor trabajo posible.
Esperando el trabajo de script híbridoReanuda los scripts que esperan usando marcos de espera.Este paso tiene un presupuesto de tiempo de ejecución para ejecutar scripts de espera, por lo que si tiene demasiados scripts de espera o scripts con un largo tiempo de ejecución antes de rendirse, este paso puede tomar múltiples
LuaTCCiclo de recolección de basura de Luau. La etiqueta proporciona estimaciones de memoria sobre la asignación total y cuánto se desasignó.Tablas de lua de piscina y otros objetos coleccionables o intenta reducir la creación de tablas temporales o cadenas
Latido del corazón/RunService.HeartbeatEjecuta funciones conectadas a los Class.RunService.Heartbeat``event.Talk a los contactos de simulación y scripts. La descripción actual es lo suficientemente genérica como para no estar equivocadaReducir la cantidad o la carga de trabajo de las funciones conectadas a RunService.Heartbeat.

Simulación

EtiquetaDescripciónConsejos de rendimiento
Propiedad de física distribuidaDetermina si el servidor o un cliente tiene autoridad sobre ciertas instancias como partes.Propiedad de física distribuida.
Simulación/ensambleActualiza un árbol de objetos conectados (ensamblajes) utilizados por el motor de físicas.Reducir la cantidad de articulaciones que se crean o destruyen.
Simulación/físicaTotal/físicaAvanzadaEjecuta la simulación de física.Reducir la cantidad y la complejidad de los cuerpos físicamente simulados.
Simulación/físicaAvanzadaTotal/físicaAvanzada/filtroEspacial/paso de filtroActualiza las islas de simulación, organiza las piezas según la propiedad de la red, la simulación local.Las islas son grupos no interactivos de partes que se pueden simular de forma independiente.Evite establecer la propiedad de la red con frecuencia. Mantenga grupos de partes lo suficientemente lejos el uno del otro para que se puedan simular por separado.
Simulación/físicaSteppedTotal/físicaStepped/worldStep/stepContactsActualiza los contactos entre objetos.Reduzca la cantidad de cuerpos que chocan a la vez o use cajas de colisión más simples. Los cubos son mejores que las mallas complejas.
Simulación/físicaTotal/físicaAvanzada/mundoAvanzado/pasoMundo O pasoMundoAceleradoResuelve ecuaciones de física relacionadas con conectores, flotabilidad y Humanoids .Cuando el motor está sobrecargado y no puede simular todo en tiempo real, se pueden limitar algunos pasos (stepWorldThrottled) y solo se simulan "ensamblajes en tiempo real" como Humanoids .Depende de dónde va el tiempo en función de las siguientes tres fases: pruebas de geometría de detección de colisión estrecha de contactos de paso.Paso de solucionador: integrar el tiempo y resolver las colisiones y otras restricciones updateBroadphase: actualizar las posiciones de las ensambladoras en el sistema de detección de colisiones y encontrar posiblemente parejas de fase estrecha que colisionan.
Notificar movimientos de ensamblajesAyuda a rastrear cuánto tiempo han estado durmiendo los primitivos.
Simulación/físicaSteppedTotal/físicaStepped/interpolateNetworkedAssembliesInterpola ensamblajes no controlados por este puerto de red.Establece el propietario de la red de partes a este puerto para reducir esto; aunque esto generalmente causará que se realice más trabajo de física en otro lugar.
Simulación/handleFallenPartsElimina partes que hayan caído por debajo de Workspace/FallenPartsDestroyHeight.Baja la altura de destrucción o reduce la cantidad de piezas que caen a la altura de destrucción.
Latido del corazón/latido interno/espacio de trabajo en latido del corazón/actualizaciónVisualmente durmienteSegunda parte de NotifyMovingAssemblies.
Latido del corazón/RunService.HeartbeatEjecuta funciones conectadas a los Class.RunService.Heartbeat``event.Talk a los contactos de simulación y scripts. La descripción actual es lo suficientemente genérica como para no estar equivocadaReducir la cantidad o la carga de trabajo de las funciones conectadas a RunService.Heartbeat.
worldStep/Contactos de pasoAyuda a la simulación de física a pasar muchos contactos a la vez.Reducir el número de objetos colisionantes.
Resolver loteAyuda a la simulación de físicas a resolver lotes de movimiento de objetos.
Interpolación de mecanismosAyuda con InterpolateNetworkAssemblies.

UI

EtiquetaDescripciónConsejos de rendimiento
Renderizar/Prerenderizar/Actualizar entradaActualiza y dispara todos los eventos relacionados con la entrada de usuario si el usuario ha realizado una entrada desde el último marco.Esto es cuando se desencadenareventos relacionados con la entrada del usuario.Es importante tratar de no hacer demasiado trabajo directamente cuando obtengas la entrada.Considera hacer una cantidad mínima de procesamiento para la entrada, y las computaciones más grandes deben ser retrasadas a otro hilo que ocurra más tarde.
Renderizar/Prerenderizar/TweenServiceActualiza objetos que se están transfiriendo usando TweenService y llama las llamadas de devolución de llamada, como las que se proporcionan a TweenSize o TweenPosition .Reduzca el número de objetos que se transfieren usando TweenService y asegúrese de que las llamadas de devolución hagan el menor trabajo posible.
Renderizar/Prerenderizar/Actualizar diseños de UILayoutsActualiza la posición y el tamaño de los elementos de UI.Reduzca la cantidad de elementos de interfaz de usuario que se redimensionan o reubican dinámicamente, como los administrados por UILayout.
Latido/TweenServiceEn el servidor, actualiza objetos intermedios con TweenService. En el cliente, esto se realiza en un paso de PreRender en lugar de eso.Reducir la cantidad de objetos intermedios por TweenService .