Estoy codificando un clon de ruptura. Tenía una versión en la que solo tenía un nivel profundo de estructuras. Esta versión funciona a 70 fps.C: ¿usar muchas estructuras puede hacer que un programa sea lento?
Para mayor claridad en el código, decidí que el código debería tener más abstracciones y crear más estructuras. La mayoría de las veces tengo dos dos estructuras de tres niveles de profundidad. Esta versión funciona a 30 fps.
Dado que existen otras diferencias además de las estructuras, le pregunto: ¿usar muchas estructuras en C puede ralentizar el código significativamente?
Por ejemplo, en la segunda versión, estoy usando:
struct Breakout
{
Ball ball;
Paddle paddle;
Level* levels;
}
struct Level
{
Bricks* bricks;
}
Por lo tanto, estoy usando un montón de veces breakout.levels [level_in_play] .bricks [i] .Visible por ejemplo. ¿Será esta una posible causa?
Gracias.
¿Las estructuras son "profundas" debido a su valor o referencia? ¿Estás haciendo asignación de memoria dinámica? – WhirlWind
Estoy usando mallocs sí. – nunos
Si asigna dinámicamente memoria en una ruta sensible al rendimiento, eso definitivamente podría desacelerar las cosas; Me gustaría ejecutar un perfil rápido en sus dos versiones de código para ver por qué, sin embargo. Tendría que mostrar un poco del código, no solo algunas estructuras de datos. – WhirlWind