Raydium 3D Game Engine

Official forum for everything about Raydium, ManiaDrive, MeMak, ...
It is currently Sun Apr 28, 2024 7:20 am

All times are UTC




Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Tue Feb 22, 2005 9:58 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Au tout tout début de Raydium (avant même qu'il porte un nom, en fait), j'avais testé les Display Lists, un méchanisme qui permet de "compiler" des instructions OpenGL un fois pour toute au lieu de les ré-envoyer à chaque image, et le résultat était catastrophique, avec des performances divisées par 10, au bas mots.
J'ai essayé à nouveau d'intégrer ces Display Lists dans le moteur de rendu de Raydium.
Première surprise : ça fonctionne, et étant donné que Raydium utilise des extensions d'OpenGL (multitexturing, par exemple), c'était pas gagné.
Seconde surprise : c'est un énorme coup de boost pour le rendu. Sur le terrain sur lequel neubet bosse en ce moment, (70 000 points) je passe sur la machine de test de 20 FPS à 30, et sur les locaux de Quiris (20 000 points, multitexturing), je constate un passage de 43 FPS à plus de 100.

meilleurs pilotes ? matériel plus adapté ? erreur de ma part à l'époque ?
Il va falloir pousser les tests sur plus de matériel, sur différents OS, mais la piste semble très intéressante (même si elle est incompatible avec le clipping actuel de Raydium).


Top
 Profile  
 
 Post subject:
PostPosted: Wed Feb 23, 2005 10:55 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Ok, après tests sur d'autres machine, ca semble clair : les DL déportent une grosse partie du CPU vers le GPU.
Résultat, sur un Celeron 1.2 et une NVidia FX (5200, je crois), sur de gros terrains on passe de 14 FPS à ... 74.
En revanche, sur une GeForce 2MX mais un CPU correct, le gain est nul voire négatif, mais surtout la vitesse de rendu est très instable : on passe de 15 FPS à 30 sans raison, et ce quasi plusieurs fois par seconde. Ca donne une impression détestable, et la conclusion est sans appel : Raydium doit détecter (par des tests qui restent encore flous) à chaque objet si la construction d'une DL est utile ou non, voire désactiver entièrement le support des DL à la volée (j'espere ne pas être si radical).

Enfin, les autres optimisations possibles (Array, VBO, ...) souffrent des mêmes symptomes selon les constructeurs et versions de pilotes, et sont infiniment plus complexes à mettre en oeuvre dans Raydium, donc le choix des DL semble donc "définitif" dans Raydium.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Feb 26, 2005 11:20 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Après vérification, la carte vidéo de neubet n'est pas une FX 5200, mais une Ti4200, ce qui rend les résultats un peu plus cohérents quand on regarde les scores des GeForces 4 MX et Go.
Je note au passage qu'aucun test n'a été effectué pour l'instant sur du matériel ATI. Les pilotes de ce constructeur sont réputés pour avoir des performances assez intéressantes avec les Display Lists. Je vais tenter très prochainement tout ça sur une 9800 Pro.

Autre point, le support des Display Lists est maintenant activable/désactivable au vol, même depuis la console, au travers de deux fonctions :
- raydium_rendering_displaylists_enable()
- raydium_rendering_displaylists_disable()


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 175 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group