Dossier tres intéressant: XBOX360 vs PS3

Envie de parler de la PlayStation 4 ou de la Xbox One ? Les jeux sur PC, smartphone, tablette ou autres appareils vous intéressent ? C'est ici que ça se passe !
Répondre
Halouc
Silicon Mario
Silicon Mario
Messages : 24614
Inscription : dim. 02 mars 2003 - 17:25
Localisation : Rennes (Bretagne)
Dossier tres intéressant: XBOX360 vs PS3

Message par Halouc »

Voila un bon petit dossier tres long et qui vous explique les entrailles de la bête. Ce dossier est vraiment bon car il explique de A a Z et fait quelque comparaison pour pas se perdre ^^.
Pourquoi ce dossier ? Il n’a pas pour but de démonter telle où telle affirmation par l’un ou l’autre des constructeurs. Ce n’est pas non plus un plébiscite en faveur de Microsoft ou de Sony. Je me base sur la lecture de plusieurs articles parus sur la toile, des officiels, des non officiels, certains semblent crédibles, d’autres moins. L’objectif n’est pas de dresser une comparaison parfaite entre les deux systèmes mais de montrer que seuls, les chiffres ne servent à rien, qu’il faut les placer dans le contexte du jeu pour juger de leur pertinence et qu’ils peuvent même parfois êtres trompeurs. Enfin je tiens aussi à préciser que ce dossier ne détient pas la vérité sur chaque console (il y a beaucoup de points sur la PlayStation 3 qui ne sont pas encore éclaircis) mais qu’il permettra, je pense, de mieux comprendre comment fonctionne une console et pourquoi, dans la prochaine génération qui arrive, c’est probablement les solutions logicielles pour créer des jeux qui seront plus importantes que la puissance brut des consoles. Car ce qui est sûr, c’est que de part et d’autre, de la puissance il y en aura !


Quelques soient les consoles, nous retrouverons toujours le même schéma de base, que l’on appelle l’architecture et qui dans bien des cas se rapproche souvent de l’architecture PC. Et, oui, n’en déplaise aux détracteurs de la console de Microsoft qui affirmaient qu’elle n’était qu’un PC camouflé sous l’aspect d’une console, toutes les consoles ont une architecture de base similaire à celle d’un ordinateur. Nous allons commencer tout d’abord par survoler les principaux éléments d’une console afin de bien connaître le fonctionnement même de ses machines.

1-Pour ceux qui comprennent rien aux hardware.

Le CPU : Central Processing Unit, c’est à dire le coeur du système, celui qui va effectuer les opérations pendant que vous jouez. On associe la puissance d’un CPU à la vitesse à laquelle il travaille, pour faire simple disons que pour une opération donnée en entrée, plus le résultat ressort vite, plus le CPU est efficace. On parle souvent de fréquence (nous en sommes au Ghz pour les CPU de la prochaine génération) lorsque l’on parle de la vitesse, qui représente la fréquence d’horloge du CPU c’est à dire combien d’opération celui-ci sera capable d’effectuer par seconde, mais cet élément n’est pas le seul à entrer dans le calcul de la « puissance » du CPU, surtout pour les next-gen où le multi-core (association de plusieurs core pour composer le CPU) fait son apparition. Nous verrons que les prochaines consoles ont opté pour une architecture du CPU assez différente l’une de l’autre. Pour comprendre certains mécanismes, nous associeront le CPU à une table de travail avec vous comme opérateur, en quelque sorte un endroit où se poser et travailler comme pour vous et moi lorsque vous êtes à votre bureau (et ne me dites pas que vous n’en avez pas). Nous garderons pour l’instant l’idée que vous et votre table êtes capables de recevoir un ordre, un calcul à faire, et qu’il vous faut le traiter le plus vite possible... C’est la problématique du CPU.

La mémoire (RAM) : Pour travailler correctement sur notre table, il nous faut de la place pour garder ce que l’on écrit, comme par exemple une armoire, où vous pourrez ranger vos crayons, vos papiers etc... Eh bien cette armoire représente parfaitement la mémoire de travail de votre console. On appelle aussi cela la mémoire vive, la RAM... etc. On mesure la mémoire en octet (nous en seront à 512 Mo sur les next-gen) et plus la mémoire est grande plus la quantité de donnée disponible pour travailler est grande. Comme votre armoire. Mais la aussi, si la taille est importante, d’autres paramètres entrent en jeu pour que la RAM soit efficace dans un système. Imaginez par exemple que votre armoire se trouve à l’autre bout de votre maison. Vous, vous êtes une bête de boulot qui travaillez super vite sur votre table. Mais là vous avez besoin de papier... Horreur ! Il faut courir à l’autre bout de la maison (perte de temps), alors que vous pourriez vous remettre à travailler plus vite si votre armoire était à portée de main ou si on vous l’apportait (encore mieux n’est ce pas ?). Nous affrontons le problème majeur de tous les systèmes (PC et consoles confondues) le transfert des données, qui doit être le plus harmonieux possible pour éviter qu’un élément trop faible ne ralentisse un autre élément. La vitesse de transmission des données et la place qu’elles prennent sont la problématique de la mémoire.

