L'instruction nop des 68k signifie no operation : c'est à dire qu'elle ne fait aucun calcul...
Il y en avait en tout 4589 dans les W3D_AvengerLE.library et W3D_AvengerLEMU.library ! Oui, oui, vous avez bien lu : 4589 dans chacune d'entre elles !!
Alors pourquoi avoir rajouté toutes ces nop ? Aucune idée, il faut déjà bien se rappeler que Warp3D 4.2 a été programmé en 2002 : peut-être qu'à l'époque la pci.library des Médiators l'exigeait...
Sur 060, nop flush aussi le write buffer... et coûte 9 cycles pour s'exécuter par le CPU !
La pci.library quant à elle a continué à évoluer depuis, et la dernière version disponible il y a peu est la v9.9 sur le site du constructeur.
Et bien, tous ces nop peuvent être purement et simplement ôtés maintenant ! Allez, bon débarras !!
Déjà, la librairie s'en trouve allégée d'un peu plus de 9 Ko, et je gagne environ 0.7 fps sous GLBlitzQuake...
Super !!
Super !!
Je suis à 327 fps avec StarShipW3D !!!
RépondreSupprimer