Accueil » Actualité » Le moteur Source de Valve et les CPU multi-core

Le moteur Source de Valve et les CPU multi-core

Image 1 : Le moteur Source de Valve et les CPU multi-coreLe 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-core.

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

Valve qui organisait son traditionnel « Hardware Day » à la veille du lancement du processeur Intel Core 2 Quad a annoncé que le moteur de son jeu Half-Life 2 exploitera les capacités de traitement multi-thread 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 benchmark utilisant un système de particules physiques complexe. D’après les résultats de ce benchmark un processeur dual core T7600 permet d’afficher 44 frames/seconde dans la résolution 1680 x 1050 alors qu’avec un seul core le frame rate descend à 23 fps. 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.