Merci natho18 pour ces éclaircissement, tu as dit chapeau à celui qui a tout lu, j'ai envi de dire chapeau à toi d'avoir pris le temps de rédiger tout ce développement, écrit de manière propre et professionnel, avec un pseudo comme le tiens on te prend vite pour un kikou.
Sinon pour revenir au sujet, vous dites que l'interpréteur à besoin d'énormément de puissance pour alimenter toutes les manœuvres nécessaires n'est ce pas ? et bien vous avez l'air d'oublier que cette fois, nous avons entre les main une fucking PS4 PRO, n'en a t'elle pas assez sous le capot pour faire le café (comme dirait Benzaie) ?
Alors certes la ps4 pro et plus puissante, mais hélas une bonne partie de la puissance d'un cpu tient dans ses optimizations.
Surtout au niveau des accès mémoires.
Il faut savoir que les accès mémoires (ram) est ce qu'il y a de plus lent dans les machines actuelles et c'est le plus gros frein de nos jours.
Du coup, comme ce n'est pas un problème nouveau, les ingénieurs s'arrachent à trouver des combines pour les optimiser.
Parmi ces combines on va trouver:
- une mémoire cache qui est très très rapide mais très limitée (généralement à quelques 2/4/16 mb)
- des accès non ordonnés (le cpu peut changer l'ordre d'accès de la mémoire pour les optimiser)
- la prédiction des accès mémoire et un pré-chargement de celle-ci
A savoir que ça c'est uniquement pour la partie donnée, mais les instructions (code du logiciel) sont elles aussi issues d'accès mémoire, et là, la prédiction et encore plus importante car ça permet de commencer le traitement d'opération qui viendront plus tard pour éviter des délais.
C'est assez technique et il y en a évidemment plein d'autres.
Sauf qu'on a un gros soucis: ces optimisations ne sont utiles que pour le language compris par le processeur, par conséquent, notre jeu émulé ne bénéficiera d'aucune de ces optimisations.
C'est donc un sacré bout de puissance en moins par rapport à la puissance brute qu'on pourrait avoir pour un jeu ps4 natif.
Mais c'est pas tout !
La ps3 elle aussi bénéficiait de ces combines pour optimiser l'execution du code natif ps3 sur la ps3.
Donc si on résume:
- On doit exécuter un code sans les optimisations du processeur de la ps4 (chute de puissance brute)
- On perd les optimisations faites par le processeur de la ps3, ça veut dire qu'il nous faut encore plus de puissance !
- Notre interpréteur qui doit traduire le langage va ajouter plus d'opération pour en faire une seule (imaginez une phrase qui passe de l'anglais en français, vous aurez plus de mots. C'est une image approximative, mais vous voyez l'idée)
Il nous faut donc un processeur beaucoup plus puissant que celui de la ps3 et qui ne soit pas trop lent en accès mémoire.
Une autre chose à savoir, c'est que la majorité de la puissance supplémentaire de la ps4 (et de la pro par extension) vient du gpu.
Le gpu est très performant ce qui permet d'afficher plus de chose à l'écran dans des délais plus court.
Donc une puissance brute bien plus élevée que sur la ps3.
C'est bien beau mais ça ne nous aide en rien. En tout cas pas pour une émulation 1:1, le surplus de puissance pourrait être utile pour forcer des résolutions plus importantes que la résolution native de la ps3 mais c'est tout.
Et pour ça il faut d'abord pouvoir émuler le jeu de manière correcte en 1:1.
En effet, les gpu reposent pratiquement tous sur le même principe, ainsi il est relativement facile d'adapter le rendering d'image au gpu de la ps4. Relativement car il faut quand même coder ce qui servira d'interface, régler les paramètres etc. mais dans l'absolu, ce n'est pas le plus compliqué.
Le plus compliqué c'est de 'traduire' le code de la ps3 vers la ps4, le tout dans des délais suffisamment court et ça, seul le cpu peut le faire avec les contraintes que l'on a vu plus haut.
Donc une fois de plus, la super puissance de la ps4, qui réside pour beaucoup dans le gpu n'est pas exploitable. :/