Avec la flambée des prix des composants ET de l'énergie ça va vite devenir un "loisir de riche"... pas autant que le golf, mais on s'en rapproche.
Il va falloir revenir au jdr sur table pour retrouver un loisir à pas trop cher
Y a un vrai sujet la.
On voit que les perfs monocores peinent à exploser et c'est assez normal vu la difficulté de mettre à jour les architectures.
Du coup la multiplication des cores a été retenue pour permettre aux perfs globales de continuer à monter, virage pris y a plus de 15 ans et pour autant on voit bien que coté Gaming la prise en compte de cet état de fait et la parallélisation des moteurs est largement à la traine.
En matant des vidéos "x cores vs x+1 cores etc..." sur Youtube on voit bien des progressions en augmentant les cores mais quand on prend 5% de perf en passant de 6 cores à 8 on voit bien que ca marche pas comme ca devrait...
Ca va surtout devenir ingérable niveau température/bruit en fait, ca reste un truc qu'on utilise dans des environnements calmes en théorie.
Dernière modification par Jeliel ; 08/03/2022 à 14h03.
Vu la quantité de gens brillants qui bossent sur ce sujet, si la solution était simple, je pense qu'elle serait appliquée partout. J'entends régulièrement que le souci à multiplier les cores en jeux temps réel, c'est de coordonner les étapes de calcul parallèles pour avoir les bons résultats aux bons moments. D'où en général des jeux qui "déchargent" certains trucs sur les cores secondaires, mais un core principal toujours très fortement chargé, au lieu d'avoir un vrai truc bien parallèle comme on pourrait le rêver.
Mais oui, le sujet c'est: pourquoi autant de puissance en raster si de toute manière cela ne fait que heurter plus les gens au souci des perfs CPUs. Pourquoi pouvoir calculer 200 images par seconde en 4K si le CPU ne va de toute manière en calculer que 100 quoi qu'il arrive, et l'écran en afficher 60 ou 120? Je comprends tout à fait qu'on cherche bien plus de puissance sur le RT, car c'est hyper gourmand actuellement et pourtant utilisé avec beaucoup de retenue. Mais en raster, j'ai pas l'impression qu'on fasse sauter le point qui handicape le plus les performances actuelles, ou qu'on réponde à un véritable besoin.
Je précise que je dis ça en ayant beaucoup d'heures sur les forums/Discord/FB de gens aisés qui font de la simu de vol en VR. On parle de gens qui achètent une 3090 plein pot à 2000$ parce que. Même ces gens reconnaissent qu'ils voient un gain limité, avec leur casque VR qui affiche plus que de la 4K, avec ce style d'über-GPU (à cause du CPU).
Attention hein, je suis tout à fait pour le progrès, c'est bien qu'on voit une évolution de génération en génération. Je ne comprends juste pas pourquoi l'évolution se fait là où elle se fait, et pas ailleurs. Des GPUs qui sont exploités au maximum en balançant une tension très élevée, pour un gain très faible (sur la génération RTX 3000)... Beaucoup d'acheteurs, moi y compris, ont undervolté leur carte sans comprendre pourquoi nVidia ne le faisait pas d'origine ("Voici une RTX3080 avec un TDP de 270W, elle est 3% moins performante que si on lui filait un TDP de 350W et elle n'a pas les pics de conso à 450W qui vous obligent à investir dans une alimentation de 700W+"). Désormais on parle de GPUs (la rumeur de 4090) qui consomment à eux seuls plus qu'un PC très haut-de-gamme d'il y a 2 ans. C'est vraiment, vraiment une stratégie curieuse. J'aimerai une explication, si quelqu'un en trouve, des raisons de ces choix techniques.
Y'a aussi un truc qui s'est levé: l'efficacité énergétique.
Pendant un moment donné, on faisait calculer des résultats "potentiels" pour gagner du temps si ça venait à être utile... mais ça fait consommer pour rien. :D
Faire des applications multi-threadées est compliquée, mais il y a bien des gens qui y arrivent, même dans le jeu vidéo.
Il suffit de voir ce qu'y a été fait sur Factorio ou Mount & Blade 2.
Si les gros studios ne s'y mettent pas c'est que ça leur coûterait très cher (puisque c'est plus difficile à faire), et qu'ils vendent assez de jeux comme ça sans avoir besoin de faire plus de boulot.
Le jour où un gros studio investira dans un nouveau moteur next-gen qui exploite à fond le multi-threading, les autres seront obligés d'investir pour s'aligner. Mais tant que personne ne fait le premier pas on restera sur des jeux monothreadavec les limitations qui vont avec.
Hello,
Désolé si ça a été déjà dit et répété, mais je ne trouve pas l'info: est-ce qu'une 3050 (8Go) propose de meilleures performances qu'une 1070 (8Go) en 1080p ? Les benchmarks que je trouve disent soit l'un, soit l'autre.
Autant multithreader une application de calcul (si le calcul est parallélisable) c'est relativement trivial de nos jours (c'est un truc que je montre à nos stagiaires après 2-3 mois d'XP). Autant dans le monde du jeu vidéo ça a l'air sacrément compliqué, surtout sur le thread du rendu (celui qui pose problème en fait), ce n'est pas mon domaine, mais je comprends que dispatcher des sous-taches graphiques pour venir les récupérer et les ré-afficher correctement ça doit pas être évident (sans problème d'ordre, une trop grande variabilité de la latence entre les résultats, etc).
Après j'avais aussi lu que due aux conditions de travail, le monde du JV ne se seniorise pas comme les autres domaines de l'IT: tu crunch durant ton début de carrière puis après tu change de domaine pour arrêter les conneries, donc un domaine toujours remplis de juniors (donc pas de bonnes pratiques qui se mettent en place, niveau limité pour les aspects avancés de la programmation, etc).
Je ne sais pas ce qu'il en est vraiment sur l'ensemble du domaine.
Bon après y'a aussi les simulateurs qui se permettent visiblement de faire rouler des trucs qui n'ont rien à voir avec le rendu sur ledit thread, mais ça c'est une autre histoire.
Je ne suis pas expert là dessus mais oui, il me semble que le rendu est quasi impossible à multi-threader.
Par contre il me semble aussi que ce n'est pas du tout ce qui pose problème, et que les trucs qui bouffent le CPU sont plutôt à chercher du côté des IA et du pathfinding (mais là aussi je peux me planter, je n'ai jamais profilé de JV).
D'accord avec ça, et ça rejoint ce que je disais : comme les grosses boîtes vont au moins cher, les gens se barrent ailleurs et il ne reste personne d'assez compétent pour multi-threader le moteur de jeu.
Mais si elles étaient prêtent à y mettre le prix, on pourrait se retrouver avec des open-world où les NPC ont une vraie intelligence artificielle et ne disparaissent pas quand tu ne les regardes pas.
C'est pour ça que je parlais de Mount & Blade 2 : tu peux avoir des milliers de combatant, chacun avec son IA (qui reste primitive, le pathfinding est encore améliorable) en tirant partie de tous les cœurs du CPU. Mais pour que ce soit faisable ils ont sûrement dû y mettre le prix, et c'est n'est sans doute pas pour rien que le jeu est en développement depuis une dizaine d'années.
L'IA et pathfinding ça devrai être facile à paralléliser pourtant (d'autant que A* est notoirement connu pour être multithreadable), même si ça consomme de la ressource, ça ne devrai pas être la source du problème discuté ici : le CPU qui tiens la jambe du GPU.
Ou alors y'a un truc qui m'échappe.
En fait tu peux diviser l'image finale en blocs (bucket). Chaque cœur calculé un de ces blocs et tout est assemblé sur la passe suivante.
Le rendu par passe est bien maîtrisé en temps réel. Une passe de rendu basique avec texture puis l'éclairage puis l'occlusion puis l'assemblage.
Ce qui est dur a paralleliser est d'envoyer la scène prête à rendre dans le gpu en fait.
L'assemblage du monde, les pas, l interface etc
On a le même soucis en precalcule.
Le rendu en calcul 3D se partage bien depuis pas mal de temps, mais ce n'est pas du temps réel, je suppose qu'on peut se permettre que certains sous-rendus soient plus lents que d'autres, parce que globalement ce sera plus rapide, mais y'a moyen que ce ne soit pas acceptable dans un jeu.
C'est un problème qu'on rencontre dans beaucoup de domaine liés au développement (en France en tout cas). Quand un dev devient bon, il monte en grade, devient manager et n'a plus forcément le temps nécessaire pour s'occuper de former les plus jeunes vu qu'il passe sont temps à faire du reporting sur ce que font ses équipes.
Et c'est sans compter qu'on délocalise de plus en plus si le coeur de métier de la boîte n'est pas le dev.
Pas uniquement dans le dev. C'est généralisé en France. Les bons ingé sont récompensés en étant promus managers. Alors qu'un bon ingé n'est pas forcément un bon manager... Du coup on échange de bons ingé contre de mauvais managers. Les entreprises ayant des filières d'expertise pour promouvoir les bon ingé en leur permettant de devenir des spécialistes reconnus sont malheureusement rares.
Alors je suis pas du tout dans le dev JV du coup faut prendre ce que je dis avec des pincettes mais un bon exemple d'une tentative de profiter du multithreading dans le JV : DOTS/ECS de Unity.
On est dans un changement de paradigme (plus de gamesobjects mais des variales et des functions) qui du coup sont plus facile a faire tourner en parallèle.
Une demo de Unity en 2019 :
La guerre en Ukraine pourrai empirer la crise des semi-conducteurs.
Si ça peut faire que mes éditeurs cherchent à se demarquer en offrant un gameplay original et intéressant et qu'on arrête la course à la puissance en se foutant du gameplay c'est parfait
Les battlefield quarante douze, les need for speed trente six, les assasin's creed 52, les battelfiedl 27 c'est bon quoi ça intéresse encore quelqu'un à part les nouveaux qui découvrent les jeux video ?
Ton incapacité à imaginer que des gens puissent penser différemment de toi est stupéfiante.
Et surtout c'est vachement limitant : dans les jeux qui utilisent des techno très avancées (DLSS ou RT) on a eu des gros blockbusters, mais aussi :
- Chivalry 2
- Control
- Deathloop
- Death Stranding
- God of War
- Life Is Strange: True Colors
- Minecraft
- Myst
- Ready or Not
et plein d'autres encore. En terme de variété c'est très large. Puis les blockbusters ne sont pas nommés "blockbuster" pour rien : ils en vendent des cartons entiers.
Bah si tu poste ça dans un autre topic aussi.
J'aurais dit "divine."
C'est pas faute de remontrances aux personnes concernées de manière régulière, c'est pas faute d'un rappel de Qiou sur la page précédente.
A un moment faudra arrêter de simplement montrer le bâton. Il faudra s'en servir. C'est drôle pendant un moment, après c'est juste gonflant.
Dire une connerie n'est pas punissable d'un bannissement, sinon y'aurait plus grand monde sur ce forum, moi y compris. Quand Tilt est hors-charte, vous le signalez. Quand Tilt vous énerve, vous avez aussi le choix de l'ignorer et de ne pas lui répondre. L'ignore-list est aussi là pour ceux qui ne pensent pas pouvoir se retenir. On va pas bannir quelqu'un juste parce qu'il dit que la course au surarmement ne sert à rien, ou qu'il ne comprend pas qu'on joue à des AAA.
OK, mais quand on joue avec la charte à chaque post ... Ici on a écrit "je ne comprends pas qu'on joue à ça" mais il faut lire "ceux qui jouent à ça sont vraiment trop ....". Le ton employé est presque toujours dénigrant.
On pourrait très bien avoir à la place "je ne comprends pas qu'on joue encore à ces AAA. La formule n'évolue pas ou peu et propose toujours la même chose. Il serait bon que les éditeurs se renouvellent et proposent des approches différentes."
Ce sur quoi on pourrait répondre :
- que tout ça existe sur la scène des jeux indé avec des petites pépites.
- que après avoir pris 2 pommes, 3 bananes, 1 orange, 4 clémentines, du raisin et des fraises toutes la semaine, j'aime bien revenir à mon éclair au chocolat industriel du dimanche midi.
- que les éditeurs sont la pour faire du pognon et que tant que ça se vendra il ne prendront pas beaucoup de risque pour changer la formule.
- que chaque année on a quelque AAA intéressants sur au moins 1 aspect (histoire, technique, artistique, gameplay, ...)
- que régulièrement les éditeurs tentent de nouvelles chose et que souvent ça se casse la gueule. Des jeux excellents qui ne se sont pas vendus il y en a des pallettes.