Actualité

Gaming

XBox One : Microsoft a créé un émulateur PowerPC -> x86 ultra-performant

Par Didier Pulicani - Publié le

XBox One : Microsoft a créé un émulateur PowerPC -> x86 ultra-performant
En juin 2005, Steve Jobs annonçait l'abandon du PowerPC au profit de processeurs Intel. Comble du hasard, à cette même période, Microsoft et Sony adoptaient -à la surprise générale- une puce conçue par IBM (Cell chez Sony, PowerPC chez Redmond). On se souvient d'ailleurs que les premiers prototypes présentés à l'E3... étaient en fait des Power Mac cachés sous les tables ! (cf image ci-contre)

Avec le lancement de la PS4 et de la Xbox One il y a (presque) deux ans, les constructeurs sont revenus à une architecture de PC traditionnel sous x86. Conséquence immédiate : tous les jeux achetés précédemment (et compilés pour le PowerPC) se sont montrés inutilisable sur la nouvelle génération, ce qui obligeait les joueurs à conserver l'ancienne console ou à racheter certains jeux en NextGen.

Mais hier soir, Microsoft a créé la surprise en annonçant une rétro-compatibilité des jeux Xbox 360 vers Xbox One. Il sera donc possible d'insérer un vieux disque dans la nouvelle console et de lancer son jeu préféré. Mais les limitations sont nombreuses : d'une part, le média physique ne sert qu'à valider la licence et le titre final devra être téléchargé sur les serveurs de Microsoft. Secondo, la liste de jeux pris en charge reste pour l'heure très limitée (par ici).

Etant donné la complexité du système et la difficulté de l'opération, beaucoup imaginaient que Microsoft allait recompiler une partie du catalogue, une opération coûteuse, longue et qui ne permettrait pas d'assurer le portage de 100% des titres. En réalité, Redmond aurait bel et bien développé un émulateur permettant d'enrichir l'offre plus rapidement et d'éviter la recompilation.

S'il s'agit bel et bien d'émulation, l'exploit est intéressant. On part en effet d'une puce Xenon 3.2 GHz sur 3 coeurs, émulée ici par un AMD Jaguar à 8 cœurs à 1,75 Ghz. On dit souvent qu'il faut entre 10 et 20 fois la puissance de la machine originale pour arriver à transcoder les instructions sans perte de performance, ce qui est loin d'être le cas ici : le Xenon affichait environ 57.6GFlops contre un peu plus de 100GFlops pour les XBox One / PS4 récentes. Encore aujourd'hui, les émulateurs (pour PC) de PS3 et d'XBox One en sont à un stade ultra-expérimental et les quelques jeux fonctionnels sont extrêmement lents. Avec un PC puissant de 2015, il est tout juste possible d'émuler correctement une PS2, et encore...

Toutefois, les titres développés pour XBox 360 utilisent des composants logiciels assez classiques (noyau Windows NT, frameworks XNA/.Net/C#) et dessinent avec DirectX 9. Du coup, Microsoft pourrait lier dynamiquement certaines librairies et l'émulation pourrait se rapprocher de la technique utilisée par Apple au moment de la transition vers Intel. Grâce à Rosetta, on pouvait ainsi exécuter assez facilement des applications PowerPC sur un Mac Intel, qui restaient largement utilisable, même si les programmes demandaient généralement beaucoup de RAM. Certains se rappelleront même des émulateurs 68K au moment de la transition vers le PowerPC, qui étaient encore plus bas niveaux et qui permettaient d'obtenir des performances quasi-équivalentes sur la nouvelle puce.