GLFW écran noir (si multi thread) - C++ - Programmation
Marsh Posté le 31-12-2016 à 19:05:17
c'est xorg derrière ? Il gère très mal le multithreading. Il me semble également qu'opengl est pas trop prévu pour faire du multithreading ( notamment le contexte opengl partagé entre thread ).
Marsh Posté le 02-01-2017 à 08:21:40
Oui en effet c'est du xorg.
Bon je vais initialiser tout ça autrement pour que tout soit dans le thread d'affichage.
Merci.
Marsh Posté le 31-12-2016 à 13:07:49
Bonjour,
J'ai un bout de code qui utilise GLFW et glew pour afficher de la 3D dans une
fenêtre. Honnêtement j'ai un peu copié/collé l'init pour pouvoir me concentrer
sur la partie opengl.
Mon code fonctionne très bien sur 2 machines différentes mais pas sur une
troisième. J'ai une distribution Archlinux à jour sur les 3 machines (donc
normalement tout pareil). La seule différence est que la 3ème possède une carte
graphique nvidia alors que les autres utilisent un chipset intégré intel.
Voici l'init:
Et le thread d'affichage:
Tout fonctionne bien sur les 2 premières machines mais sur la 3ème j'ai un
simple écran noir. À noter que la fonction titre() fonctionne tout de même (elle
affiche les fps dans la barre de titre).
Si je remplace:
Par:
L'affichage fonctionne. Sauf que bien sûr je n'ai plus la main...
J'en déduis donc qu'il y a un problème avec le multithreading mais pourquoi sur
une seule machine? Et comment résoudre ça?
Merci.
---------------
deluser --remove-home ptitchep