Aller au contenu


natho18

Inscrit(e) (le) 20 janv. 2011
Déconnecté Dernière activité juin 23 2019 19:33
*****

Messages que j'ai postés

Dans le sujet : [PS4] L'émulation PS3 sur PS4 FW 5.05 via RPCS3

07 février 2019 - 18:54

Moi qui pensai que toute les machines parlaient la même langue appeler le binaire ?
Le souci ne viendrai pas plutôt du system de cryptage utilisé sur ps3 et qui n'est plus le même sur ps4 ?

Hmm, non, le binaire n'est pas un language en soit. C'est une représentation d'un nombre numérique.

On parle souvent de language binaire dans le sens ou c'est vrai ou faux, mais c'est une idée générale.
Un programme est une succession de si X fais ça, sinon fait ça, si Y fait ça, sinon fait ça, le tout en boucle. D'où l'expression d'un language binaire.
Mais le binaire n'est pas un language en soit.

Chaque processeur est conçu pour lire un certain language, on parle en fait d'un jeu d'instructions. C'est l'encodage utilisé (sur 32bits ou 64bits) pour décrire une opération à effectuer.
Parmi les plus connus on à le x86/x64 qui est présent sur nos ordinateurs, l'arm (et ses differentes déclinaisons) et le powerpc qui est utilisé dans le Cell, cpu de la ps3.

Le cryptage et l'encodage sont 2 choses bien distinctes.

Le cryptage est utilisé pour camoufler des données, l'encodage c'est juste un moyen de représenter des données.
Example, on parle d'encoder un fichier image ou un fichier video. C'est un moyen de représenter les données en utilisant une structure commune / connue.

 

Après on peut encoder des données cryptées ou non, mais encoder != encrypter.


Dans le sujet : [PS4] L'émulation PS3 sur PS4 FW 5.05 via RPCS3

06 février 2019 - 23:28

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. :/ 


Dans le sujet : [PS4] L'émulation PS3 sur PS4 FW 5.05 via RPCS3

06 février 2019 - 13:46

C'est quand même honteux qu'il n'y ai pas de vrai rétro compatibilité sur PS4...

Le truc c'est que c'est pas une volonté de Sony de ne pas proposer de rétro-compatibilité mais une incompatibilité matérielle.

La ps3 utilisait une architecture propriétaire développée juste pour la ps3.
C'est d'ailleurs pour ça que les ps3 hormis la fat ne proposait pas de rétrocompatibilité directe avec la ps2, l'executable est différent.

Pour simplifier, le processeur de la ps3, ne parle pas le même language que la ps2, et celui de la ps4 ne parle le même language que la ps3.

Du coup pour faire une rétrocompatibilité, tu as 2 solutions:
- Inclure un processeur compatible
- Utiliser un interpréteur 

La première avait était tenté sur la toute première génération de ps3 pour rétrocompatibilité ps2, mais vite abandonné à cause du surcoût, les consommateurs préférant payer 200€ de moins pour avoir juste les jeux current gen (+ de 90% du moins).
Surtout si on trouve encore la précédente console à très bon prix via les occasions.

La seconde pose plusieurs problèmes dont un majeur: la vitesse.
En effet, un interpréteur est une émulation logicielle et donc extrêmement lente (en comparant la solution hardware versus logicielle).
Il te faut beaucoup plus de puissance avec un interpréteur car il faut compenser le temps perdu par la traduction en augmentant la vitesse de calcul du cpu.
A cela s'ajoute des approximations du fait qu'il n'est pas certain que ton architecture actuelle te propose les mêmes options que l'architecture cible, ou que celles-ci opèrent de la même manière.

Du coup la encore, tu vas perdre du temps à assurer que le résultat d'une opération soit le même que sur l'architecture cible.

En bref, l'émulation c'est bien plus compliqué qu'il n'y parait, et plus la cible de l'émulation est puissante et plus c'est compliqué. (Car oui, un interpréteur est un émulateur.)

