Niveau alloc j'en fais pas de trop.
Mais effectivement, trouver un système qui ré-utilise des anciens vertex ça peut être intéressant.
Mais bon, le recyclage monstre que ça ferait risque de générer pas mal de bugs....et au final le traitement des déchets sera peut être plus long que leurs allocation...
Si je fais ça, OK je garde des Vertex alloués, mais ça change rien dans le fait que de toutes façon il me faudra quand même un sf::VertexArray a allouer...
J'ai une idée en tête:
Je pourrais avoir un tableau qui alloue des Vertex vide la première fois, et les conserve.
Ensuite, je ne met dans mon sf::VertexArray que les Vertex dont j'ai besoin (par pointeurs) provenant du tableau de base.
Au second draw, si le nombre de particules est identique, les Vertex sont ressortit en pointant du tableau de stock.
Si il en manque, le moteur de particules en recréera.
Si il y en a en trop, le moteur de particules ne sortira que ce dont il a besoin.
Je rajouterais donc une fonction pour vider les stock alloué, histoire de faire face au problème du surplus dans le stock (si l'utilisateur alloue beaucoup de particules, puis n'en utilise plus, il peut alors vider le stock pour économiser la ram)
J'essaie ça dès que je peux