Multithreading et opengl

cs_hdi Messages postés 1 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 15 janvier 2003 - 15 janv. 2003 à 12:00
ngryman Messages postés 19 Date d'inscription samedi 20 octobre 2001 Statut Membre Dernière intervention 2 avril 2004 - 28 janv. 2003 à 01:40
je doit realiser une simulation avec un affichage 3D (opengl ou open inventor), pour cela je vais realiser deux threads, un qui s'occupe des calcul pour la simul et l'autre s'occupe de l'affichage, j'ai quelques notion de synchronisation entre threads (mutex, semaphore,event) mais je ne sais pas exactement comment les utiliser, détaille important: la simulation tourne a 100 Hz et l'affichage bien sure a 30 hz, en gros la parite simulation retourne des position et la parite affichage prend ces position pour les afficher.

1 réponse

ngryman Messages postés 19 Date d'inscription samedi 20 octobre 2001 Statut Membre Dernière intervention 2 avril 2004
28 janv. 2003 à 01:40
Sans vouloir casser ta façon de voir les choses, deux threads pr la 3D, très mauvaise idée !!
Ca te fait baisser considérablement les performances, et en plus si tes calculs sont faits ds un thread et que tu t'en sert dans un autre, tu vas avoir de gros problèmes de synchronisation, imagine que la partie affichage accède aux données étant en train d'être calculée -> bug.
Je te conseille fortement de faire tt ça ds un seul thread.
Si tu as vraiment des calculs très lourds à faire, étale-les sur plusieurs frames en prenant le temps en rab pour faire les calculs essayant de tjs garder à peu près 30 fps.

Voilà mes conseils ;-)
Nico
0
Rejoignez-nous