Bonjour tout le monde ! Je travaille en ce moment sur un jeu, même si je suis un peu débutant dans cet univers, ça fait un moment que je me documente et je me suis enfin lancé, dans un jeu basé sur un ECS. Mais je me retrouve face à un problème : on m'a dit qu'utiliser des sf::Sprite n'était pas très optimisé, je pense que c'est vrai mais par souci de simplicité, je préfère utiliser des Sprite pour mes entités.
Mais voila, vu que c'est coûteux en mémoire, je voudrais essayer d'optimiser tout ça un peu, surtout que je risque d'avoir beaucoup d'entités dessinables à certains moments. Je me suis donc tourné vers une solution : afficher tout ce qui est "à l’intérieur de la fenêtre".
Mais voilà : on m'a dit que si utiliser des sprites était coûteux en mémoire, c'était parce que les appels à draw() l'était. Est-ce que c'est vrai ? Autrement dit, vaut-il mieux pour moi trier les éléments moi même et n’appeler draw() que avec les éléments qui sont dans l'écran, ou appeler draw() pour tous et laisser faire une sf::View sont boulot ?
Y a t'il d'autres moyen d'optimiser tous ça ? (Les sf::VertexArray me semblait pas si mal mais j'ai du mal a voir comment m'en servir de la bonne manière ... Dans l'exemple de la tilemap des tutorials, il appel draw avec un seul grand VertexArray, comment je pourrais faire ça si mes entités sont séparées ?)
Merci d'avance pour vos réponses !