Forum de la communauté SFML

Aide => Graphique => Discussion démarrée par: Nolimitee le Mars 10, 2019, 05:40:25 pm

Titre: sf::Texture et les threads
Posté par: Nolimitee le Mars 10, 2019, 05:40:25 pm
Bonjour à tous,

J'aimerais être sûr d'une chose concernant les relations qu'il peut y avoir entre un sf::Texture et les threads.

J'ai lu dans quelques postes (très datés) de ce forum qu'il était préférable, dans le cas où on voudrait charger une texture dans un thread, de la charger en passant dans un premier temps par un sf::Image::LoadFromFile dans le thread, puis de faire un sf::Texture::loadFromImage depuis le main thread. Est-ce toujours le cas avec la 2.5.1 ?

J'avais essayé de charger des textures directement dans un thread mais de temps en temps mon programme crashé sur le loadFromFile. Pourtant, quand je regarde le code sur votre github il me semble que cela devrait fonctionner. (Pendant que je charge les textures, j'ai un écran de chargement qui affiche des trucs, peut-être pour ça ?)

Merci
Titre: Re: sf::Texture et les threads
Posté par: Laurent le Mars 10, 2019, 06:53:17 pm
En effet, il vaut mieux concentrer tous les appels qui concernent la couche graphique (OpenGL) dans un même thread. Cela n'a rien à voir avec SFML, c'est dû à la conception même d'OpenGL.

Ceci sera de moins en moins vrai avec les nouvelles APIs graphiques telles que Vulkan (que SFML pourra sans doute un jour exploiter).
Titre: Re: sf::Texture et les threads
Posté par: Nolimitee le Mars 14, 2019, 08:57:23 pm
Ok top merci de ta réponse  :)