Apres avoir reussis a resoudre 2 ou 3 petits probleme de pointeur j'arrive enfin a deplacer un petit personnage sur mon ecran
Mais voila des que je change la resolution : Passage de 640*480 a 800*600 ma petite application bouffe tout le CPU et le personnage avance beaucoup beaucoup moins vite ! (normale ça rame !!)
Pour information j'utilise un Pentium3 800 mhz avec 256 de ram
Je ne blitt sur la surface que mon personnage , pas de fond ou autre.
Le personnage est conpressé en png , le passage en bmp me fera gagner beaucoup au niveau processeur ? Ou il y a t- il d'autre technique qui me permettrai d'oppimiser un peu mon code?
Sinon juste une petit derniere question : L'un d'etre vous a t'il deja coder un petit systeme de map (tres simple) pour un rpg 2D ?
SDL_PollEvent(&event); switch(event.type) { case SDL_QUIT:
continuer = 0; break; case SDL_KEYDOWN: switch(event.key.keysym.sym) { case SDLK_ESCAPE:
continuer = 0; break; case SDLK_UP:
Deplacer(HAUT,sprite,&zone,&positionPerso); break; case SDLK_RIGHT:
Deplacer(DROITE,sprite,&zone,&positionPerso); break; case SDLK_DOWN:
Deplacer(BAS,sprite,&zone,&positionPerso); break; case SDLK_LEFT:
Deplacer(GAUCHE,sprite,&zone,&positionPerso); break; } }
par celui-ci :
while(SDL_PollEvent(&event)) { switch(event.type) { case SDL_QUIT:
continuer = 0; break; case SDL_KEYDOWN: switch(event.key.keysym.sym) { case SDLK_ESCAPE:
continuer = 0; break; case SDLK_UP:
Deplacer(HAUT,sprite,&zone,&positionPerso); break; case SDLK_RIGHT:
Deplacer(DROITE,sprite,&zone,&positionPerso); break; case SDLK_DOWN:
Deplacer(BAS,sprite,&zone,&positionPerso); break; case SDLK_LEFT:
Deplacer(GAUCHE,sprite,&zone,&positionPerso); break; } } }
Je sais pas si ca va changer grand chose mais tu peux toujours essayer. Je sais que j'avais eu un problème une fois à cause de ça (la pile ne se vidait pas assez vite je crois).
Nan mais la boucle avec la variable continuer tu la laisse. Remplace juste le bout de code que j'ai mis en haut. En fait la boucle while que j'ai mise la tu en sort des que tu as dépilé tous les événements (pollevent renvois alors 0).
Je ne connais pas bien la SDL je peux pas vraiment t'aider, mais en tout cas je doute que ton utilisation du CPU soit normale... Il y a peu etre une erreur quelque part.
Essaye d'uploader un zip avec ton projet qu'on puisse tester (avec les fichiers images et tout pour pouvoir compiler et exécuter).
Le personnage est compressé en png, le passage en bmp me fera gagner beaucoup au niveau processeur ? Ou il y a t- il d'autres techniques qui me permettraient d'optimiser un peu mon code ?
Le passage en BMP fera rien gagner du tout. Quand à ton code, désolé il est trop moche pour que je m'y penche, merci d'indenter correctement et de placer des commentaires (c'est la moindre des choses quand on demande de l'aide).
Citation : Ptidel
Sinon juste une petite dernière question : L'un d'entre vous a t'il déjà codé un petit système de map (très simple) pour un rpg 2D ?
Remram44, pour ton sytème de map comment relies tu le la structure de la map au tiles ?
Je pensais utilisé un sytème de numerotation : Mon fichier map contient le chemain vers le charset utilise la taille de la map , puis une suite de numero correspondant au tiles.
Le tileset est ensuite lu et chaque tiles est numeroté et apres on blitte toute la map. Mais voila avec ce systeme je perds enorment de chose : la tile est-elle traversable , il y a t'il un son specifique a jouer dessus ?? Bref dans mon systeme je ne peut definir ça uniquement pour une tile et pas faire des caracteristique specifique pour une cas de la map.
Sinon l'indentation tu la prefere dans quelle style ??
Je trouve pas de problèmes...
Mais c'est apparement cette ligne qui utilise beaucoup trop ressources : SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
EDIT:
(1h que je cherche je trouve pas... il n'y a peu etre pas de problème faudrais voir avec un expert ^^)
Bizar quand meme parceque j'ai fait une application 3D openGL dans laquelle je charge un model de 1000 polygones qui se déplace avec gestion des collisions et je suis à 10% de proc contre 30% avec ton appli.
[SDL] Lenteur dans le deplacement d'un personnage
× 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.
Google
Google
Google
Google