Cómo reducir el programa Drawcall de Unity
Primero, procesamiento por lotes dinámico.
El procesamiento por lotes dinámico se completará automáticamente. Hay una sobrecarga linealmente relacionada con los vértices. Por lo tanto, sólo las mallas con menos de 900 vértices son mallas por lotes.
1) Si la posición es normal y UV única, entonces puedes agrupar hasta 300 verts.
2) Posición, normal, UV0, UV1 y tangente, luego solo 180 verts.
El procesamiento por lotes dinámico tiene los siguientes requisitos:
1. material.
2. Los objetos del mapa de luz deben apuntar exactamente a la misma posición del mapa de luz para el procesamiento por lotes.
Los objetos que se van a agrupar deben tener el mismo índice de luz y el mismo desplazamiento/escala de mapa de luz.
3. Los objetos que reciban sombras en tiempo real no se procesarán por lotes.
Los objetos con la opción "Recibir sombras en tiempo real" marcada no se agruparán.
4. Hay una cierta sobrecarga para procesar por lotes objetos dinámicos por vértice. Si su sombreador usa la posición del vértice, UV normal y único, entonces puede procesar por lotes 300 vértices, sin embargo, si su sombreador usa el sombreador; posición del vértice, normal, UV0, UV1 y tangente, por lo que solo hay 180 verts.
5. Los objetos deben utilizar la misma relación de transformación.
En segundo lugar, procesamiento por lotes estático.
El uso de procesamiento por lotes estático requerirá memoria adicional para almacenar la geometría combinada. ? Si varios objetos comparten la misma geometría antes del procesamiento por lotes estático, se creará una copia de la geometría para cada objeto. A veces hay que sacrificar el rendimiento de renderizado y evitar el procesamiento por lotes estático de ciertos objetos para mantener pequeña la huella de memoria.
El uso de StaticBatching generará un uso de memoria adicional porque Unity concatenará varios objetos en un solo objeto.
UtilidadStaticBatching. Combine() le dice a UnityEngine que trate staticRoot como un objeto estático.
En tercer lugar, otras formas de reducir los retiros
1. Cambie la expresión. Por ejemplo, las partículas de agua que fluye se cambian a una animación de agua que fluye.
2. Los sombreadores con funcionalidad de alto nivel se degradan a sombreadores unificados con funcionalidad de bajo nivel.