![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Développement 2D, 3D et Jeux Forum développement 2D, 3D et Jeux. Avant de poster : Les FAQs Programmation 2D, 3D et Jeux |
| Affichage des résultats du sondage: Pour ou contre le multithreading dans les moteurs 3D ? | |||
| Pour |
|
72 | 96,00% |
| Contre |
|
3 | 4,00% |
| Votants: 75. Vous ne pouvez pas participer à ce sondage. | |||
![]() |
|
|
Outils de la discussion |
|
|
#31 (permalink) |
![]() Date d'inscription: juillet 2005
Localisation: Pau
Âge: 27
Messages: 8 218
|
Il existe des approches de ce types, mais on sait que ça ne fonctionne pas. Ca devait être la nouvelle révolution de la programmation, mais c'est impossible de le faire.
__________________
Je ne réponds pas aux questions par MP Lorsque vous avez la solution, n'oubliez pas de marquer le sujet résolu Tutos et critiques de livres : http://matthieu-brucher.developpez.com/ Tutos Boost : http://matthieu-brucher.developpez.c...els/cpp/boost/ Mes blogs : français et anglais Le blog de ma femme : http://www.eifelle.com/ Jeu : Battez-vous pour moi |
|
|
|
|
|
#32 (permalink) |
|
Candidat au titre de Membre du Club
![]() |
Impossible ou plutôt impossible à l'état actuel des nos connaissances ?
En tout cas cette discussion me donne l'eau à la bouche d'essayer d'établir un moteur qui serait capable de découpler ces tâches pour améliorer le gameplay. Quelqu'un pour se joindre à moi ? |
|
|
|
|
|
#33 (permalink) |
![]() Date d'inscription: juillet 2005
Localisation: Pau
Âge: 27
Messages: 8 218
|
Impossible, à mon avis. Déjà un code multi-thread tournant sur un seul processeur passé sur un multi-processeur donne des résultats incertains (la preuve que déjà pour les humains, il est difficile de voir ce qui se passe), donc automatiser cette tâche, sans avoir la certitude que ce qui doit se passer se passe effectivement, c'est impossible (IMHO).
__________________
Je ne réponds pas aux questions par MP Lorsque vous avez la solution, n'oubliez pas de marquer le sujet résolu Tutos et critiques de livres : http://matthieu-brucher.developpez.com/ Tutos Boost : http://matthieu-brucher.developpez.c...els/cpp/boost/ Mes blogs : français et anglais Le blog de ma femme : http://www.eifelle.com/ Jeu : Battez-vous pour moi |
|
|
|
|
|
#34 (permalink) |
|
Candidat au titre de Membre du Club
![]() |
En effet, je vois que tout cela révèle pas mal de problème... Cela demande réflexion !
Commençons par aborder les problèmes qui pourront être engendrés, cela permettra d'y voir plus clair et de savoir quelle solution y apportée (si une solution est possible bien sûr). Avis donc aux amateurs. |
|
|
|
|
|
#35 (permalink) |
![]() Date d'inscription: septembre 2005
Localisation: Villejuif, 94
Âge: 18
Messages: 1 032
|
Pour apporter ma maigre contribution à cette discussion qui est vraiment passionnante (et en même temps vachement intimidante, ces histoires de cores de plus en plus nombreux, bientôt de Larabee, puis de fusion totale entre CPU-GPU, et tout ça en quelques années, ça va vraiment remettre en cause et rendre obsolète beaucoup de choses notamment dans le domaine du jeu vidéo).
En tout cas, j'avais trouvé un lien il y a quelques temps qui discute de la répartition des tâches pour les processeurs multithread et qui serait relativement scalable par rapport au nombre de cores : http://www.pablo-zurita.com.ar/spani...ra-motores-3d/ (EDIT : désolé, je croyais qu'il était en anglais, désolé pour les non-hispanophones)
__________________
http://bakura.developpez.com http://michaelefrei.blogspot.com/ Étudiant EFREI - L1 Dernière modification par Bakura ; 05/09/2008 à 20h50 |
|
|
|
|
|
#36 (permalink) | |
![]() Date d'inscription: août 2004
Messages: 2 514
|
Citation:
J'ai un peu l'impression qu'aujourd'hui, pour la plupart des jeux, la condition de vente première est d'avoir un graphisme qui tourne bien et soit joli. Et qu'on n'arrive pas à aller assez loin dans ce sens avec le matériel d'aujourd'hui. Conclusion, on attribue 95% des ressources (ressources hardware, mais aussi ressources de développement) au graphisme, et les miettes qui restent au reste. Peut-être qu'on arrivera un jour à avoir du graphisme suffisant, en qu'on pourra se concentrer sur le reste. Ce qui fait que même si on n'arrive pas à paralléliser le graphisme (mais je ne vois pas de raisons de ne pas y arriver, après tout, ça fait plus de 10 ans que je vois des architecture graphiques parallélisées hors grand public), l'arrivée de multi-cœurs aura quand même pour effet de permettre d'avoir des jeux non pas plus rapides, mais plus riches. Ça me désole un peu de voir que je n'ai pas plus de challenge intellectuel dans un RTS moderne que dans un warcraft. Pour Matthieu Brucher : Sur les aspects est-ce qu'un processeur data-parallel peut améliorer les choses, je suis d'accord que ce qui compte avant tout, c'est l'algorithme, mais comme une partie de l'algorithme est directement écrite dans des processeurs spécialisés, de nouveaux processeurs peuvent avoir un impact, non ? |
|
|
|
|
|
|
#37 (permalink) | |
![]() Date d'inscription: juillet 2005
Localisation: Pau
Âge: 27
Messages: 8 218
|
Citation:
Mais comme dit, un processeur n'est pas task- ou data-parallel, l'implémentation d'un algorithme oui Sinon, complètement d'accord avec ton analyse sur le graphisme dans les jeux
__________________
Je ne réponds pas aux questions par MP Lorsque vous avez la solution, n'oubliez pas de marquer le sujet résolu Tutos et critiques de livres : http://matthieu-brucher.developpez.com/ Tutos Boost : http://matthieu-brucher.developpez.c...els/cpp/boost/ Mes blogs : français et anglais Le blog de ma femme : http://www.eifelle.com/ Jeu : Battez-vous pour moi |
|
|
|
|
|
|
#38 (permalink) | |
![]() |
Citation:
Il possède généralement une structure propre à lui (un graphe, une grille ou autre) qui n'est utilisé que par lui donc pas de risque interférance extérieur. De plus, les algorithmes peuvent être lourds et long donc pouvoir faire quelquechose en même temps est interressant. Enfin, il a très peu d'entrée et de sortie. On lui donne un départ et une arrivée et il nous donne un chemin. Donc en étant completement indépendant, il est très facile de lui posé un question et d'attendre la réponse (même quelques frames plus tard)..
__________________
--[[ Responsable, rubrique 2D / 3D / Jeux ]]-- Le blog de la rubrique 2D/3D/Jeux : http://blog.developpez.com/jeux (envie d'y participer, contactez moi) new Tuto DirectX, OpenGL : http://raptor.developpez.com/ Pensez au tag si vous avez eu votre réponse.
|
|
|
|
|
|
|
#39 (permalink) | |
![]() Date d'inscription: juillet 2005
Localisation: Pau
Âge: 27
Messages: 8 218
|
Citation:
__________________
Je ne réponds pas aux questions par MP Lorsque vous avez la solution, n'oubliez pas de marquer le sujet résolu Tutos et critiques de livres : http://matthieu-brucher.developpez.com/ Tutos Boost : http://matthieu-brucher.developpez.c...els/cpp/boost/ Mes blogs : français et anglais Le blog de ma femme : http://www.eifelle.com/ Jeu : Battez-vous pour moi |
|
|
|
|
|
|
#40 (permalink) |
![]() Date d'inscription: août 2004
Messages: 2 514
|
Est-ce si gênant ? Quand je planifie un déplacement, je ne sais pas si d'autres voitures vont vouloir aller comme moi, mais je m'adapte au fur et à mesure. Quitte en cas de bouchon à prendre un itinéraire bis (qui souvent me rallonge encore plus).
La planification stratégique doit certainement en tenir compte, mais le pathfinding ? |
|
|
|
|
|
#41 (permalink) | |
![]() Date d'inscription: juillet 2005
Localisation: Pau
Âge: 27
Messages: 8 218
|
Citation:
__________________
Je ne réponds pas aux questions par MP Lorsque vous avez la solution, n'oubliez pas de marquer le sujet résolu Tutos et critiques de livres : http://matthieu-brucher.developpez.com/ Tutos Boost : http://matthieu-brucher.developpez.c...els/cpp/boost/ Mes blogs : français et anglais Le blog de ma femme : http://www.eifelle.com/ Jeu : Battez-vous pour moi |
|
|
|
|
|
|
#42 (permalink) | |
![]() |
Citation:
__________________
--[[ Responsable, rubrique 2D / 3D / Jeux ]]-- Le blog de la rubrique 2D/3D/Jeux : http://blog.developpez.com/jeux (envie d'y participer, contactez moi) new Tuto DirectX, OpenGL : http://raptor.developpez.com/ Pensez au tag si vous avez eu votre réponse.
|
|
|
|
|
|
|
#43 (permalink) | |
![]() Date d'inscription: juillet 2005
Localisation: Pau
Âge: 27
Messages: 8 218
|
Citation:
Mais effectivement, ce n'est qu'un morceau. Le gros est de savoir ce qu'on veut faire. Mais déjà, si on peut avoir dans un FPS un thread par bot, avec plus de 16 coeurs, on se retrouve avec 16 excellents adversaires sur une partie, ça aidera les jeux les plus couramment utilisés.
__________________
Je ne réponds pas aux questions par MP Lorsque vous avez la solution, n'oubliez pas de marquer le sujet résolu Tutos et critiques de livres : http://matthieu-brucher.developpez.com/ Tutos Boost : http://matthieu-brucher.developpez.c...els/cpp/boost/ Mes blogs : français et anglais Le blog de ma femme : http://www.eifelle.com/ Jeu : Battez-vous pour moi |
|
|
|
|
|
|
#44 (permalink) |
|
Membre éclairé
![]() Date d'inscription: juillet 2006
Messages: 320
|
En même temps il n'y a pas que les unités dans le canyon sur la map, donc il y a moyen de paralléliser tout de même.
On peut de plus imaginer un recherche de solution indépendante des unités puis une concertation de groupe afin d'affiner le résultat. Cette affinement devant être léger car non parallélisable. Il est de plus erroné de penser en thread selon moi. Il convient mieux de penser taches indépendantes. Un taskManager se chargera de répartir ses tache sur les threads. |
|
|
|
|
|
#45 (permalink) |
|
Membre émérite
![]() |
Il y a beaucoup de MMOG qui arrivent à paralléliser/distribuer les tâches. Parfois l'utilisation d'un langage autre que C++ permet de mieux exprimer les indépendances/dépendances entre threads. Eve online travaille avec une version de Stackless python, Vendetta online avec Erlang.
__________________
LeGreg | Bezier | Raytracer | Voxel | Zbuffer | D3D10 | Animation mentor | Mes articles | Mon blog |
|
|
|
|
![]() |
![]() |
||
Que peut apporter le multithread au développement de jeux ?
|
||
| Outils de la discussion | |
|
|