Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Crone123

Pages: « Précédente 1 ... 8 9 [10]
136
Général / Re : Quel conteneur pour une map?
« le: Avril 15, 2012, 11:37:33 pm »
Oui, en fait je boucle pour chercher les objets avec des for parce que ce sont des tableaux de pointeurs.
Donc, j'utilise maintenant un tableau standard a 2 dimensions de 1000 * 1000 ça ne rame pas d'un poil :)
Citer
Je suis assez surpris par ta réponse. N'afficher que ce qui est visible à l'écran est loin d'être une petite optimisation. À moins que le module graphique ne gère ça de façon automatique, ça fait une énorme différence. En tout cas avec SFML 1.6 ce n'était pas géré automatiquement, je ne sais pas ce qu'il en est exactement avec SFML 2.0.
Bah, dans mon jeu actuel, j'ai pas essayé, je sais que de toutes façon ça diminue beaucoup les perfs, mais dans un autre de mes projets:
25 - 50 FPS a tout casser en affichant tout (et des bugs de fluidité, des rams, passage a travers les murs, et tout et tout), et 110  a 120 FPS en affichant uniquement ce qui est visible :)
Citer
entre autre n'afficher que ce qui est visible à l'écran, optimiser les boucles for() en faisant des ++obj au lieu de obj++ etc..
Actuellement, je fais ça, j'affiche par rapport au joueur, vu que maintenant le tableau standard a les objets bien rangés en fonction de leurs positions, je fais des for pour afficher tout ce qui sera visible a l'écran, c'est ultra rapide, c'est impeccable :D

Rien qu'au chargement de la map depuis un serveur de jeu, avant ça mettait 10s avec un std::map, maintenant ça met a tout casser une seconde avec le tableau standard :)

137
Général / Re : Quel conteneur pour une map?
« le: Avril 15, 2012, 03:27:22 pm »
OK, Merci :)
Je vais essayer un truc a base de tableaux standard pour l'instant, si entièrement remplis ça me prends 1.2Go de ram, mais si ce n'est pas entièrement remplis, ça ne consomme rien :)
La map fera 1000*1000 en 32*32 je pense que c'est déjà bien (surtout a gérer en réseau) et ne prendra 1.2Go de ram que si la map empile toutes les textures possibles du jeu les une sur les autres sur les 1000000 de cases disponibles, donc voilà, merci pour votre aide :D

PS: Donc au final le jeu ne prendra pas plus de ram qu'avant :)

138
Général / Re : Quel conteneur pour une map?
« le: Avril 15, 2012, 02:58:28 pm »
Merci pour ta réponse, mais je ne pense pas que ce soit ça dont j'ai besoin...
J'ai repensé plus précisément a l'objet dont j'ai besoin, et donc, ce qu'il me faudrait exactement, ce serait un tableau dynamique a 2 dimensions.
Sur lequel je peux avoir sa taille (comme un std::vector avec size()), et qui soit dynamique.
Exemple, je dis:
Tableau[82](104] = Pointeur_vers_un_obj;
Si cette case n'existe pas, il agrandi automatiquement le tableau :)

Sinon, au pire je prends un tableau standard que je fais assez grand :) (mais du coup, j'ai pas de taille illimitée, ni de fonctions pratiques sur l'objet, et ça bouffe beaucoup plus de ram...)

139
Général / Quel conteneur pour une map?
« le: Avril 15, 2012, 01:17:48 pm »
Bonjour,
Je développe actuellement un RPG, et j'ai besoin d'un conteneur pour stocker beaucoup d'objets pour la map. (Tout est positionné proprement sur des cases)
J'ai d'abord pris un std::vector mais le problème c'est qu'il fallait dans la boucle a chaque fois chercher dans tout le vector pour afficher les objets, et ça prends trop de temps, ça fait ramer le jeu.
Je suis donc passé sur un std::map<std::string, type_de_mon_obj> qui est plus pratique, mais pareil, ça a tendance a ramer...j'ai des chutes de FPS provenant de là, c'est injouable.
Je cherche donc un conteneur un peu comme les std::map, c'est a dire que je peux y accéder de la même façon, associatif en fait, mais plus rapide a l’exécution, ou bien, trouver une meilleure façon de l'utiliser.
J'ai pensé a la limite utiliser un std::map<sf::Vector2f, type_de_mon_obj> mais est-ce que je gagnerais des performances? Pas sur.

