Je pense que la lenteur est due a ta structure de pile qui est basée sur une liste chainée : donc tu malloc et tu free beaucoup de fois.
Si tu bases ta pile sur un tableau réallouable, ça ira plus vite je pense : tu as une taille de tableau, et une reserve. si tu push et que tu n'as plus de place dans la reserve, tu realloc 2 fois la taille. et quand tu pop, tu ne fais rien sinon juste mofidier le curseur de taille : je pense que tu gagneras beaucoup.
C'est vrai pour la pile. Je vais l'implémenter autrement.
Je viens de regarder le flood fill de Allegro.
C'est autrement plus complexe déjà.
Il remplissent des segments à chaque fois, et il maintiennent une liste de ces segments.
Un SDL_FillRect est bien plus rapide qu'un putpixel isolé.
J'ai du mal à reproduire l'algorithme pour l'instant. Mais c'est super intéressant.
edit:c'est super intéressant, mais c'est hors niveau pour moi.
-> utilisation avancée du préprocesseur, algo bien balèze...
J'ai pris une claque. C'est très instructif, mais frustrant...
Non j ai beaucoup aimé tes reponses GurneyH.merci
Merci aussi pour Fvirtman c lui qui m'as proposé de faire un algorithme de remplissage par diffusion
apres que je terminerai les retouches je vais poster mon code ici , puis j attendrai que Fvirtman me dit un tres bon code XX3
BON ,@GurneyH j ai pas reussi a compiler tes deux codes sous codes blocks , voici ce qu'affiche le compilateur :
tu sais pourquoi il affiche tout ces erreurs autour du mots clé 'this',GurneyH?
Donc , mon probleme persite encore , ya pas les amis une possibilité d ' augmenter la taille de la pile d 'appel ?????pourquoi pas ?
personne peut me dire pour quoi ce code ne marche pas mais des que je l"execute un msg d'erreur windows est entrain de récceuiller une solution pour le problème!!!!!!!! qu'est ce que c'est ce code
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html