Publicité
Dernier test
Visite au MSI European Overclocking Challenge

Visite au MSI European Overclocking Challenge L'overclocking peut devenir un sport à part entière lorsqu'il est poussé à l'extrême. Un sport dont les auteurs du record de fréquence en février dernier dans nos locaux sont adeptes. Nous les avons suivi au MSI European Overclocking Challenge. Lire la suite

Voir tous les tests et comparatifs Processeurs

Le moteur Source de Valve et les CPU multi-core

Jeudi 2 novembre 2006 à 15:50 par Fabrice Greff, 2007-11-08
Source: Bit-tech – Mots-clés : Loisir numérique, Processeur
20 commentaires

half-life gordon alyx episode2Le moteur Source de Valve utilisé dans le jeu Half-Life 2 sera prochainement mis à jour pour tirer parti du multi-threading et des processeurs multi-coreUnité principale de calcul dans un processeur. Les principaux processeurs actuels regroupent désormais deux ou même quatre unités gravées dans la même....

La méthode de Valve pour exploiter les processeurs multi-core

Valve qui organisait son traditionnel « Hardware Day » à la veille du lancement du processeurLe CPU, encore appelé processeur, est l’acronmye de « Central processing unit », en anglais. Ont pourrait traduire ce terme par unité centrale de trai... IntelIntel est le premier fabricant mondial de microprocesseurs pour ordinateurs. Le terme Intel est issu de la contraction de « Integrated Electronics »).... Core 2 Quad a annoncé que le moteur de son jeu Half-Life 2 exploitera les capacités de traitement multi-threadUn thread est un processus allégé, qui dépend d’un processus père et qui partage avec ce dernier et avec ses autres threads la même zone de mémoire pr... des processeurs dual-core et quad-core. Lors de la conférence à laquelle assistait bit-tech, les développeurs ont expliqué qu’ils se sont attachés à créer un système de gestion personnalisé de la charge de travail, spécifiquement conçu pour les problèmes de jeu. « Le job consiste à conserver 100 % des cores utilisés. Nous avons fait en sorte qu’il y ait N-1 thread pour N Cores, l’autre thread étant le thread maître pour la synchronisation. Le système permet au thread principal de distribuer le travail à tous les cores disponibles et il (le thread principal) peut aussi s’assujettir aux autres thread si besoin est », explique Valve.

Le moteur utilise des algorithmes non verrouillés afin de résoudre le principal problème du traitement multi-threading qui est l’accès aux données. Ce problème est comparable à celui qu’on peut rencontrer lors de l’édition d’une base de données d’un site Web. Si une personne tente d’éditer un champ d’une base de données pendant qu’une autre réalise la même opération, les données sont écrasées.

Or, explique Valve, pour ce qui est d’un jeu, dans 95 % des cas on accède à un ensemble de données en lecture, alors que l’écriture ne représente que 5 % des opérations. Dans son moteur, Valve permet à tous les threads de lire les données quand ils en ont besoin et c’est uniquement en cas d’écriture que les données sont verrouillées pour le thread qui y accède.

Une mise à jour du moteur de Half-Life 2 en fin d’année

Pour illustrer la manière dont le moteur source gère le multi-threading Valve a fourni à notre confrère Bit-Tech un benchmarkUn benchmark est la traduction anglaise de « banc de test ». Il s’agit d’une série d’épreuves, de tests, dont l’objectif est de déterminer la performa... utilisant un système de particules physiques complexe. D’après les résultats de ce benchmark un processeur dual coreUn processeur dual core comporte deux cœurs (cores) sur la même puce. Le dual core est la forme la plus simple du multi-core. Deux unités principales ... T7600 permet d’afficher 44 frames/seconde dans la résolutionLa résolution d’une image peut se représenter par sa taille en pixel, et plus précisément par la taille de chaque pixel. En effet, si une image numéri... 1680 x 1050 alors qu’avec un seul core le frame rate descend à 23 fpsFirst Person Shooter. Jeu de tir en vision subjective. Le FPS est un des types de jeu d’action les plus répandus depuis l’arrivée de la 3D dans le jeu.... D’après notre confrère Half-Life 2 : episode Two (il doit sortir début 2007) sera le premier titre à bénéficier du moteur Source mis à jour, mais Half Life 2 premier du nom, ainsi que l’épisode 1 et les autres titres basés sur le moteur sources devraient également en profiter

Ces optimisations du moteur Source sont les bienvenues, alors que vont arriver sur le marché les processeurs Quad-core. Comme l’ont montré nos tests du Core 2 Extreme QX6700, les jeux n’exploitent pas encore les capacités de multi-threading de ces processeurs.


