mardi 30 octobre 2012

Quake bug (II)

Voici une nouvelle version de Quake, basée sur la version 68020 (celle sur le CD) puisque la version 68060 a un léger problème...

La version du CD contient donc beaucoup d'instructions émulées par la 68060.library sur un vrai CPU 060. Avec Oxypatcher, c'est très pratique, nous pouvons les voir :

Il faut savoir aussi que lorsqu'une instruction non-présente dans le 060 est émulée par la librairie, le multitâche est coupé : pas cool ça !

Ma nouvelle v1.10 en ôte maintenant beaucoup. Une vérification de Fpu a été aussi ajouté pour éviter un crach du programme si absent ainsi que la stack présente dans le .info ! Plus besoin de lancé un 'stack 16384' avant le jeu dans un cli, ce qui est bien pratique : 

Mais les plus importantes et aussi les plus lentes sont encore là...

Pas de speedup pour le moment : mais même en supprimant toutes les instructions émulées, est ce qu'il sera possible d'avoir un gain de rapidité ?

Voici quelques benchmarks, d'abord en AGA avec mon Apollo 1260@95 en 320x256 avec la version 020 :

Et avec la version 060 buggée sous l'eau :

Bof, pas grand changement. Pourtant tous les sinus et cosinus ont disparus avec cette version spéciale, les gars de PXL avaient bien bossé :

Un autre test en RTG cette fois avec une MK3@72 et sa CyberVisionPPC en 320x240. Ici avec la version 020 :

Et là avec la 060 buggée under water :

La nouvelle version est disponible ici.
 

8 commentaires:

  1. En découvrant votre blog cela m'a donné envie de ressortir du carton mon A1260 Blizzard + Pixel64 et mon A600+fpu.
    Je me souviens des heures passées à jouer à Quake et ces addons et sous Shapeshifter à Duke Nukem,
    J'admire votre coté passionné, merci pour vos recherches et vos améliorations.
    VincentV

    RépondreSupprimer
  2. Y'a encore beaucoup à faire sur les Classics, en hardware comme en software...

    RépondreSupprimer
  3. Tu as fait ces essais avec des 060.library d'origine, ou avec des libs made in Cosmos ?

    RépondreSupprimer
  4. C'est avec la dernière version de l'auteur (v60.10)

    Les sin/cos n'ont pas l'air d'avoir une importance considérable dans le moteur temps réel de Quake.

    Mais attention, tout est important en fait, même les choses peu usités.

    Nous vivons "dans" un univers psycho-fractalo-énergétique où TOUT est TRES important...

    RépondreSupprimer
  5. Hum, je viens de faire quelques tests avec la version 020 et OxyPatcher pour avoir des sin/cos émulés plus rapides, et j'obtiens 10.34 pfs soit quasi-pareil que sans Oxy...

    Ce qui signifierait qu'il y a un entonnoir, certainement les accès vidéo AGA...

    A mon avis, le version 060 de Quake a eu d'autres changements et pas seulement les fonctions trigo...

    RépondreSupprimer
  6. Bon, je viens de refaire des tests avec toujours la version 020 et OxyPatcher sur une CyberVisionPPC branchée directos sur la MK3 avec en théorie une meilleur bande passante que l'AGA...

    Ben même résultat ou presque que sans Oxy : 13.12 fps...

    RépondreSupprimer
  7. Bon, toujours avec la MK3 et la version 020 en AGA cette fois, le bench me donne 10.95 fps et 10.98 avec OxyPatcher...

    RépondreSupprimer
  8. Et avec la version 060 de Quake toujours en AGA : 11.45 fps

    RépondreSupprimer

Posté vos remarques :