J'ai un problème de performance en pygame
Fermépatla8640 Messages postés 1 Date d'inscription vendredi 9 juin 2023 Statut Membre Dernière intervention 14 juin 2023 - 14 juin 2023 à 18:31
- J'ai un problème de performance en pygame
- Diagnostic de performance énergétique - Guide
- Test performance pc - Guide
- Test performance pc gratuit - Accueil - Utilitaires
- Mode performance - Guide
- Optimiseur de performance pc gratuit - Accueil - Utilitaires
6 réponses
Salut.
Tu devrais mesurer les temps d'exécution de chacune des parties de ton code, avec time() du module time ou encore avec le module timeit.
Il y a déjà les convert_alpha() qui doivent seulement être fait une seule et unique fois (à la création de l'image), c'est une opération lourde à réaliser en terme de performances.
Il faudrait aussi voir ce que contient la classe Sprite de ton module « module » et comment est appelée ta classe Map.
Bonjour, j'ai fait ce que tu m'a dit, et ça m'a effectivement amélioré mes performances de peu, mais ce n'est pas le coeur du problème, y'a il un moyen d'éviter de passer par des boucles comme je le fais, je sais pas avec un sprite Group par exemple, enfin bref, ce serait cool de trouver un moyen de vraiment améliorer les performances.
Combien y a-t-il d'éléments dans self.tiles ?
Oui, tu peux te servir de sprites et groups pygame, mais ce n'est pas ça qui va résoudre ton manque de performances.
Sans voir l'entièreté de ton programme et éventuellement de pouvoir tester, difficile comme ça de dire ce qui bouffe les perfs.
Y a besoin de plus d'infos en ce qu'il se passe dans ton programme.
Si tu soupçonnes que tes boucles nuisent à tes performances, tu pourrais essayer de simplifier tes tests dans la boucle intérieure:
if [...] < cursor < [...]:
Si tu juges que tu compares cursor beaucoup plus souvent que tu le modifies, définis le comme un tuple au lieu d'une liste.
if (...) < cursor < (...):
C'est peut-être de la micro-optimisation, mais on ne sait jamais ...
Sort de tes boucles ce qui est constant dans ces boucles. Remplaces-les par de simples variables.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question14 juin 2023 à 18:31
Oui, tu peux te servir de sprites et groups pygame, mais ce n'est pas ça qui va résoudre ton manque de performances. Spotiflyer