Existe-t-il, en dehors des bêtes tableaux standard, des objets dynamiques ou pour accéder a une case de ma map je demande:
obj[X][Y] ou X et Y sont des int, mais que le tableau soit géré dynamiquement par l'objet et supporte les nombres négatifs?
Ce ne serait pas associatif, mais ça serait sûrement encore mieux :)

Voilà, si quelqu'un pouvait m'aider pour ça, ça serait sympa parce que dans tous mes projets j'ai des gros problèmes avec les conteneurs et ça fait ramer le jeu...
Merci :)

140
Général / Re : Fonctionnement avec Qt
« le: Mars 27, 2012, 11:00:38 pm »
OK, je comprends maintenant alors :)
Donc quand je code en C++ avec la SFML je fais comme je faisais avec Game Develop (je sais pas si vous connaissez), un très bon logiciel de développement de jeux en 2D sans programmation qui utilise la SFML justement (c'est pour ça que je me suis tourné vers la SFML quand j'ai appris a programmer :) ).
Erreur de débutant donc, je vais ré-arranger tout ça :)
Merci beaucoup pour cette réponse rapide :D

141
Général / [Résolu] Fonctionnement avec Qt
« le: Mars 27, 2012, 08:06:22 pm »
Bonjour,
Pour mon projet, je suis obligé d'utiliser Qt avec la SFML, donc j'ai un petit problème niveau adaptation avec Qt des événements de la SFML.
Donc, j'explique rapidement:
La SFML avec ses boucles freeze Qt, je préfère le fonctionnement de la SFML a celui de Qt, mais bon.
Avant, le jeu fonctionnait avec des threads, donc les 2 pouvaient tourner en même temps, mais sous Linux ça passe assez bien mais sous Windows le jeu rame au point que c'est impossible de jouer avec cette technique (et ne rame pas si on vire les threads).
Bref, on m'as conseillé d'intégrer la SFML a Qt, comme le montre votre tutoriel, ça fonctionne très bien pas de problèmes la dessus.
Seulement, étant donné que l'on ne peut pas utiliser de boucles, l'on est obligé de tout déclarer en "global" vu que ce sont des variables dans l'objet (attributs), déjà ce point là, je le trouve embêtant, j'avais beaucoup de données qui étaient crée avec des fonctions, et qui étaient automatiquement supprimées a leurs fermetures.

Et maintenant, je prends un exemple simple:
Avant j'avais un menu, et quand le joueur lançait une map, ça lançait simplement une fonction, les boucles permettaient de rester sur le jeu, et quitter la fonction retournait au menu.

Maintenant, j'ai rien trouvé d'autre que d'utiliser une variable qui en fonction de sa valeur change ce qui doit être appelé (dans la fonction onInit() de l'objet), c'est vraiment pas pratique, surtout qu'il faut faire une fonction d’initialisation, alors qu'avant ça se faisait dans la même fonction, et il faut rajouter une fonction pour s'amuser a détruire toutes les données de la fonction qui sont stockées en attributs, c'est vraiment pas pratique.

Ensuite, je prends un autre exemple:
Je crée un RPG, je veux démarrer un combat, bon, bah, pas de problèmes, dans mon esprit, si il n'y a que la SFML, je lance une fonction qui contient une boucle, enfin vous voyez, et le problème est réglé, c'est très simple.

Seulement avec Qt, je suis de nouveau obligé de passer par des trucs en attributs au lieu d'utiliser les paramètres de fonctions (Qt freeze si on utilise une boucle pour la SFML).

Donc, ma question: Comment faire pour retrouver la simplicité qu'on avait avec la SFML seule, en utilisant Qt, sans se trimbaler des tonnes d'attributs d'objets a la place de paramètres de fonctions?
Ou comment placer une boucle la dedans sans que Qt Freeze?
Merci :)

Pages: « Précédente 1 ... 8 9 [10]
anything