Le bus : C’est grâce au bus que tout ce beau monde communique, disons par exemple que le bus est un chariot automatique placé entre vous et votre armoire. Plus le bus est rapide, plus il peut vous apporter rapidement le papier dont vous avez besoin. On parle là aussi de fréquence du bus (actuellement en centaines de Mhz). Mais comme vous commencez à vous douter que rien n’est jamais simple, d’autres paramètres entrent en jeu, comme la taille du bus. Avec un gros chariot, vous ramenez plus de papier, c’est ici qu’intervient le nombre de bit du bus. Voilà les fameux bits des consoles, plus il y a de bits, plus votre bus est large, plus vous pouvez envoyer des données vers votre CPU où vers votre mémoire pour ranger vos affaires.

La carte graphique (GPU) : Bon, c’est sympa de faire des calculs sur votre table, mais il faudrait songer à montrer cela pour voir ce que donnent les résultats. Imaginez qu’il faille traduire vos données calculées en images, vous pourriez le faire vous même mais ce serait une sacrée perte de temps surtout que rien ne nous dit que vous savez correctement dessiner. Pour remédier à ce problème, on dispose d’un système quasi-autonome, le GPU. Celui-ci possède son propre CPU et de la mémoire pour lui tout seul. Donc c’est un collègue à vous, dans une pièce proche, avec sa table, son armoire et sa spécialité c’est le dessin, mais attention il ne sait faire que cela ! Impossible de lui demander autre chose que prendre vos données, les mettre sous forme graphique et les afficher. Bien sur vous avez la possibilité d’utiliser le chariot pour envoyer vos données vers votre collègue sinon ça devient vite le bordel.

Voilà, on a les bases pour comprendre un minimum comment fonctionnent les consoles, je pourrais vous parler du support de jeu (cartouche, DVD, HD-DVD, Blue-Ray) mais ce n’est pas un élément important dans la performance de la machine (au mieux cela permet de stocker plus de données de jeu et si le lecteur est assez rapide cela peut réduire les temps de chargement). Quant au disque dur, mise à part les possibilités de stockage, une éventuelle utilisation comme mémoire de travail est possible (cela à déjà été fait sur la Xbox première du nom) mais cette mémoire est beaucoup plus lente à fournir les données que la RAM, elle est donc utilisée dans ce sens assez rarement. Maintenant nous allons voir certains détails de chaque console : Xbox 360 et PS3 (nous ne connaissons malheureusement presque rien de la Revolution de Nintendo). Et nous verrons que chaque constructeur à fait des choix différents pour satisfaire le joueur et que les chiffres peuvent êtres trompeurs dès qu’on s’y intéresse de plus près.

2-XBOX360 vs PS3

Le CPU :

Les unités de calcul : Un CPU possède une ou plusieurs unités de calcul, qui vont se spécialiser dans des types de calculs. Il faut savoir qu’un CPU est en fait relativement difficile et ne mélange pas les types de données dans ses calculs. Il distribue à ses unités, en fonction de leur spécialité, des opérations à faire avec les données sur lesquelles on applique ses opérations. Typiquement si c’est un calcul logique du genre : « je tape contre un mur donc mon personnage s’arrête » alors ce traitement sera demandé à l’unité logique. Si c’est un calcul du type : « soustrait 100 points de vie à l’ennemi touché » c’est un calcul sur des chiffres entiers. Il existe aussi des types vecteurs, et enfin le fameux type flottant, ou virgule flottante. C’est le nom que l’on donne au nombres possédant une virgule. C’est aussi le type qui fait le plus de bruit puisque Sony à clamé haut et fort avoir avec la PS3 le double de puissance de la Xbox 360, ce qui est vrai, mais uniquement dans le calcul flottant.

Chez Microsoft : Le tri-core PowerPC à 3.2 Ghz chacun (nom de code Xenos) :

Ces processeurs sont équivalent et non spécialisés, c’est à dire qu’ils sont capables d’exécuter des calculs sur des données de types différents (virgule flottante, entiers, logiques, vecteurs...) en 64 bits (ce qui est énorme puisque les premiers CPU 64 bit sur PC viennent à peine de débarquer). Bref, le coeur de la Xbox 360 sera 3 fois le CPU décrit au dessus : trois tables, trois personnes, capables de travailler simultanément. Ajoutons à cela un nom barbare : l’hyper-threading. Cela signifie en théorie que chaque core peut exécuter deux opérations simultanément. Disons que vous possédez la faculté d’écrire avec vos deux mains maintenant. Au total le CPU peut donc réaliser six travaux d’un seul coup, mais je le répète, en théorie... Cela dépend complètement du code réalisé par les développeurs.

Chez Sony : Le Cell à 3.2 Ghz :

Un processeur différent, qui semble multi-core, mais qui ne l’est pas exactement. Il est composé d’une seule unité PowerPC 64 bit (PPE) très proche de ceux de la Xbox 360, suivi de 7 SPE, qui sont des petit « core » 32 bit spécialisés dans le calcul en virgule flottante et les entiers (un point qui reste à vérifier puisque tout le monde ne semble pas d’accord). En fait le PowerPC s’occupera de distribuer des travaux précis à chaque SPE en fonction de sa spécialité, mais il s’occupera aussi de calculs comme le font ceux du Xenon. Donc en terme de calcul flottant et d’entier, le Cell est un monstre, sur une même durée il produit deux fois plus de calcul en virgule flottante que celui de la Xbox 360. En terme de calcul général, la Xbox 360 semblerait par contre beaucoup mieux équipée puisque selon certains spécialistes, il serait extrêmement inefficace de faire travailler un SPE sur autre chose que sa spécialité (c’est un des problèmes qui rend apparemment difficile la programmation sur PS2 puisque l’Emotion Engine utilise déjà des unités spécialisées dans le calcul flottant). Comme pour le Xenon, tout le travail des développeurs portera sur une bonne répartition des calculs.

La mémoire cache : Voici un des paramètres dont on parle peu... Pourtant il a une importance cruciale sur le fonctionnement à plein régime du processeur. C’est une zone de mémoire dans le CPU. C’est le tiroir de votre bureau. Evidemment à cette distance l’accessibilité est énorme et le gain de temps est gigantesque. Le fonctionnement de la mémoire cache est relativement simple : les informations prélevées sur la mémoire centrale sont mises en cache, puis, avant d’aller chercher un nouvel élément dans la RAM, le CPU « regarde » dans son cache si cette donnée n’est pas déjà là... Si elle y est, bingo, pas besoin d’envoyer une demande à la RAM et d’attendre sa réponse (gain de temps énorme). Evidemment aussi, ce type de mémoire est extrêmement coûteux il y en a donc très peu dans un CPU. Pour la Xbox 360 : 1Mo de mémoire cache L2. Comme cette taille est extrêmement réduite par rapport à la taille de la mémoire centrale, on ne peut garder en cache que les données les plus récentes ; au delà d’un certain temps d’inutilisation, la donnée est éjectée du cache.

Sur Xbox 360 :

Cette mémoire sera commune aux trois cores et, chose intéressante, l’espace mémoire disponible pour chaque core sera dynamique. C’est à dire que c’est un niveau de contrôle supplémentaire pour les développeurs qui pourront adapter la taille de la mémoire qu’ils fournissent à chaque core. Dans le cas de nos trois bosseurs et leurs tables, ils partagent un tiroir pour trois. Cela ne veut pas dire que vous pouvez partager ce que contient ce tiroir (pas d’échange de donnée à ma connaissance entre core), mais que vous pouvez adapter votre place, si vous êtes seul à travailler, alors prenez tout le tiroir vous irez plus vite...

Sur le Cell :

Sur le Cell, la cache L2 est répartie pour chaque SPE à hauteur de 256Ko et pour le PPE 512Ko, il y en a donc plus au total (plus de 2 Mo), mais elle n’est pas dynamique. Si un seul SPE travaille, il ne pourra en aucun cas disposer de la mémoire des autres par contre si tous les SPE travaillent ensembles chacun dispose d’une mémoire cache confortable et la puissance de calcul augmente considérablement. Le Cell montre donc un côté ultra spécialisé (répartition de la mémoire) là ou le processeur de la Xbox 360 se montre plutôt flexible. Dans les deux cas cependant, les développeurs devront s’occuper à jongler finement avec la mémoire pour faire des économies et exploiter au maximum chaque processeur.


La RAM et le bus :

Eplucher l’un ou l’autre séparément n’a pas beaucoup de sens. Comme vous l’avez compris, la RAM est un lieu de stockage auquel il faut essayer d’accéder le plus vite possible. La RAM est caractérisée par une taille (512 Mo pour les deux machines) mais aussi par une latence, une sorte de temps mort qui se déroule entre le moment où la RAM « cherche » la donnée demandée et le moment où elle dépose la donnée sur le bus. Plus cette latence est faible, mieux c’est. Elle est représentée par une fréquence, en MHz elle aussi, c’est donc une vitesse de réponse qui doit être la plus grande... pourquoi ? Reprenons l’exemple de l’armoire, supposons que la vitesse du chariot n’est pas un problème (ce qui n’est évidemment pas le cas dans une console) mais que votre tiroir met 10 minutes à s’ouvrir et que 10 minutes de plus pour trouver ce qui vous intéresse et le poser dans le chariot, vous qu’est ce que vous faites pendant ce temps ? Rien. Vous faites des tours de processeur pour rien. Si le cache du CPU n’existait pas, celui-ci serait constamment limité par le temps de réponse de la RAM. Un processeur peut tourner à 3.2GHz s’il le désire, mais ne fait pas toujours des calculs pour autant, il peut tourner dans le vide. Sur ce point la Xbox 360 et la PS3 sont assez similaires, 512Mo de chaque côté, la seule réelle différence est dans la répartition pour le CPU et le GPU de cette quantité de RAM.

La Xbox 360 : 512Mo de GDDR3, le système entier partage alors cet espace mémoire qui est cadencé à 700MHz. Pour la PS3, il y a 256Mo de RAM XDR pour le processeur, elle est cadencé à 3.2GHz ce qui est très rapide, et 256Mo de GDDR3 à 700MHz pour le GPU. Les différences entre les fréquences de RAM sont dues au fonctionnement des processeurs, pour éviter que cela ne devienne trop compliqué en explication, vous aurez remarqué que le Cell tourne à 3.2Ghz et la RAM XDR tourne elle aussi à 3.2 Ghz, ce système est fait pour « nourrir » à bonne vitesse tous les éléments du Cell, notamment l’ensemble des SPE qui sont moins équipés en terme de stockage local des instructions et des données à manipuler. Pour le Xenos, les trois cores sont théoriquement suffisamment équipés pour ne pas avoir à faire des appels à la RAM trop souvent. La aussi nous observons deux approches différentes de chaque constructeur. Pour finir, la bande passante des deux systèmes est globalement du même ordre, bien que la PS3 ai une bande passante supérieure à celle de la Xbox 360, la répartition du flux de donnée n’est pas le même entre les deux machine, c’est ce que nous venons de voir avec le CPU, mais c’est aussi vrai pour le GPU.

Le GPU :

Sur ce point le GPU de la Xbox 360 est connu : le Xenos, dérivé du X800 d’ATI sur PC, modifié pour atteindre des performances assez hallucinantes. Sur PS, c’est Nvidia qui va s’occuper du GPU en produisant le RSX. On ne connaît que peu de chose sur ce GPU mais il semble pour l’instant moins original que le Xenos d’ATI en terme de structure et pour certains probablement moins performant. Mais n’oublions pas que Sony a opté pour une centralisation de la puissance de calcul sur le Cell et surtout que le RSX n’est pas encore très connu. Pour exprimer assez simplement une comparaison entre les deux systèmes on pourrait dire que : Xenos + Xenon = Cell + RSX, et ce, bien que le Cell et le Xenon soit différents en puissance.

Le Xenos :

Comme je l’ai expliqué plus haut, le GPU est une entité quasi autonome, elle dispose d’unités de calcul spécialisées dans l’affichage et de mémoire de travail pour elle seule (en fait sur la Xbox 360 ceci n’est pas tout à fait correct puisque la RAM est partagée par le CPU et le GPU). Pour résumer, toute la puissance nécessaire à l’affichage et aux calculs graphiques lourds est déplacée du CPU vers le GPU pour alléger celui-ci en charge de travail. Mais du côté du Xenos un point important fait son entré et promet de belles chose : l’eDRAM. Cette mémoire est embarquée dans le GPU à hauteur de 10 Mo. Cela peut paraître faible face aux 512 Mo de RAM centrale mais ne vous y fiez pas, cette mémoire offre une bande passante de plus de 230 Go/s (c’est tout simplement monstrueux) entre elle-même et les composants graphiques de la carte. C’est à dire qu’entre cette mémoire et les composants effectuant les opérations sur le GPU, il peut passer 230 Go de données en une seule seconde... De plus elle dispose d’unités de calculs qui la rendent « intelligente », de sorte qu’elle ne demandera pas de la part des programmeurs de se tordre le cerveau pour l’utiliser, au contraire, elle automatisera certains traitements sur le GPU ! Du coup, le Xenos devrait pouvoir se charger très facilement et sans impact sur le reste du système d’opérations extrêmement coûteuses en ressources systèmes : l’Anti-Aliasing 4X en haute résolution, le motion blur, le HDR, la gestion des particules et des ombres et d’autres artifices graphiques aux noms barbares seront « gratuits » en terme de ressource pour la console. Disons, pour coller à notre exemple, que votre collègue spécialisé dans le dessin à des outils très précis.

Le RSX :

On ne sait pas grand chose donc je vais faire assez court : il est cadencé à 550 Mhz (contre 500 pour le Xenos) et utilisera la mémoire centrale de la console pour toutes ses opérations (soit 256 Mo de GDDR3). Il propose des caractéristiques originales comme un affichage en très (très) haute résolution : le 1080p contre le 720p pour la Xbox 360 (autant vous dire qu’avant d’avoir une télévision affichant ce format il va falloir attendre un peu) et la possibilité d’afficher sur deux écrans simultanément. Si Sony est un peu en retard de ce côté de la console l’explication viendrait en partie d’un changement de stratégie de dernière minute chez le géant nippon. En effet à l’origine, c’est un autre processeur Cell (modifié ?) qui devait s’occuper de la partie graphique, mais l’idée à été abandonnée en cours de route au bénéfice de Nvidia qui à alors réalisé le RSX. D’où le petit retard, le RSX n’était semble-t-il pas encore fini lors de la présentation à l’E3.

Conclusion :

Le but de ce dossier est de révéler quelque chose qui n’apparaît pas en regardant et comparant simplement des séries de chiffres, ce qui a pour l’instant été (malheureusement) le moteur de l’E3 de cette année. Chaque constructeur a opté pour un système différent, c’est une évidence, savoir lequel est le plus puissant dans le domaine des jeux vidéo est déjà beaucoup moins évident et peut être même inutile. La PS3 dispose d’un processeur à la puissance de calcul phénoménale, qui a pour but de couvrir presque intégralement les besoins de la console pour gérer un jeu complet. Les concepteurs de la Xbox 360 ont préféré déléguer une partie des calculs graphiques lourds à son GPU, laissant le CPU gérer d’autres problèmes. Sur le fonctionnement même des processeurs, j’ai constaté que plusieurs sites spécialisés ressortaient des conclusions similaires : le Cell dispose d’une puissance graphique supérieure au Xenon mais ce dernier est peut-être plus à même de gérer efficacement les problèmes d’IA ou de physique qui demandent des ressources que les SPE du Cell fourniraient plus difficilement. D’un autre côté, le GPU de la Xbox 360 est conçu pour réellement libérer le Xenon d’une trop grande charge de travail et devrait permettre au final d’obtenir des graphismes tout aussi superbes que sur PS3. Dans tous les cas la configuration risque de procurer une puissance globale phénoménale pour les équipes de développement. Bref vous l’aurez compris : les deux consoles fourniront un rendu global probablement identique, au pire on parle dans les forums d’une différence graphique égale à celle entre la Xbox et le GameCube, en faveur de la PS3. La véritable différence, il faudra la trouver ailleurs.

Maintenant il faut aller au delà des spécifications techniques, car c’est à des problèmes différents que vont êtres confrontés les développeurs : le temps, l’argent, vont être les vrai facteurs limitants du développement d’un jeu. Dans un premier temps les développeurs vont devoir prendre les machines en main. Des deux côtés la différence entre les jeux dits de première génération et ceux de deuxième génération sera certainement énorme et la batterie de solution logicielle proposée par Sony et Microsoft joueront un rôle clef dans la réussite d’un projet de jeu. Je vous donne donc rendez-vous dans le prochain dossier pour analyser les astuces et les techniques mises en jeu par chacun pour proposer des meilleures conditions de travail et au final, de meilleurs jeux.
totti10
Silver Mario
Silver Mario
Messages : 8285
Inscription : lun. 05 janv. 2004 - 19:49

Message par totti10 »

oui trés bon dossier!
bah même aprés ce que j'ai lu et même ça a confirmé ce que je pensait. je préfère la 360.
plus simple à gérer elle offrira des graphismes similaires à la ps3 mais avec des développement moins fastidieux.

Répondre