Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Deux threads différents travaillant sur la même fenêtre, possible ?  (Lu 2539 fois)

0 Membres et 1 Invité sur ce sujet

Alahakan

  • Newbie
  • *
  • Messages: 8
    • Voir le profil
    • E-mail
Bonsoir, voici un bout de mon code :

sf::Thread affTitreThread(std::bind(&afficherTitre, text, window));
window->setActive(false);
affTitreThread.launch();
affTitreThread.wait();
window->setActive(true);

C'est la seule façon que j'ai trouvé pour que ma fonction afficherTitre s'exécute correctement dans un thread, puisque si j'ai bien compris il faut donner la main sur la fenêtre au thread pour qu'il bosse dessus, et reprendre la main sur celle ci pour continuer le code, mais du coup comment on peut faire pour par exemple avoir un thread qui s'occupe de charger des ressources pendant que notre main thread continue le jeu ?

Parce que dans cet exemple mon Thread affiche le titre du jeu (de manière travaillée, la petite animation dure environ 5 secondes), et je voudrais profiter de ce temps pour charger les ressources du début du jeu, sauf que les deux thread travaillent sur la même fenêtre et ça pose problème, sauf que du coup pour cet exemple si je ne peux pas bosser sur la même fenêtre à deux endroits en même temps je ne vois pas l'utilité de faire un thread, bref je viens vous demander quelques éclaircissement s'il vous plaît :)

Merci d'avoir lu et merci d'avance pour votre aide !
J'espère avoir été clair et précis

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Deux threads différents travaillant sur la même fenêtre, possible ?
« Réponse #1 le: Janvier 31, 2015, 09:29:31 pm »
Je pense que tu compliques les choses pour rien. Tu n'as pas besoin de ta fenêtre pour charger des ressources, SFML sait très bien se débrouiller. Donc tu peux afficher ton animation de titre dans le thread principal tout en chargeant des textures dans un thread secondaire, tu n'as rien besoin de faire en particulier.
Laurent Gomila - SFML developer

Alahakan

  • Newbie
  • *
  • Messages: 8
    • Voir le profil
    • E-mail
Re : Deux threads différents travaillant sur la même fenêtre, possible ?
« Réponse #2 le: Janvier 31, 2015, 10:10:49 pm »
D'accord, donc techniquement je n'ai jamais à passer ma fenêtre dans un thread ?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Deux threads différents travaillant sur la même fenêtre, possible ?
« Réponse #3 le: Janvier 31, 2015, 10:29:44 pm »
Non, tu n'as besoin de la fenêtre que si tu veux dessiner dessus.
Laurent Gomila - SFML developer

Alahakan

  • Newbie
  • *
  • Messages: 8
    • Voir le profil
    • E-mail
Re : Deux threads différents travaillant sur la même fenêtre, possible ?
« Réponse #4 le: Janvier 31, 2015, 10:43:17 pm »
D'accord, c'était donc un problème de réflexion et d'approche logique, merci à toi, bonne soirée ! :)