IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement 2D, 3D et Jeux Discussion :

Les threads dans les jeux vidéos


Sujet :

Développement 2D, 3D et Jeux

  1. #21
    screetch
    Invité(e)
    Par défaut
    Tu regardes a une echelle macro quel est le chemin. En gros tu dis que tu devras passer par cette case la, cette case la, cette case la (grosses cases)

    puis quand tu es dans une case tu cherches quel est le chemin vers l'autre case.

    Tes cases savent par quels bouts elles communiquent et par quels bouts c'est impossible

    avoir la liste des cases a traverser est tres simple
    puis tu regardes par rapport a ta position comment rejoindre la prochaine case. Ce processus est plus complexe et plus couteux.

    Cela implique d'avoir diviser le terrain en cases et d'avoir marque les chemins entre les cases.

  2. #22
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    Citation Envoyé par screetch Voir le message
    Tu regardes a une echelle macro quel est le chemin. En gros tu dis que tu devras passer par cette case la, cette case la, cette case la (grosses cases)

    puis quand tu es dans une case tu cherches quel est le chemin vers l'autre case.

    Tes cases savent par quels bouts elles communiquent et par quels bouts c'est impossible

    avoir la liste des cases a traverser est très simple
    puis tu regardes par rapport a ta position comment rejoindre la prochaine case. Ce processus est plus complexe et plus coûteux.

    Cela implique d'avoir diviser le terrain en cases et d'avoir marque les chemins entre les cases.
    globalement, c'est ça, sauf qu'on est pas obligé de parcourir le chemin petit bout par petit bout.

    en gros, on peut effectuer une première recherche de chemin dans une graphe de grandes zone qui est une approximation plus ou moins exacte des interconnexions entre les parties de la carte
    cette recherche est rapide car le graphe est relativement limité.
    ensuite, on utilise le résultat pour fortement contraindre la recherche de chemin classique, ce qui a comme avantage de réduire TRES fortement l'espace de recherche.
    ensuite, selon la forme des "grandes zones", on peut effectivement faire des optims du qui permettent de savoir par quel point va passer l'unité, et donc ne pas calculer tout le chemin, mais juste le chemin de la position courante au prochain point de passage. ça permet :
    1. de limiter les calculs à un instant donné, ils sont réparties sur la duré
    2. de réduire l'occupation mémoire des chemin à parcourir
    en plus, si l'unité croise un ennemi en route, on a calculé moins de chemin qui sera jeté à la poubelle (si changement de route pour attaquer)
    vous pouvez trouver un projet ici qui utilise ce principe de hiérarchisation des recherche de chemin (mais sans optims de découpage)
    en plus, dans ce projet, on utilise la hiérarchisation pour contraindre les déplacement de groupes, et ça donne de bon résultats.
    en gros, pour un groupe donné, on ne calcule qu'un chemin dans le graphe de haut niveau, puis on calcul un chemin depuis le centre du groupe qu'on applique a toutes les unité du groupe, et en cas de collision avec un objet non traversable, on calcul un détour qui aura tendance à toujours aller vers le centre du groupe parcequ'il est contraint par la première recherche
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  3. #23
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par screetch Voir le message
    Les PC vendus aujourd'hui sont a 80% multi core (mais ca ne represente pas plus de 5% du parc des utilisateurs)
    pour le PC tu parles de CPU "multicore".Attention à ne pas faire de confusions car pour vraiment l'exploiter il faut par exemple pour Intel les bibliothèques spéciales d'Intel voir le compilo d'Intel

    http://randriano.developpez.com/article/intel/

  4. #24
    screetch
    Invité(e)
    Par défaut
    tu es sur ?

  5. #25
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    non.
    on peut améliorer ses perfs en utilisant ce genre de lib faite pour le calcul parallèle, mais on peut aussi profiter du multi threading tout simplement.
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/08/2009, 17h09
  2. comment utiliser les lock dans les threads ?
    Par skad dans le forum Général Python
    Réponses: 2
    Dernier message: 15/07/2008, 14h28
  3. les classes et les templates dans les plugins
    Par asoka13 dans le forum C++
    Réponses: 22
    Dernier message: 24/01/2008, 17h11
  4. Réponses: 4
    Dernier message: 11/09/2006, 16h55
  5. Les polices dans les tables et les requêts
    Par zooffy dans le forum Access
    Réponses: 3
    Dernier message: 21/06/2006, 11h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo