🛠️ Solución de Problemas de Rendimiento
Es posible que el efecto no pase la prueba de rendimiento en la herramienta o la verificación de control de calidad por varios motivos, tales como baja velocidad de cuadros, mayor uso de memoria (RAM) y mayor uso de la CPU. En esos casos, se deben analizar estas posibles causas de bajo rendimiento:
📉 FPS
Los cuadros por segundo (FPS) miden la fluidez con la que se ejecuta un efecto en un dispositivo, indicando la cantidad de cuadros por segundo que puede reproducir. El valor máximo de FPS admitido es 30 cuadros.
⏱️ Baja Velocidad
Una baja velocidad de cuadros puede hacer que el efecto se vea entrecortado. Puedes seguir estas recomendaciones para evitarlo:
-
Reducir la resolución, tamaño y cantidad de imágenes:
- Comprimir texturas.
- Mantener los fotogramas de la secuencia por debajo de 200 x 200 px.
- Apuntar a una velocidad de cuadros de 8 FPS.
- No mostrar más de 50 imágenes simultáneamente.
-
Reducir el número de fotogramas de la secuencia de textura:
- Una gran cantidad de fotogramas en secuencia de imágenes puede provocar un alto uso de la CPU, lo que puede afectar los FPS.
- Utilizar un máximo de 20 fotogramas de secuencia 2D y menos de 50 fotogramas en total.
-
Reducir la cantidad de objetos renderizados y la calidad de renderizado en la escena:
- Cuidar la cantidad de materiales, especialmente con los PBR que interactúan con los efectos de iluminación.
- El costo de los materiales PBR aumenta a medida que cubren más píxeles. Un plano que ocupe toda la pantalla es cuatro veces más costoso que uno que cubre solo el 25% de ella.
- Cada luz y sombra en la escena aumenta el costo del material.
- Renderizar objetos en primer plano.
- Usar el mismo material para modelos similares.
- Usar materiales Unlit en lugar de PBR si el modelo no requiere iluminación realista.
- Limitar el uso de fuentes de luz y apagar las sombras si no son necesarias.
- Reducir la cantidad de modelos renderizados en escena y simplificarlos disminuyendo la cantidad de caras y refinando la resolución del modelo.
-
Mantener los modelos por debajo de los 12,000 triángulos. Para comprobar si se están excediendo los límites de vértices:
- Reducir la escala del modelo dentro de la escena.
- Si los FPS permanecen constantes, es probable que esté limitado por vértices.
- Si los FPS disminuyen, es probable que esté limitado por fragmentos, lo que indica que el sombreado es demasiado exigente. En este caso, reducir la cantidad de luces, sombras y funciones del sombreado.
- Reducir la escala del modelo dentro de la escena.
-
Reducir el número de efectos faciales:
- El número de efectos faciales máximo es de 5.
- Tener en cuenta el costo de rendimiento al elegir los efectos faciales: los colores de ojos tienen el más alto costo, seguidos de las pestañas, la máscara facial y los efectos de ojos.
-
Reducir el número de grupos de renderizado.
📈 Incremento de Memoria
El incremento de memoria se refiere a la cantidad de memoria que aumenta después de cargar el efecto. Si un efecto tiene un alto incremento de memoria, es más probable que provoque un bloqueo de la aplicación. Algunas recomendaciones para optimizar el uso de memoria son:
- Reducir la resolución, tamaño y cantidad de imágenes:
- Comprimir texturas.
- Mantener los fotogramas de secuencia por debajo de 200 x 200 px.
- Apuntar a una velocidad de cuadros de 8 FPS.
- No mostrar más de 50 imágenes simultáneamente.
- Reducir el número de fotogramas de la secuencia de textura.
- Utilizar menos texturas de renderizado en el proyecto.
- Las texturas de alta resolución y los modelos 3D pueden consumir mucha memoria.
- Evitar usar activos, texturas y modelos 3D de alta resolución.
- No cargar varios archivos de sonido grandes al mismo tiempo.
- Evitar las simulaciones físicas complejas, ya que pueden consumir mucha memoria al almacenar datos de numerosos objetos.
🔄 Alto Uso de CPU
Para reducir el alto uso de la CPU:
- Utilizar algoritmos más simples.
- Reducir la cantidad de objetos renderizados y la calidad de renderizado en la escena:
- Cada luz y sombra en la escena aumenta el costo del material.
- Renderizar objetos en primer plano.
- Reducir el número de fotogramas de la secuencia de textura.
- Reducir el tamaño de las imágenes de secuencias de texturas. Las imágenes más grandes requieren más CPU para decodificarlas.
- Simplificar scripts visuales:
- Optimizar los bucles de efectos interactivos.
- Optimizar los eventos de activación, especialmente aquellos que se activan con frecuencia, como el nodo UPDATE.
- Tener cuidado con las simulaciones de física en tiempo real, especialmente en efectos interactivos con muchos objetos o interacciones complejas.