Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [SFML 2]Tile mapping lent  (Lu 8520 fois)

0 Membres et 7 Invités sur ce sujet

LD_FLO

  • Newbie
  • *
  • Messages: 41
    • Voir le profil
    • E-mail
Re : [SFML 2]Tile mapping lent
« Réponse #15 le: Juillet 17, 2012, 05:33:44 pm »
Là je pourrais pas t'aider, réinstalle ton paquet, ou édite le pour rajouter manuellement la fonction dans la doc. Mais si tu arrives à contourner le problème ce n'est pas si grave que ça.

Tourpi

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : [SFML 2]Tile mapping lent
« Réponse #16 le: Juillet 18, 2012, 02:07:27 pm »
J'ai résolu le problème en enlevant l'héritage par sf.Transformable et en ajoutant à la main les composantes de sf.Transformable. C'est moche mais je voyais pas d'autres solutions.

Finalement je crois bien que c'est python qui est vraiment lent. Il ne supporte vraiment pas les boucle en temps réel.
Le simple fait de placer une boucle vide pour passer de x dans [0, nbr_tile_largeur] et y de [0, nbr_tile_hauteur] fait chuter les FPS de 70 à 60.
Et si j'essaye juste de vérifier si la case est bien a afficher et que je l'affiche, je chute à 23 FPS.

Je pense donc que je vais porter mon programme sous C++ maintenant que j'ai une base bien solide.

Mais du coup pour l'instant mon jeu ne tourne qu'avec une image de fond et plus avec les tiles. Je peux changer ça facilement pour mon jeu mais il faut que je change tout le système de sauvegarde de mon éditeur.

Je voulais savoir si l'utilisation des tiles est vraiment plus rapide. Ou si elle entraine vraiment une baisse de la consommation de mémoire (en jeu et hors jeu). Pour l'instant ma mémoire est largement utilisé par la musique préchargé et les image sont vraiment négligeable (300Ko d'image contre 12Mo de musique  :-\ )

LD_FLO

  • Newbie
  • *
  • Messages: 41
    • Voir le profil
    • E-mail
Re : [SFML 2]Tile mapping lent
« Réponse #17 le: Juillet 19, 2012, 02:23:55 pm »
C'est exactement ce que j'ai fait, je suis passé en C++ par soucis de performance. Mes FPS sont à 600 environ quand je pousse au max, contre 120 en python. Python est simplifié, et on a tendance à faire des choses compliquées trop simplement, au détriment de la vitesse.

Il vaut mieux que tu passes par un background; une seule gestion contre plusieurs pour les tiles.

Dans mon projet (qui est un jeu (on se refait pas)), mon background fait 3200x3200 pixel, et ma fenêtre fait 1280x800 pixel. J'ai 200 objets en plus à gérer, et des traitements de listes, le tout en temps réel. Et comme je disais, je tourne au max à 600 FPS, et j'ai juste un Core2 1.86 GHz, rien de bien fameux.

Laisse toi tenté par le background, c'est plus facile à gérer, et de mon côté je ne détecte pas de ralentissement.

Et met toi au C++ le plus tôt possible, ça t'évitera de passer plusieurs semaines à convertir un code python volumineux.

Tourpi

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : [SFML 2]Tile mapping lent
« Réponse #18 le: Juillet 19, 2012, 05:03:47 pm »
En effet je viens de passer au c++ et les résultats sont vraiment énorme par rapport au python (environ 2000 FPS ^^ ).

Par contre je me rend compte que ça fait longtemps que je n'ai pas fait du C++.
Dès le début j'ai mis plusieurs minutes à me rendre compte qu'il ne fallait pas faire MonType objet = MonType().
A cause de ça j'ai recompilé la SFML sous QtCreator parce que je croyais que la version mingw n'était pas bonne ^^.

Aussi Je me rend compte (à nouveau) de l'horrible complexité d'écriture de tout ce qui est itérateurs, tuples, ...
Je dois dire que la nouvelle norme est très apprécié.

D'après ce que tu dis, je vais pas repasser au tile mapping. Comme ça je peux continuer d'utiliser mon éditeur de niveau en python et mes maps déjà faite sont compatible alors.