Aunque los gráficos son tan simples, ¿por qué mi juego se retrasa tanto?
¿Por qué el tiempo de carga de mi juego es tan alto?
¿Por qué la transición entre pantallas es tan lenta?
- Si dibujáramos un mapa de todos los conceptos matemáticos conocidos, ¿se vería similar a este árbol de evolución?
- ¿Alguna vez has llorado por las matemáticas?
- ¿Cuáles son algunas fórmulas matemáticas relacionadas con la fotografía?
- Cómo probar [matemáticas] \ sqrt [3] {4} - \ sqrt [3] {3} <\ sqrt [3] {3} - \ sqrt [3] {2} [/ matemáticas]
- Cómo encontrar [matemáticas] \ sum_ {r = 0} ^ {n} {n \ elegir r} \ left (\ cos {r \ theta} \ right) [/ math]
¿Por qué mis juegos FPS se mantienen bajos?
¡Comprimí todas mis texturas y sprites! ¡Todavía se queda atrás!
¿Por qué mi juego sigue fallando?
¿Por qué la batería se agota tan rápido mientras juego?
¿Por qué mi teléfono se calienta mientras juego?
Seamos sinceros; Todos nos encontramos con estos problemas en alguna etapa del desarrollo de nuestro juego . Intentaríamos perfiles, nuevos gráficos, compresión de gráficos, nuevo código y qué no. Por lo tanto, ¡termine perdiendo mucho tiempo valioso y, por lo tanto, costo! Finalmente, al final, intentamos terminar con alguna solución extraña o renunciar a las características clave.
Aquí intentaremos minimizar esta fase difícil y trabajar en un error común que cometemos. Prefiero decir que es más una negligencia que un error. ¡La negligencia clave de Draw Calls !
Entonces, antes de seguir adelante, comprendamos qué son las llamadas de extracción .
¿Qué son las llamadas de sorteo?
¡Una llamada de sorteo no es más que un comando ! Los comandos de llamada de extracción son dados por la CPU a la GPU, para representar una malla . El comando solo apunta a una malla que será renderizada / Dibujada y no contiene ninguna información material (tengan paciencia conmigo por un tiempo, las cosas serán más fáciles de avanzar, lo prometo: D)
Después de que se da el comando, la GPU toma los valores de estado de renderizado (material, texturas, sombreadores, etc.) y todos los datos de vértice para convertir esta información a través de un código mágico en (con suerte) hermosos píxeles en su pantalla.
El renderizado consiste básicamente en realizar una inmensa cantidad de pequeñas tareas, como calcular algo para miles de vértices y pintar millones de píxeles en una pantalla.
Nota:
Cada malla con un material diferente requerirá una llamada de sorteo por separado.
¿CÓMO AFECTAN NUESTRAS LLAMADAS A NUESTRO JUEGO?
Tomemos un ejemplo para entender esto. Voy a usar un panel de interfaz de usuario simple para ayudarlo a comprender fácilmente el concepto.
Cómo hacer que tus juegos se ejecuten súper rápido mediante la reducción de llamadas de Draw