2010-11-26 4 views
3

Je suis aux prises avec un problème d'arrachement dans mon application OpenGL.Intel GMA 4500HD et vsync

Je n'arrive pas à trouver un pilote pour le GMA 4500HD (dans mon cas fonctionnant sur un Thinkpad x200s) qui supporte l'extension opengl WGL_EXT_swap_control.

Actuellement, j'ai le pilote 8.15.10.2182 installé, ce qui est selon moi le dernier.

J'ai défini le paramètre "Vertical sync" dans la fenêtre de contrôle du pilote, mais il semble ne rien faire. Est-ce que je dois vivre avec le problème de déchirure, ou est-ce que je peux faire quelque chose pour que l'échange de tampon se produise sur vsync sans l'extension WGL_EXT_swap_control? Edit: J'ai remarqué qu'une application de démonstration utilisant Direct3d (11) ne souffre pas de déchirure sur le même type de matériel.

+0

Vous devriez nous en dire un peu plus sur votre code de rendu actuel. Utilisez-vous glFlush/glFinish avant votre appel swapBuffers()? Si oui, avez-vous essayé de laisser ces appels? Si non, avez-vous essayé de les mettre (j/k, ne pas)? –

+0

Jusqu'à présent, c'est très simple, il suffit d'ajouter les primitives, puis faire swapbuffers(), je suppose que le déchirement est plus visible depuis que je rends les carreaux qui défilent sur l'écran verticalement. – ROAR

Répondre

0

Existe-t-il un paramètre permettant d'activer VSync dans le panneau de commande du pilote?
Souvent, vous devez activer les fonctionnalités avant que opengl puisse les voir.

+0

Oui, c'est un paramètre appelé "synchronisation verticale" qui a deux options "on" et "application", pour être honnête, je ne sais pas vraiment si cela vaut pour Opengl ou Direct3D ou les deux ... – ROAR