vendredi 16 mai 2014

bug fix [fr]

Bonne nouvelle aujourd'hui avec un bug trouvé dans la W3D_Picasso96MU.library.

Les autres W3D_Picasso96.library et W3D_CyberGfx4.library ne sont pas concernées...

J'en avais déjà parlé dans un ancien article il y a quelque temps : lorsque je lançais GLBlitzQuake juste après un boot, j'avais les fps prévus. Par contre, quand je démarrais un autre programme Warp3D juste avant, comme Cow3D par exemple, j'obtenais alors environ 0.5 fps de moins avec ce même GLBlitzQuake...

Et bien, le bug était dans la gestion de la mémoire des 3dfx : et plus précisément dans la fonction W3D_P96MU_AllocVMem !

Noté que je ne suis pas certain de mon fix, je travaille avec un source désassemblé : néanmoins avec, j'ai maintenant toujours le même résultat fps avec GLBlitzQuake !

Avec ce gros bug "rafistolé" pour l'instant, la W3D_Picasso96MU.library passe en version finale 4.3 !

W3D_Picasso96MU.library 4.3 :
  • fix W3D_P96MU_AllocVMem
  • _EndMarker correct
  • toutes les sections ôtées
  • toutes les fonctions alignées avec cnop 0,4
  • tous les jsr convertis en bsr.w/.l
  • beaucoup d'adresses absolues maintenant PC relative
  • code inutile ôté
  • toutes les fonctions bsr internes sont maintenant appellées par jsr jmptable (LibraryTimer)
  • W3D_P96MU_AllocVMem optimisée
  • W3D_P96MU_CheckBitmapVisible optimisée
  • W3D_P96MU_Close optimisée
  • W3D_P96MU_CreateContext optimisée
  • W3D_P96MU_Expunge optimisée
  • W3D_P96MU_LockHardware optimisée
  • W3D_P96MU_Open optimisée
  • W3D_P96MU_UnlockHardware optimisée
  • W3D_P96MU_Version optimisée
  • 1724 octets d'économiser
  

Aucun commentaire:

Enregistrer un commentaire

Laissez vos commentaires ici :