Réagissez ! Retour à la liste des news
Publicité
Commentaires

caiman@IDN 02/11/2006 16:49
Masquer
-0+
caiman@IDN
Il fallait s'y attendre !

Ca rendra le moteur Source plus compétitif face aux autres. Et puis, c'est que du positif pour nous, acheteurs (ou futur acheteurs) de procos multi-cores ^^
chabad 02/11/2006 17:23
Masquer
-0+
chabad
Valve a toujours été (pour moi) une bonne société se souciant des nouvelles technologie (ben quoi ils ont ajouté la prise en charge 64 bit, HDR ...) et cela ne m'épate pas de leurs part.
Uber-Mario 02/11/2006 17:24
Masquer
-0+
Uber-Mario
Vraiment, le moteur source reste quand meme celui qui a subi le plus d'évolutions au fil du temps.

Une seule chose a leur dire ; BRAVO!!!
SteffffDotCom 02/11/2006 17:30
Masquer
-0+
SteffffDotCom
Citation :Dans son moteur, Valve permet à tous les threads de lire les données quand ils en ont besoin et c’est uniquement en cas d’écriture que les données sont verrouillées pour le thread qui y accède.


C'est des dieux ces gars là. Vous verrez, moi je vous le dis, demain ils vont inventer le fil à couper le beurre...
SpadVIII 02/11/2006 17:36
Masquer
-0+
SpadVIII
Ce qui signifie que la totalité des jeux "majeurs" qui sortiront début 2007, tireront partis des multi-cores, pour ne pas se faire larguer par la concurrence (Enfin, pour Crysis par exemple, s'était "évident" vu le niveau des détails et l'interraction complexe avec les décors).

Donc, pour les gamers, ne pas acheter un Dual Core en 2007, s'est se passer d'une (bonne) partie des progrets des nouveaux jeux. Impensable!!! :o
albator83 02/11/2006 17:56
Masquer
-0+
albator83
en même temps les configs dual core sont de plus en plus abordables, et le single core commence à dater un chouilla (je tire de plus en plus sur mon Barton 3200+, mais il atteint franchement ses limites depuis un moment)...

ça fait plaisir de voir que les devs s'intéressent au Dual Core :)
ricky02 02/11/2006 20:04
Masquer
-0+
ricky02
Ouais, enfin tu peux tirer sur n'importe quelle config et lui faire atteindre ses limites.

Au passage, ça me surprendrait que la totalité des jeux majeurs de début 2007 tirerons parti du multi-core. Même 10% d'entre eux, ça me surprendrait vraiment beaucoup...
SpadVIII 02/11/2006 21:30
Masquer
-0+
SpadVIII
a écrit :

Ouais, enfin tu peux tirer sur n'importe quelle config et lui faire atteindre ses limites.

Au passage, ça me surprendrait que la totalité des jeux majeurs de début 2007 tirerons parti du multi-core. Même 10% d'entre eux, ça me surprendrait vraiment beaucoup...




Ben, vu que des éditeurs prennent la peine de sortir des patchs pour leurs anciens jeux, forcemment, sur les nouveaux, ils supporteront directement le support du multi-threadé.

De plus, les moteurs graphiques modernes (comme celui de Half Life) supportent le multi-thread. Hors, comme beaucoup d'éditeurs utilisent ces moteurs, je ne vois pas pourquoi on ne trouverait pas beaucoup de jeux supportant ces technos.
Ou je suis d'accord, c'est que peut être, dans un premier temps, les gains ne seront pas énormes par rapport au potentiel de ces nouveaux processeurs (le temps que les moteurs et les libraries des développeurs s'adapte totalement à cette nouvelle architecture).

Mais j'avoue être le premier surpris. Il y a quelques semaines encore, on entendait pas mal de rumeurs, comme quoi les jeux supportant le multi-thread n'étaient pas près d'arriver. Et puis d'un seul coup, on en voit plein pointer le bout de leur nez quand ce n'est pas des patchs pour les existants (même si les gains pour les jeux existants sont faible. Cela dit, 10%, c'est toujours ça...).
Powlin 03/11/2006 00:16
Masquer
-0+
Powlin
moauis sauf qu'il ne faut pas oublier EA qui a de la misère à exploité les écran 16:10 dans 75% de leur jeu, ben hate de voir quand il se metterons au jour du multi-core qui est franchement plus compliqué que de mettre disponible des résolutions particulière hehe.
Hercule007 03/11/2006 08:02
Masquer
-0+
Hercule007
le multicore ne va pas accélérer X2 la vitesse.
Valve fait une démo d'une appli optimisé multicore qui tourne 2 fois plus lentemeent sur un monocore...
Et ca ne veut pas dire qu'ine appli optimisé monocore sur un monocore ira 2 fois plus lentement qu'une applic multicore sur un bicore.

