StrmnNrmn, auteur de Daedalus, poursuit son travail exemplaire. Au menu : un autre gain de vitesse considérable grâce à l'amélioration du code.
Nous vous parlions des quatre dernières optimisations intégrées dans Daedalus et
prévues pour la prochaine version dans cette news :
Daedalus avance encore et toujours
Rappelons-nous que ces modifications mèneront à une vitesse d’émulation accrue
de 10 à 15%, en fonction du jeu et de
ces caractéristiques propres.
Aujourd’hui, StrmnNrmn explique, qu’en relisant son code, il a eu une
révélation. En modifiant "simplement" quelques lignes de code, il pourra obtenir
un gain sérieux de vitesse.
Sans rentrer dans les détails, voici ce que StrmnNrmn donne comme exemple:
SLT t0 = (a0
BEQ t0 != r0 --> _Trampoline_XYZ123 # branch to trampoline if invalid
ADDU a1 = a0 + s7 # add offset to emulated ram
LW s0
Commenter
Commenter 15 commentaires
Legend_Juju
Bon travail
Vivement la nouvelle version, que je puisse savourer ces vieux jeux ( Super Mario 64 :p :p :p :p :p )
Citer
Vivement la nouvelle version, que je puisse savourer ces vieux jeux ( Super Mario 64 :p :p :p :p :p )
GaaraPauleta
Hallucinant ! Il progresse à une vitesse impressionante, bravo !
Merci à PSP-GEN pour la news et bonne chance à lui pour l'amélioration de son Deadalus...
Citer
Merci à PSP-GEN pour la news et bonne chance à lui pour l'amélioration de son Deadalus...
hlide_1
j'ai lu la version anglaise qui est très claire pour quelqu'un qui s'entend à merveille avec le monde MIPS et qui n'a pas peur de la technique. Bref, ce blog serait plutôt destiné aux dévelopeurs à vrai dire.
Concrètement, il vient de découvrir une technique qui lui permettrait d'émuler les accès en mémoire vive de la N64 par le biais de la paire d'instruction SLT/BEQ et qui lui permet de détecter quand il n'accède pas à la mémoire vive émulée de la N64. Autrement dit, TANT que ce code accède à de la mémoire vive (généralement toutes les données du jeu N64 s'y trouvent), la lecture/écriture en mémoire se fait instantanément sans émulation.
Cette technique a été implémentée aussi dans gpSP dans sa révision 9 (la denière en date) mais en mieux.
sinon il a quelque vague idée pour réduire le code généré. Pour vous donner une idée, c'est comme si vous appercevez que vous faites une addition :
x = y + 100
puis
x = x + 200
ben vous avez envie d'écrire :
x = y + 300 à la place
il aimerait faire quelque chose d'approchant pour le code généré où on a des situations qui se rapprochent de ça.
note à l'auteur, synthétise, synthétise ! la traduction de la partie technique n'a aucun sens.
Citer
Concrètement, il vient de découvrir une technique qui lui permettrait d'émuler les accès en mémoire vive de la N64 par le biais de la paire d'instruction SLT/BEQ et qui lui permet de détecter quand il n'accède pas à la mémoire vive émulée de la N64. Autrement dit, TANT que ce code accède à de la mémoire vive (généralement toutes les données du jeu N64 s'y trouvent), la lecture/écriture en mémoire se fait instantanément sans émulation.
Cette technique a été implémentée aussi dans gpSP dans sa révision 9 (la denière en date) mais en mieux.
sinon il a quelque vague idée pour réduire le code généré. Pour vous donner une idée, c'est comme si vous appercevez que vous faites une addition :
x = y + 100
puis
x = x + 200
ben vous avez envie d'écrire :
x = y + 300 à la place
il aimerait faire quelque chose d'approchant pour le code généré où on a des situations qui se rapprochent de ça.
note à l'auteur, synthétise, synthétise ! la traduction de la partie technique n'a aucun sens.
Tom Vivares
Je suis impatient de pouvoir tester la prochaine release.
Ca va me choquer tout ce gain de vitesse , je m'etais arrété à la V6 de l'emu...
Citer
Ca va me choquer tout ce gain de vitesse , je m'etais arrété à la V6 de l'emu...