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 :

Performance des systemes de particules dans les jeux commerciaux.


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Par défaut Performance des systemes de particules dans les jeux commerciaux.
    Bonjour.

    est-ce que quelqu'un aurait des chiffres / stats sur les systemes de particules utilises dans des jeux commerciaux en faisant un usage assez lourd?
    je pense aux fameuses explosions de crysis, ou a des RTS comprenant beaucoup d'explosions / tirs / fumees, etc... par exemple world in conflict.

    ils arrivent a en gerer a peu pres combien? (ca se compte par millions de particules par seconde j'imagine), et en particules par frame? plutot 10 000? 100 000?

    merci!

  2. #2
    Membre émérite
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 902
    Par défaut
    les systemes de particules sont simples si on y regarde de pres... des petites géométries simples (QUADS) qui sont générés et lachés dans une direction et orienté par Billboard...

    Perso avec OSG j'en lache entre 5000 et 9000 par seconde à grande vitesse et couleur progressive, et ça ne ralentit pas du tout l'application...

    l'idéal serait de faire tes propres tests...

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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    perso, je peut avancer le chiffre de 5 à 7 millions de particules par secondes avec évolution physique sur quad core. Mais tout ceci est sur un système en cours de développement, et donc pas encore sur un jeu commercial

    sinon, pour un système classique, j'avais atteint environs 30000 particules par frame avec un frame rate correct sur athlon 2600+ avec radeon 9800 (mais il n'y avais que les particules).

    après, tout dépend de ce que tu compte faire avec tes particules. C'est assez simple de monter le nombre de particules par secondes quand tu n'utilise qu'un type de particules, mais quand il s'agit de cas d'utilisation réel avec plusieurs moteurs, c'est beaucoup plus dure de ne pas plomber les perfs.
    * 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

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 21
    Par défaut
    En fait tout depend de ce que l'on veut faire. Si ton application consiste juste à afficher des particules, en effet avec les machines actuelles tu peux y aller comme un bourrin.

    Maintenant si tu veux faire tourner un jeu a coté de tes particules, avec des collisions, une IA, des eclairages, des animations et beaucoups d'autres choses qui bouffent de la puissance, il faut tenir compte du budget de puissance que tu veux allouer à tes particules et a quelle vitesse tu veux faire tourner ton jeu. Là c'est sur que le nombre de particules émises se réduit rapidement !

    Et c'est trés difficile de donner une norme par type de jeux un nombre moyen de particulse émisent parce qu'en fait tout depend...

    Sur un éditeur comme le cry engine, il me semble que dans l'editeur de matériaux tu as accés aux paramétrage des particules c'est un bon indice pour voir combien ils emettent de particules.

    D'autant qu'il faut se rappeler que le but n'est pas d'émettre un maximum de particules mais de donner l'effet souhaité avec un minimum de particules, histoire de consommer le moins de puissance possible pour un maximum d'effet possible. Véritablement c'est une question d'arbitrage.

    Ensuite pour faire des particules qui ont de la gueule il faut aussi compter sur les textures qui sont appliquées sur les particules, avec éventuellement une texture animé et il faut jouer sur les paramétrages de l'émetteur. Pour ma part pour avoir testé il est tout a fait possible de faire une explosion qui ressemble vraiment à quelque chose avec 200 particules émisent. Mais je joue en particulier sur la différence entre la taille initiale et la taille de fin de vie.
    Typiquement sur une explosion c'est petite particule en début de vie et grossissement rapide. Il faut donc trouver le bon équilibre si on ne veut pas tuer la machine et le processeur !

  5. #5
    Membre confirmé
    Homme Profil pro
    testeur logiciel
    Inscrit en
    Juin 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : testeur logiciel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 126
    Par défaut
    Je suis tout à fait d'accord avec harold35, il n'est pas nécessaire d'avoir un nombre colossale de particules pour obtenir des effets vraiment sympa.
    L'important c'est de combiner les systèmes de particules entrent eux pour avoir quelque chose de "réaliste" (ex : feux = flammes+fumée+crépitement)

  6. #6
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par défaut
    Citation Envoyé par jolgeirr Voir le message
    Bonjour.

    est-ce que quelqu'un aurait des chiffres / stats sur les systemes de particules utilises dans des jeux commerciaux en faisant un usage assez lourd?
    je pense aux fameuses explosions de crysis, ou a des RTS comprenant beaucoup d'explosions / tirs / fumees, etc... par exemple world in conflict.

    ils arrivent a en gerer a peu pres combien? (ca se compte par millions de particules par seconde j'imagine), et en particules par frame? plutot 10 000? 100 000?

    merci!
    La réponse des développeurs de Crysis serait: "autant que la machine peut en gérer". Le CryEngine2 est basé sur une technologies multithread, et une thread est entièrement dédiée à la gestion des particules. Si la machine ne permet pas de gérer beaucoup de particules, cette thread réduit leur nombre. Si vous exécutez le jeu sur un core2-duo-duo avec 4 GeForce 9800, la thread de gestion des particules sera un peu plus à l'aise et l'ensemble des particules seront gérées et affichées. J'en parle un peu ici.

    De nos jours, on peut pousser les GPU au bord du gouffre avec des particules. Voir cet article sur gamasutra.com.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 21
    Par défaut
    trés interessant cet article, merci de l'avoir mis en lien.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Par défaut
    merci a tous pour vos reponses!

    Emmanuel Deloget> ah. mais bon, "autant que la machine peut en gerer", c'est pas tres concret. par exemple sur un core2 quad, avec une 8800, ca serait quoi le "autant que la machine peut en gerer" ? c'etait surtout ca ma question en fait.
    sinon, tres intéressants ces articles . mais les simulations de particules sur le GPU... concretement, c'est réaliste? ca se limite a des démos, ou bien ca suffit en pratique dans les jeux? parceque ca a quand même l'air limité a des effets assez simples non?

    bafman> ah quand même a 60 fps ca fait plus de 100000 particules par frame. et avec un jeu qui tourne derriere j'imagine. elles sont updatées avec plusieurs threads? (vu que tu mentionnes le multi-core)
    vu que c'est updaté sur le CPU, j'aurais cru que ca aurait ramé plus que ca de mettre a jour les vertex buffers et de les renvoyer a la carte en fait.
    ou bien c'est possible de mettre a jour seulement une partie? (apres, j'imagine qu'il doit y avoir tout un tas de ruses de sioux pour reduire leur taille, packer des infos dans moins de vertex streams, etc.. ?)

    harold35> ah. mais il est pas dispo librement l'editeur de crysis non? il faut avoir acheté le jeu?

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 21
    Par défaut
    en effet il faut avoir une version du jeu pour avoir l'editeur, mais la plupart des jeux fournissent un éditeur qui permet d'avoir une idée de ce qui peut se faire.

    Si tu as un jeu un peu recent quelque part regarde si un editeur n'est pas fourni avec.

Discussions similaires

  1. Le réseau dans les jeux vidéo : Envoyer et recevoir des paquets
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 03/05/2015, 19h10
  2. La place des femmes dans les jeux vidéo
    Par pcaboche dans le forum Jeux
    Réponses: 39
    Dernier message: 17/04/2015, 17h04
  3. Théorie des collisions : exemples de collisions dans les jeux
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 09/01/2014, 20h30
  4. Utilisation des scripts dans les jeux vidéos
    Par Celes_Vongola dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 19/11/2013, 08h39
  5. Cryptage des données dans les jeux vidéos
    Par Kromagg dans le forum Développement 2D, 3D et Jeux
    Réponses: 10
    Dernier message: 06/11/2009, 20h19

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