Le thread principale qui distribue les tâches mange de la puissance...

Il y a beaucoup d'opérations qui ne seront pas parrallélisable. C'est mathématique!
Ne vous attendez pas à un gain supérieur à 30%
Khaele 03/11/2006 09:36
Masquer
-0+
Khaele
Cette sortie marque une grosse avancée dans le monde informatique ludique :

- Les autres concepteurs de moteur graphique vont devoir se bouger, maintenant ils sont en retard.

- Intel est rassuré, ils peuvent continuer sur leur lancée : les multicores vont devenir incontournabes, leur démarche est un succès.

- AMD doit se bouger, ils ne peuvent plus argumenter que la multiplication des cores n'est qu'un artifice marketing et dans quelques semaines le résultat des dossiers comparatifs sur les CPU risquent de leur faire très mal. Par exemple, le dernier test de ppc ou matbe sur le quadcore serait certainement très différent si au milieu il y avait un test d'un jeu exploitant le multithread...

Avec l'arrivée des cartes DX10, de Vista 64 bits et des jeux en multithreads, ça risque de pas mal changer d'ici 6 mois.
SpadVIII 03/11/2006 09:54
Masquer
-0+
SpadVIII
a écrit :

le multicore ne va pas accélérer X2 la vitesse.
Valve fait une démo d'une appli optimisé multicore qui tourne 2 fois plus lentemeent sur un monocore...
Et ca ne veut pas dire qu'ine appli optimisé monocore sur un monocore ira 2 fois plus lentement qu'une applic multicore sur un bicore.

Le thread principale qui distribue les tâches mange de la puissance...

Il y a beaucoup d'opérations qui ne seront pas parrallélisable. C'est mathématique!
Ne vous attendez pas à un gain supérieur à 30%




ça c'est tout à fait vrai, dans l'état actuel des choses.

Cela dit, si tu regardes bien, grace au multi-core, tu peux rajouter des choses dans un jeu, qui auraient ralenti beaucoup le jeu avec un seul thread, et qui, dans un système multi-thread performant peu avoir un impact négligeable:

