dimanche 11 août 2013

Direct / Indirect [fr]

Il existe dans Warp3D deux modes pour tracer de la 3D :
  1. le mode direct,
  2. et le mode indirect.
 
En mode direct, Warp3D trace vraiment chaque fois qu'une fonction de traçage est appelée.

En mode indirect, Warp3D garde une liste (ou plutôt "Queue" en anglais) de ce qu'il faut tracer et ne l'exécute alors que :
  • lors d'un W3D_Flush,
  • lorsque la liste est pleine,
  • lorsque le mode indirect revient manuellement avec W3D_SetSate.

Après quelques tests, le mode indirect donne de meilleurs résultats pour les petits objets. Par contre, après un certain nombre de triangles à dessiner, le mode indirect donne les même résultats que le mode direct avec nos versions actuelles de Warp3D.

Alain Thellier a eu la bonne idée de recompiler une version indirect de StarShipW3D et de CavalleryW3D (disponibles dans la rubrique "Download"), et les résultats sont en effet très intéressants avec mes nouvelles versions bêtas de Warp3D et mon GRex 1200 (Config 2).

StarShipW3D avec 170 triangles en mode indirect :

Alors que là en mode direct :
Maintenant CavalleryW3D avec 1090 triangles donne des résultats identiques dans les deux modes, la limite dont je parlais est atteinte :

Avec ma Config 1, j'obtiens :
  • StarShipW3D indirect : 225 fps
  • StarShipW3D direct : 167 fps
  • CavalleryW3D indirect : 43 fps
  • CavalleryW3D direct : 43 fps

Nous avons encore de nombreuses choses à comprendre sur le fonctionnement de Warp3D et des cartes 3dfx sur nos Amiga...
   

Aucun commentaire:

Enregistrer un commentaire

Laissez vos commentaires ici :