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
1054
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
3983
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