Imagine que pour afficher une nouvelle image, tu dois par exemple calculer la nouvelle position de ton personnage, gérer ses collisions, son rendu etc... et que tu doivent ensuites calculer la position des autres personnages, de leur rendu etc...
Tout ce petit monde tourne parfaitement sur un système monocore.
Maintenant, tu aimerais bien ajouter à ton univers, d'autres éléments mobiles (animaux, arbres, nuages volumétriques bien modélisés etc...). Seulement, le calcul pour le déplacement des animaux, la gestion du vent dans les arbres avec les branches qui bougent de manière réalistes etc ça te prend beaucoup de temps en plus, et ton jeu commence à ramer.
Vu que le mouvement de l'arbre, des animaux (disons des oiseaux et des papillons :D ) et des nuages en eux même, n'ont quasimment pas d'interraction avec ton personnages et les bots. Ils n'ont donc pas énormément de données à se partager (à part la base du décor dans lequels ils sont affichés).
Dans ce cas, il me semble assez simple d'avoir au moins un thread pour ton perso/bots et un autre qui s'occupe de calculer pendant ce temps la prochaine position des animaux, arbres et nuages (sachant qu'à la base, les données de la scène à un temps T sont envoyés à ces threads pour leur calculs propres).
Evidemment, cela peut ne pas être totalement vrai, vu que ta carte graphique aura également beaucoup plus de chose à calculer/afficher au final. Donc, si elle n'est pas assez puissante, tu auras tout de même un gros ralentissement. Donc bien évidemment, il faut aussi que la carte graphique suive.

Avec cette méthode, tu as ajouté plein de "vie" à ton jeu, en ralentissant de manière acceptable la gestion de ton perso et de tes bots (car je suis bien d'accord, ça va se sentir un peu quand même, tout ne sera pas totalement parallélisé).

On peut également penser au calcul des sons, dont une partie peut aussi être mis dans un thread, au chargement des données depuis le disque dur (avec la décompression des données de terrain par exemple etc...)...

Bien architecturé, on peut au final gagner beaucoup. Et là et la difficulté. Il va falloir maintenant repenser à la manière dont les moteurs physiques/graphique des jeux sont architecturés pour tirer pleinement partie des multi-cores.
Avoir des comportements plus indépendant de chaque élément du jeu, quitte à être plus lent si tout est exécuté avec un seul thread, mais au final beaucoup plus rapide dans un environement multi-thread.
nero62 03/11/2006 12:53
Masquer
-0+
nero62
aRe a écrit :

Cette sortie marque une grosse avancée dans le monde informatique ludique :

- Les autres concepteurs de moteur graphique vont devoir se bouger, maintenant ils sont en retard.

- Intel est rassuré, ils peuvent continuer sur leur lancée : les multicores vont devenir incontournabes, leur démarche est un succès.

- AMD doit se bouger, ils ne peuvent plus argumenter que la multiplication des cores n'est qu'un artifice marketing et dans quelques semaines le résultat des dossiers comparatifs sur les CPU risquent de leur faire très mal. Par exemple, le dernier test de ppc ou matbe sur le quadcore serait certainement très différent si au milieu il y avait un test d'un jeu exploitant le multithread...


Avec l'arrivée des cartes DX10, de Vista 64 bits et des jeux en multithreads, ça risque de pas mal changer d'ici 6 mois.



T'es sûr d'avoir tout suivi ? :heink:

AMD a été le premier à se lancer sur le multi-core avec l'athlon X2.
Suite au succès de ces derniers, Intel a d'abord sorti le Pentium D (pour faire patienter) puis le Core Duo et enfin le core 2 duo !
Khaele 03/11/2006 15:48
Masquer
-0+
Khaele
a écrit :

T'es sûr d'avoir tout suivi ? :heink:

AMD a été le premier à se lancer sur le multi-core avec l'athlon X2.
Suite au succès de ces derniers, Intel a d'abord sorti le Pentium D (pour faire patienter) puis le Core Duo et enfin le core 2 duo !




Oui AMD a été le premier à sortir un dual core, c'est vrai, mais j'ai l'impression que l'architecture d'intel est réellement tournée vers le multi-core (ils prévoient du 8 cores, etc.) et que leur nouvelle architecture CPU convient parfaitement. AMD avait de l'avance, pourquoi n'ont-ils pas continué sur leur lancée et développé un CPU 4 Cores? Pour l'instant on ne connait que la stratégie d'Intel et cette annonce sortant en même temps que l'annonce des premières cartes mères 680I SLI et dans quelques jours des cartes DX10 tombe on ne peut mieux pour Intel.

AMD va réagir, je nen doute pas, et ce sera tant mieux pour nous, ils ont déjà forcé Intel à se remettre en question et à arréter de prendre les consommateurs pour des cons en sortant des CPU très chers et pas si intéressant que ça (perfs moyenne + chauffe trop).
nero62 03/11/2006 17:32
Masquer
-0+
nero62
Intel est arrivé plus vite sur le quad core en nous refaisant le même coup que le Pentium D : il prend 2 C2D et les met dans un même die pour en faire rapidement un processeur QuadCore.
AMD, de son côté est plus lent, mais travaille beaucoup plus son QuadCore pour en faire un processeur réellement efficace.
L'avenir nous dira qui a fait le bon choix ;)
1815 04/11/2006 01:25
Masquer
-0+
1815
AMD Powaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.....
nero62 04/11/2006 01:51
Masquer
-0+
nero62
a écrit :

AMD Powaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.....



En ce moment, c'est plutôt Intel powaaaaaaaaa :o
1815 05/11/2006 02:30
Masquer
-0+
1815
c'est un encouragement gratuit.
ça mange pas de pain...

m'enfin, z'ont bien changé chez Intel: arriver avec le meilleur produit, le plus performant, tout ça pour le vendre... moins cher? koikisspass?

ils veulent d'abord être sûrs de bien couler AMD (basse vengeance?) avant de reprendre des marges "à la Intel"?
nero62 05/11/2006 11:29
Masquer
-0+
nero62
a écrit :

c'est un encouragement gratuit.
ça mange pas de pain...

m'enfin, z'ont bien changé chez Intel: arriver avec le meilleur produit, le plus performant, tout ça pour le vendre... moins cher? koikisspass?

ils veulent d'abord être sûrs de bien couler AMD (basse vengeance?) avant de reprendre des marges "à la Intel"?



J'avoue que je me suis posé les mêmes questions :pt1cable:
Mictateur 11/11/2006 16:43
Masquer
-0+
Mictateur
a écrit :

J'avoue que je me suis posé les mêmes questions :pt1cable:



Bah pas moi, y'a même pas besoin. Dès que j'ai entendu parler du Quad Core j'ai compris que chez Intel, rien n'avait changé... :(

A savoir Vous allez poster en tant qu'utilisateur anonyme.



Publicité