Logs de renderizado 3DGS y herramientas de depuración
Esta página explica cómo obtener información de diagnóstico y cómo leer cada herramienta. Para localizar un problema por síntoma, consultar Resolución de problemas.
Consultar el log del plugin
El log del plugin tiene dos categorías:
| Categoría | Origen |
|---|---|
LogLCC | Pipeline LCC y funciones comunes (carga, colisión, licencias, funciones de utilidad) |
LogLCC2 | Específico del pipeline LCC2 |
Consultarlo en el editor
Abrir Window > Output Log. Durante la investigación, escribir LogLCC en el cuadro de filtro para encontrar rápidamente los mensajes del plugin, o ejecutar los comandos siguientes en la consola para elevar el nivel de log:
log LogLCC Verbose
log LogLCC2 Verbose
El archivo de log del editor se encuentra en:
<directorio del proyecto>/Saved/Logs/<nombre del proyecto>.log
Consultarlo en una compilación empaquetada
Iniciar una compilación Development con el parámetro -log para abrir una ventana de consola. El archivo de log se encuentra en:
<directorio del paquete>/<nombre del proyecto>/Saved/Logs/<nombre del proyecto>.log
Las compilaciones Shipping no generan log por defecto, por lo que conviene usar una compilación Development para la investigación.
Al notificar un problema, adjuntar el archivo de log completo de la ejecución en la que se produjo el problema, no solo unas pocas líneas filtradas del plugin. Localizar un problema requiere a menudo el contexto externo al plugin.
Estadísticas de renderizado: stat XGrids
Ejecutar stat XGrids en la consola, o usar el botón Stats de la categoría Actions del panel Details del Actor.
Leerlo junto con stat unit para determinar primero si el cuello de botella es el 3DGS.
Elementos de recuento
Los elementos que se consultan con más frecuencia:
| Métrica | Significado |
|---|---|
Total Splats | Número total de splats del conjunto de datos |
Level0 Splats | Número de splats del Level 0 (la precisión más alta) |
Current Render Splats | Número de splats realmente renderizados en el fotograma actual, el elemento principal para valorar la carga de renderizado |
Current Render Main Splats | Cantidad de datos principales renderizados en el fotograma actual |
Current Render Environment Splats | Cantidad de datos de entorno renderizados en el fotograma actual |
Total Nodes | Número total de nodos |
Current Render Nodes | Número de nodos renderizados en el fotograma actual |
Visible Node Num | Número de nodos visibles |
LCC Draw Call | Número de draw calls producidas por el plugin |
LCC Sort Num | Número de ordenaciones |
Camera Num | Número de cámaras que participan en el renderizado |
Cómo usarlo: cuando Current Render Splats se mantiene continuamente cerca del límite de Max Splat Num, el límite de recuento ya está recortando y el detalle de la imagen se reduce. Se puede aumentar el límite (rendimiento a cambio de calidad) o ajustar Level Factor para reducir los nodos en origen.
El tamaño total de los datos también se puede leer desde código; consultar GetSplatNumber.
Elementos de tiempo
Costes desglosados por etapa, útiles para localizar qué paso es lento:
| Métrica | Etapa correspondiente |
|---|---|
Render LCC | Coste total de renderizado del plugin |
Traversal Time | Recorrido de nodos, que decide los nodos renderizados en este fotograma |
Determine Nodes Level | Cálculo del Level de precisión de cada nodo |
Load Data To CPU | Lectura de los datos en memoria |
Upload To GPU | Subida de los datos a memoria de vídeo |
Splat Sort | Ordenación de los splats (necesaria para el renderizado translúcido) |
Node Sort | Ordenación de los nodos |
Build Mesh Batch | Construcción de los lotes de dibujado |
Wait Node Ready | Espera a que los datos del nodo estén listos |
Component Update | Actualizaciones de los componentes |
Update Camera Info | Actualizaciones de la información de cámara |
Load Meta File | Carga del archivo de metainformación |
Load Index Data | Carga de los datos de índice (pipeline LCC) |
Load Collision Data | Carga de los datos de colisión |
Load Environment Data | Carga de los datos de entorno |
Update Collision | Actualizaciones de la colisión |
Get Physics Trimesh Data | Generación de la malla de colisión física |
Release Memory | Liberación de memoria |
Preload Node | Precarga de nodos |
Get From Cache | Obtención de datos de la caché |
Create Thread | Creación de hilos |
Draw Node Box | Dibujado de los límites de nodo (solo mientras la visualización de depuración está activada) |
Cómo usarlo:
- Cuando
Splat Sortes alto, el pipeline LCC puede aumentar Sort Factor para ordenar con menos frecuencia - Cuando
Wait Node Readyes alto, la carga de datos no puede seguir el ritmo, posiblemente por un disco lento o por hilos insuficientes - Cuando
Upload To GPUes alto, la cantidad subida por fotograma es grande, así que conviene ajustar Level Factor o Max Splat Num - Cuando
Update CollisionyGet Physics Trimesh Datason altos, reducir Max Load Collision Distance
Para el flujo de trabajo completo de ajuste, consultar Guía de rendimiento.
Elementos de memoria y memoria de vídeo
| Métrica | Significado |
|---|---|
CPU Usage | Memoria usada por el plugin |
GPU Usage | Memoria de vídeo usada por el plugin |
Position Data(For Raycast) Usage | Uso de los datos de posición para las pruebas de rayos |
Collision Data Usage | Uso de los datos de colisión |
CPU Occupy Percentage | Porcentaje de memoria usada |
GPU Occupy Percentage | Porcentaje de memoria de vídeo usada |
Los elementos de porcentaje corresponden a los umbrales de liberación de la configuración del proyecto. Un uso que se mantiene cerca de Max GPU Usage Percetage For Free durante periodos prolongados significa que la recuperación de recursos se activa con frecuencia, lo que puede provocar tirones.
Para las reglas de asignación de memoria de vídeo y los límites del presupuesto, consultar Renderizado.
Elementos de hilos
| Métrica | Significado |
|---|---|
Collision Loader Thread Num | Número de hilos de carga de colisión |
Exporter Thread Num | Número de hilos de exportación |
Visualización de los límites de nodo
Alternarla con el botón Debug Node Bound de la categoría Actions del panel Details del Actor, o ejecutar en la consola:
r.Xgrids.DrawNodeBox 1
Esto dibuja los nodos cargados actualmente como cajas de estructura alámbrica. El color de la caja corresponde al Level del nodo: rojo, naranja, amarillo, verde, azul y morado avanzan por orden, donde el rojo es el Level más bajo (la precisión más alta) y el blanco es el Level más alto (la precisión más baja).
Para los conceptos de nodo y Level, consultar Renderizado.
Cómo leerlo:
- Cajas rojas que siguen renderizándose a lo lejos indican que la precisión es demasiado alta y se desperdicia rendimiento. Aumentar Level Factor
- Cajas de colores fríos por todas partes de cerca indican que la precisión se ha reducido en exceso y la imagen parece borrosa. Reducir Level Factor o comprobar Start Level
- Un número de cajas muy superior al esperado indica que Max Distance puede estar establecido en un valor demasiado alto
Solo funciona en el editor y en las compilaciones Development. La interfaz de código correspondiente es DebugNodeBound.
Visualización de la colisión
Alternarla con el botón Show Collision de la categoría Actions del panel Details del Actor, o ejecutar en la consola:
r.xgrids.DrawCollision 1
Esto dibuja la estructura alámbrica de los cuerpos de colisión cargados.
Cómo leerlo:
- Sin ninguna estructura alámbrica: los datos no contienen archivo de colisión, o
bEnableCollisionestá desactivado; consultar Requisitos previos de la colisión - Estructura alámbrica solo de cerca: comportamiento normal, ya que la colisión se carga por distancia y está limitada por Max Load Collision Distance
- La estructura alámbrica está desplazada respecto al contenido de la imagen: los datos de colisión no coinciden con los datos de renderizado, contactar con el soporte técnico
Activar esto primero al investigar line traces que no impactan o personajes que atraviesan el suelo, para confirmar si la colisión se cargó realmente. Para el mecanismo de carga, consultar Colisión; la interfaz de código es ShowCollision.
Visualización de la tasa de fotogramas
El botón Show FPS de la categoría Actions del panel Details del Actor equivale a ejecutar stat fps en la consola. Leerlo junto con stat unit para ver la distribución del coste entre los hilos.
Referencia de los mensajes de log habituales
Consultar el significado y la acción según el contenido del mensaje. Todos los siguientes son el texto exacto que genera el plugin.
Carga
| Mensaje de log | Significado y acción |
|---|---|
LCC file :<path> does not exist. | La ruta no existe. Verificar la ruta; las rutas relativas se basan en Content |
meta.lcc file :<path> load error,Please check. | El análisis del archivo de metainformación de LCC1 ha fallado, el archivo puede estar dañado |
Load Meta.lcc error,Please check your file! | Igual que el anterior |
Read index.bin error,path:<path>. | La lectura del archivo de índice ha fallado. Confirmar que index.bin existe y no está dañado |
LCC4Unreal do not support this file format! | El formato no es compatible, confirmar que la extensión está dentro del rango admitido |
The data file:<path> does not exist,Please check your file! | Falta un archivo de bloque de datos, el directorio de datos puede estar incompleto |
Colisión
| Mensaje de log | Significado y acción |
|---|---|
There is neither collision.bin nor collision.lci in the folder:<path>, please check. | No hay archivo de colisión en el directorio de datos, por lo que no se puede activar la colisión para estos datos |
Failed to open file <path> | La apertura del archivo de colisión ha fallado, comprobar los permisos y la integridad del archivo |
Read collision data error,path:<path>. | La lectura de los datos de colisión ha fallado, el archivo puede estar dañado |
Invalid indices in collision data! | El contenido de los datos de colisión es anómalo, contactar con el soporte técnico |
Renderizado
| Mensaje de log | Significado y acción |
|---|---|
r.PostProcessing.PropagateAlpha is 0. LCC4Unreal requires this to be enabled for correct rendering. | Esta opción debe estar activada; de lo contrario, la combinación del alfa es incorrecta. El plugin también muestra un aviso |
Unlicensed: enabled clipping volumes limited to <N> ... | El número de volúmenes de recorte de la edición gratuita supera la cuota y el exceso no se renderiza. Consultar Ediciones y licencias |
Unlicensed: enabled section planes limited to <N> ... | Igual que el anterior, para el número de planos de sección |
GIS
| Mensaje de log | Significado y acción |
|---|---|
This lcc does not have RTK information! | Los datos no contienen información geográfica RTK, por lo que no se puede usar la colocación geográfica |
MetaInfo's Offset has no 3 elements! | El campo offset de la metainformación es anómalo, los datos pueden tener un problema |
Licencias
| Mensaje de log | Significado y acción |
|---|---|
ProjectID is invalid; generate one in Project Settings (Project/Description). Refusing authentication. | El proyecto no tiene Project ID, generar uno en la configuración del proyecto |
Failed to decode AppKey, please check. | El contenido de la AppKey está incompleto, copiarla de nuevo |
Invalid AppKey, please check. | El formato de la AppKey es incorrecto |
Authorization has expired, please check. | La licencia ha caducado, generarla de nuevo |
AppKey has expired. Please generate a new one. | Igual que el anterior |
Authentication Failed: <message> | El motivo del fallo devuelto por el servidor, actuar según el contenido del mensaje |
HTTP request failed | El servidor de licencias no es accesible, comprobar la red |
HTTP error! Status: <code> | El servidor ha devuelto un código de estado de error |
Signature Verification Failed | La verificación de la firma ha fallado, contactar con el soporte técnico |
Proxy Mesh
| Mensaje de log | Significado y acción |
|---|---|
has a null StaticMesh | El Actor de malla proxy no tiene asignado ningún StaticMesh y no surte efecto. Se notifica una vez por instancia |
Qué adjuntar al notificar un problema
Reunir los elementos de esta lista de comprobación acelera notablemente el diagnóstico.
- Versión del plugin y versión del motor. La versión del plugin es visible en la esquina inferior derecha del panel del plugin, y también se puede encontrar buscando LCC4Unreal en la ventana
Edit > Pluginsdel motor. - El archivo de log completo del momento en que se produjo el problema. Proporcionar el propio archivo
.log, sin filtrar y no solo la línea de error concreta. El contexto que rodea al log contiene a menudo la información clave necesaria para el diagnóstico, y el filtrado hace perder esas pistas. Para la ubicación del log, consultar Consultar el log del plugin. - Información de los datos. Formato, tamaño aproximado (Total Splats) y si contienen colisión.
- Pasos de reproducción. Una ruta de reproducción mínima que parta de un proyecto nuevo es lo más valioso.
- Entorno de hardware. Modelo de tarjeta gráfica, versión del controlador y tamaño de la memoria de vídeo.
- Project ID. Necesario para los problemas de licencia; es visible en
Project Settings > Project > Description.
Para los datos de contacto, consultar Contacto.