Actualité
daedaluskz0

Daedalus avance encore et toujours ...

par
Source: 0635425

Daedalus, l’émulateur Nintendo 64, progresse à une vitesse ahurissante. Certaines branches de jeux approchent la vitesse maximale sans aucun ralentissement, tout comme en jouant sur la console de salon.

StrmnNrmn travaille avec acharnement sur son émulateur pour nous donner les mêmes sensations ressenties avec la console originale.

Ces derniers mois, beaucoup de problèmes ont été réglés dans le dynarec, cette initiative a mené à d’excellentes améliorations, mais sur certains jeux sélectionnés uniquement. Pour corriger ces fausses routes, StrmnNrmn devait passer en revue tout son système d’émulation pour voir exactement où le code perd le bon chemin.

Cette fois-ci l’accent a été mis sur l’optimisation du code. En guise d’information, le dynarec est le système même qui permet d’émuler une image d’un jeu, et le code est plûtot comment Daedalus interagira avec le dynarec versus le jeu choisi. En optimisant le code, on espère voir une avancée de la vitesse de tous les jeux.

Nous allons donc voir ensemble comment SrmnNrmn procède et au bout du compte si on a obtenu les résultats escomptés.


Tout d’abord, il a vérifié à la fin de chaque ligne de code, si l’émulation devait suivre le dynarec. Le dynarec étant le chemin qu’un jeu doit prendre pour se faire émuler par Daedalus. Certaines opérations arrivaient à leur terme avant d’autres, on doit donc vérifier si la chaîne est dans l’ordre la plus logique possible sur la ligne de temps.

Il s’est avéré que les éléments en attente d’être émulés ralentissaient le processus. Daedalus devait tenir une copie du code afin que l’émulation soit au bon endroit à son retour dans le dynarec. Cette facette a donc aussitôt été améliorée.

L’émulation peut quitter le dynarec de deux façons. Une étant d’appeler une fonction tout simplement, l’autre en laissant l’émulation perdre de la vitesse.

Un code permettait à l’émulation de quitter de la façon la plus adéquate, et surtout la plus rapide. StrmnNrmn a enlevé cette fonction, et a simplement ajouter les deux branches dans l’émulation.

Ces deux améliorations ont mené à une augmentation de la vitesse de trois à cinq pourcents et le niveau de mémoire a fluctué conséquemment.

La troisième amélioration que StrmnNrmn a apportée est l’optimisation du système qui permet de garder en mémoire un code d’exécution pour ensuite le remettre en branle. Il a réussi à enlever deux étapes de vérification du code pour arriver au même résultat. Cette optimisation a mené à une vitesse d’émulation accrue de trois à cinq pourcents.

La quatrième et dernière avancée que StrmnNrmn a faite est de modifier la méthode que les fragments utilisent pour être exécuté de nouveau. Les informations en suspend sont maintenant gardé en mémoire, mais à l’extérieur de la boucle. Cette méthode permet donc de réduire considérablement le temps d’attente entre chaque commande. Ce qui nous mène donc à une autre augmentation, mais de cinq à six pourcents. Cette méthode aidera, entre autre, l’émulation de Mario 64.

Au total, StrmnNrmn aura travaillé sur quatre optimisations pour obtenir une émulation d’une images d’un jeux de dix à quinze pourcents plus rapidement.


Retrouvez les précédents articles sur ce sujet :
- Remap des touches sous Daedalus
-
Daedalus + Bios N64 : Démenti

Commentez cette news en cliquant ICI

Commenter 24 commentaires

Ycar
YOUPI!

J'adore lire les news sur Daedalus. C'est un peu con car je suis en firmware officiel, maios j'aime ça car c'est lui qui m'a fait découvrir toute la scene PSP et j'ai toujours l'espoir de voir un downgrade arriver pour permettre a ma psp de lire mes cartouches 64 :D .
Zelda, Mario et autres partout avec moi :p
Signaler Citer
Anonymous
Wiikram a écrit:Respect au p'tit bonhomme qu'il est ^^, au passage, une info concernant la sortie de sa prochaine release ??


Salut, non aucune info n'a été donné au sujet de la prochaine release, désolé

par contre, il a laissé présagé que son travail avance beaucoup plus rapidement que ce qu'il avait imaginé, on peu donc penser à voir une sortie dans un futur rapproché.
Signaler Citer