Problème de Thread

F0ra Messages postés 111 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 29 décembre 2008 - 21 févr. 2008 à 23:09
F0ra Messages postés 111 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 29 décembre 2008 - 24 févr. 2008 à 17:19
bonjour
je réalise une application en openGl, et j'ai besoin d'un Thread
pourquoi mon Thread ne s'exécute pas ?
merci beaucoup
@+

#include "main.h"
DWORD WINAPI Sample_TonThread(LPVOID param)
.....
void main()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
....
HANDLE hThread = 0;
DWORD idThread = 0;
hThread = CreateThread( NULL, 0, Sample_TonThread, NULL, 0, &idThread );
.....
SwapBuffers(g_hDC);
}

DWORD WINAPI Sample_TonThread(LPVOID param)
{
for (;; )
{
Draw_Box(); // box en OpenGl
Sleep(100);
}
return 0;
}

5 réponses

Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
21 févr. 2008 à 23:48
Salut

Chez moi pas de probleme d'execution du thread.
Je ne sais pas si c'est ce code que tu compiles mais il faut que tu saches que si le thread principale s'arrete, le thread créer s'arrete aussi.

voila le code que j'ai compiler
#include "windows.h"

DWORD WINAPI Sample_TonThread(LPVOID param);

void main()
{

HANDLE hThread = 0;
DWORD idThread = 0;
hThread = CreateThread( NULL, 0, Sample_TonThread, NULL, 0, &idThread );
for(;;);      //boucle infinie dans le thread principal

}

DWORD WINAPI Sample_TonThread(LPVOID param)
{
for (;; )
{

Sleep(100);      //la tu places un point d'arret.
}
return 0;
}

A+
Mon site internet : http://pistol.petesampras.free.fr
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
23 févr. 2008 à 10:22
Regarde CreateEvent, SetEvent, WaitForSingleObject
_______________________________________________________________________
VB.NETis good ...VB6is better
0
F0ra Messages postés 111 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 29 décembre 2008
23 févr. 2008 à 18:49
Merci bien
Ghuysmans99, tu donnes toujours les même réponses quand une personne a des problèmes avec les Thread lol.
@+
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
24 févr. 2008 à 16:03
Salut,

Faudrait voir ce que fais le thread principal apres le CreateThread(), et ce qu'il y a dans DrawBox().

A mon avis, le thread principal crée la fenetre opengl, et tu ne
traites pas les messages de la fenetre, donc dès que tu essayes de
dessiner quelque chose depuis un autre thread, ça bloque et tu as
l'impression que le thread ne s'execute pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
F0ra Messages postés 111 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 29 décembre 2008
24 févr. 2008 à 17:19
merci,
Je réalise un jeu et la  petite carte comprend 200x200= 40000 (QUARANTE MILLE)  losanges et ça ralentie considérablement le jeu.

http://swo.aceboard.fr/302024-276-2594-0-Editeur.htm

je me pose des questions :
Comment faire pour ne pas saturer le BUS.
Je pensais utiliser un Theard pour le multitâche quoi, et je ne suis plus sur.

Tous les jeux de stratégie qui tourne même sur des vieux Pc, il y a une petite carte.
Comment ils ont fait ?
0
Rejoignez-nous