2010-12-10 30 views
1

Ceci est étrange.Listes d'affichage et états OpenGL

Lorsque je rends mon mesh, le fps est une stable de 130 ou plus.

Lorsque je l'ai mis dans une liste d'affichage, le fps tombe à un peu plus de 15.

Quand je prends les quelques commandes de matériel et de texturation, il remonte jusqu'à 130.

Pourquoi ce? Pourquoi l'état OpenGL change-t-il les commandes en appuyant sur FPS? Je pense que j'ai lu quelque part pas toujours, fais jamais ça.

+3

OS? Fournisseur d'implémentation OpenGL? – genpfault

+0

et aussi mettre ce que vous stockez exactement dans la liste d'affichage. – Bahbar

+0

Windows. Je ne sais pas. Rien que les commandes color/material et le code qui rend le modèle (vertex arrays). –

Répondre

1

L'erreur la plus fréquente consiste à placer la création de la liste d'affichage dans la boucle de rendu. Assurez-vous de créer la liste d'affichage quelque part pendant l'initialisation et de la restituer uniquement dans la boucle de rendu. En dehors de cela, vous aurez juste à poster un échantillon de code pour nous de regarder.

+0

Non, il est uniquement recréé lorsque le maillage est modifié. –

+0

Et ce problème est dans le passé. Je n'utilise même plus de DL. Merci pour la réponse si. –

+0

Bon homme. Je ne voulais pas le dire, mais les DL sont extrêmement primitifs. Il existe de bien meilleurs moyens de dessiner une géométrie complexe. :) – TheBuzzSaw