Tengo unas dudas sobre como mejorar el rendimiento de una función.
He sacado del cajón un código que hice sobre el "juego de la vida", que lo implementé usando el control TileMap pero eso es muy ineficiente, lento y pesado. Así que he querido simplificarlo lo máximo a ver si conseguía un rendimiento decente con un tablero grande de 180x100 (por ejemplo).
El rendimiento ha mejorado mucho, pero lo sigo encontrando leeeeento y me entran dudas de si la lentitud es porque lo estoy implementando mal o simplemente el Engine no da para más... Os he dejado una prueba de concepto:
https://aikoncwd.ovh/game-of-life/
En un tablero de 50x50 va muy fluido, entre 45 y 60 fps.
En un tablero de 100x100 la cosa petardea a 12fps...
Con la versión compilada de escritorio obtengo valores similares. El código lo dejo por aquí: https://pastebin.com/SZjc3ZHD
He cambiado el tilemap por llamadas directas a la api de dibujo (draw). No estoy instanciando objetos nuevos, ni cargando texturas ni nada. Pero sigue yendo lento.
He visto ejemplos más grandes de 300x300 que van muuuuuy finos, pero yo no lo consigo.
Estoy haciendo algo mal o simplemente es una limitación del Engine?