Accueil > Forum > > > > SDL : Affichage en multi thread ?!
SDL : Affichage en multi thread ?!
samedi 17 décembre 2005 à 12:17:57 |
SDL : Affichage en multi thread ?!

ctx_man
|
Bonjour tout le monde, SDL me pose un problème. Je voudrait faire du multi thread afin de séparer ma gestion clavier de mon affichage. voila un exemple de code pour mieu expliquer mon problème.
#include <sdl.h> #include <sdl_thread.h>
int Display(void *unused);
int main(int argc, char *argv[]) { if(!SDL_Init(SDL_INIT_VIDEO)) { atexit(SDL_Quit); //Si je fais ca ici ma fenetre est creer et //afficher SDL_Surface *Screen = SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE);
//Par contre si je fais ca en multithread //comme ci-apres. Ma fenetre n'est pas creer //et encore moins afficher SDL_Thread *DisplayTh; DisplayTh= SDL_CreateThread(Display, NULL);
...
SDL_WaitThread(DisplayTh, NULL); } return 0; }
int Display(void *unused) { //Le programe reste figé ici SDL_Surface *Screen = SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE);
...
return 0; }
De plus, lorsque j'obtient ma fenetre, si elle perd le focus, il m'est impossible de le lui rendre...
Quelqu'un connait la réponse à ces problèmes ? Suis-je obliger de creer ma fenetre dans le programme principale ?
|
|
samedi 17 décembre 2005 à 17:41:44 |
Re : SDL : Affichage en multi thread ?!

luhtor
|
Des lors que tu fais du multi thread, tu as besoin de sémaphore or je
pense pas que tu t'en encore trop posé la question de ca :)
Si tu fais l'impasse, tu risques d'avoir des résultats un peu inattendu (de temps en temps !) ^^
Mais a part, ca je peux pas t'aider sur la SDL. Mais il me semble pas que créer deux threads pour faire ca, soit pertinent.
|
|
samedi 17 décembre 2005 à 18:16:28 |
Re : SDL : Affichage en multi thread ?!

ctx_man
|
Merci de répondre mais ...
1 - Multi-Tâche/Thread ne signifie pas sémaphore.... Les sémaphores permettent le partage de ressource sans qu'une tache modifie la ressource pendant qu'une autre s'en sert. Mes ressources ne sont pas partagées et n'ont pas d'interet à l'etre donc je n'ai pas besoin de sémaphore (pour le multi-tache/thread on peut aussi se servir de signaux plutot que de sémaphore ou tout autre systemes de communication comme les pipes ou les files de messages)
2 - Il est pertinent de séparer la gestion des evènement de l'affichage dans une autre tache afin que si l'on a un ralentissement de l'affichage on continue de gerer en "temps réelle" les evènement tels que le clavier et la souris. Ou inversement si on perd le clavier l'affichage ne se bloque pas pour autant... Il ne faut pas oublier que je n'ai mit qu'une portion du code. Je n'ai mit que ce qui concerne le thread d'affichage, mais je vais en avoir d'autre (en fait il y en a déjà d'autres), seulement le problème se situe uniquement sur ce thread.
|
|
samedi 17 décembre 2005 à 18:50:31 |
Re : SDL : Affichage en multi thread ?!

luhtor
|
Ben sémaphore quand meme :) Et multi tache implique sémaphore. Il se
passe quoi, si lorsque tu appuis sur la flèche avancer et que tu
modifies donc ta position ou ta vitesse ,et au meme moment, l'affichage
lit la valeur pour l'afficher ? Un sémaphore ne permet pas juste le
partage de ressource, mais dans ton cas, il s'agirait simplement
d'exclusion mutuelle.
Mais ceci dit, je suis sur de ce que je dis juste avant. Mais comme je
ne connais pas le système de pipe ou autre... Enfin une chose est sur,
ya du sémaphore dedans :)
Bon sinon, c'y connais rien a la SDL donc dsl ^^
|
|
samedi 17 décembre 2005 à 19:10:54 |
Re : SDL : Affichage en multi thread ?!

ctx_man
|
Pour le moment non il n'y a pas de sémaphore car le clavier n'agit en rien sur l'affichage. Mais effectivement il y aura plus tard ou un autre systeme de communication...
Le travail c'est la santé, ne rien faire c'est la préservé !!!
|
|
Cette discussion est classée dans : int, fenetre, affichage, thread, sdl
Répondre à ce message
Sujets en rapport avec ce message
Probleme, creation d'une class traitant sur SDL [ par kickbar ]
Bonjour a tous, voila j'ai un petit souci, dans l'un de mes methodes, je charge la fenetre principale, je colle une image, et la mystere, a l'executio
probleme thread/ SDL [ par ritchou42 ]
salut tout le monde [^^happy7] voila je suis entrain de coder un gros projet pour mon école et j'ai un probleme au niveau de se code [code=cpp] int
SDL et windows.h sous sygwin [ par agent933 ]
salut je travaille en ce moment sur un programme en langage.grosso modo jutilise le port serie pour recevoir donnees et ensuite utilise une interface
pb en C -> SDL et pointeur [ par snake57 ]
Bonjour, j'ai un petit problème avec un prog que je suis entrain de faire. C'est la première fois que j'utilse la SDL et les pointeurs donc je galère
Problème fenêtre SDL sous Linux [ par Neofabiensama ]
Bonjour,Je poste aujourd'hui car je suis à cours d'idée sur un problème de fenêtre SDL. Je travaille actuellement sur un projet de visualisation 2D d'
Table Ascii [ par Oxie666 ]
Hello, je suis tout nouveau ici (et forcement méga débutant) et j'ai une question :J'ai écrit un petit programme afin d'avoir sous la main une table a
Copier contenu d'une fenetre dans un bmp [ par hwoarang ]
Bonjour, Je ne suis pas un expert dans la prog windows donc j'ai recupéré un bout de code qui permet de faire une capture d'ecran et qui marche. Seul
petit probleme SDL [ par DarthKhaos ]
Bonjour, voila j'ai un petit souci, j'ai un projet ou je dois faire bouger un bras robotisé aprés plusieur test sa marche a merveille, en selectionnan
Probleme morpion en SDL c++ [ par juju116 ]
Salut tout le monde! j'expose donc mon souci pour l'instant mon programme affiche une image en fond d'ecran et bizarement cette image est bien chargé
affichage sdl [ par korin221 ]
Bonjour! Je réaliser un jeu de UNO en C. J'ai un probleme lors du chargement de la main d'un joueur, soit les 7 cartes. J'affiche mes 7 cartes mais il
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|