Alors tu vas me dire que des émulateurs existent en homebrew et que c'est vache de la part de Sony de pas en créer un.
Oui, sauf qu'on oublie plusieurs points majeurs:
- Un homebrew qui marche pas ou mal, c'est embêtant mais c'est "attendu", on va pas embêter le dev pour un fix
- Une application officielle qui ne fonctionne pas et c'est l'image de Sony qui en prend un coup, avec le support client submergé de mécontent (légitime)

Du coup, pour les grandes entreprises, c'est plus intéressant de ne pas proposer une fonctionnalité que de proposer un truc expérimental qui fonctionnera peut-être mais dont on n'est pas sur.
Sony peut pas dire à ses clients: testez et si ça marche tant mieux, sinon tant pis.

Mais si on regarde bien, Sony propose des émulateurs, ils s'assurent juste de proposer ceux qui fonctionnent correctement.
Comme les jeux ps1 classic, psp classic, ps2 classic.

Ils reposent tous sur un émulateur mais ne sont disponible que si on est sur qu'ils fonctionnent à 100% une fois émulé.
D'où le catalogue réduit par rapport au catalogue original de ces consoles.

Après, je suis d'accord sur le fait que la rétrocompatibilité est une chose importante et sony l'a compris aussi.
D'ou le fait qu'ils utilisent à présent une architecture similaire à celle d'un pc sur la ps4. C'est sur d'être quelque-chose de maintenable dans le temps.

Le fait que Microsoft propose une bonne rétrocompatibilité sur ses consoles et basé sur le choix d'une architecture commune, simplement plus évolué avec une plus grande puissance et plus de fonctionnalités.
Du coup la rétrocompatibilité peut être faite avec moins de travail (il suffit de donner à l'application les paramètres qu'elle attend et d'interfacer le tout avec le système).

Voilà pour la raison derrière la non-rétro compatibilité, chapeau si vous avez tout lu. ;)
Je tiens à préciser au cas ou ce serait mal interprété que ce post n'est pas là pour défendre Sony et la non retro-compatibilité, mais seulement pour expliquer l'envers du décor et essayer d'apporter des informations pertinentes au problème.

Je suis moi-même déçu de ne pas pouvoir jouer à mes Battlefield Bad Company 1 & 2 sur ps4, pas même via ps now. (Hagard avec ses camionausores et le gars en kiffe sur l'opératrice !!!  :laugh: )


Dans le sujet : [Switch] La Team Xecuter tease SX OS 3.0

09 décembre 2018 - 13:45

Ouais, chez sxos, le brickcode des premières versions qu'ils ont retiré une fois qu'ils se sont fait griller, c'était pas un bug, mais une feature, c'est vrai c'est beaucoup mieux :D

Hmm, c'était pas un vrai brick code, on pouvait débricker.
De plus, c'était uniquement appliqué à ceux qui tentaient de modifier leur cfw (et qui le faisaient mal qui plus est).

C'est comme se plaindre à Nintendo parce qu'en hackant telle console, le mec la brickée.
Ils vont te rire au nez en te disant que t'avait pas qu'à vouloir la hackée.

Encore que la TX a été sympa, ils ont retiré leur protection et ont même donné la méthode pour résoudre les 'bricks'.

C'est plus que fair-play (alors que gueuler au loup sur Twitter parce qu'on est mauvais ne l'est pas).

Ils ne sont pas tout blanc, mais faut pas tout critiquer non plus c'est comme ça qu'on en oubli les vrais problèmes.

Dans le sujet : [Switch] MelonDS v0.5

01 décembre 2018 - 19:59

@jbam: et bien si figure toi.

En effet, l'overclock utilise les fonctions disponible par le système de la Switch elle-même. Ce n'est pas un hack qui le permet. (Check switchbrew PCV service pour en savoir plus)
Il s'agit en fait du même concept que sur N3DS ou le système peut fonctionner soit en 268MHz ou en 804MHz.

Certaines applications et jeux utilisent le mode qui leur permettent de mieux fonctionner, en essayant au maximum d'être utilisable dans le mode normal pour éviter de flinguer l'autonomie de la console.

Le terme overclock n'est pas adapté ou mal compris dans cette situation.