IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

SDL_BlitSurface dans un thread, est-ce possible ?


Sujet :

SDL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 10
    Par défaut SDL_BlitSurface dans un thread, est-ce possible ?
    Bonjour à tous,

    voilà je réalise un "jeu de la vie" en C avec SDL

    j'ai crée un thread séparé qui gère l'affichage de la carte d'identité des animaux lorsque l'on clique dessus.

    le thread se lance bien comme prévu (j'ai mis un printf), mais la surface n'apparait pas comme prévu.

    (alors que sans le thread ça fonctionnait (mais faisait ramer le jeu))

    donc est-il possible de bliter une surface dans un thread qui ne dispose pas de l'initialisation de la video de sdl (car j'ai cru lire que certaines fonctions de sdl ne pouvaient marcher que dans le même thread que SDL_Init(SDL_INIT_VIDEO))


    merci d'avance

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    Citation Envoyé par kashikai Voir le message
    donc est-il possible de bliter une surface dans un thread qui ne dispose pas de l'initialisation de la video de sdl (car j'ai cru lire que certaines fonctions de sdl ne pouvaient marcher que dans le même thread que SDL_Init(SDL_INIT_VIDEO))
    merci d'avance
    effectivement la doc de SDL indique qu'on ne peut pas utiliser la vidéo dans un thread différent du thread principal qui a crée les objets vidéos.

    Je pense qu'il faut appeler SDL_LockSurface:
    http://www.libsdl.org/cgi/docwiki.cgi/SDL_LockSurface

    Dans la doc de DirectDraw sur quoi s'appuie SDL sous Windows il est indiqué que 2 threads peuvent accéder à la même DirectDrawSurface avec Lock().

    Par contre faire du "blitting" c'est peut-être pas possible

  3. #3
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 10
    Par défaut
    merci beaucoup pour le lien et l'explication, je vais creuser de ce coté là

Discussions similaires

  1. Ajouter un JComponent dans un JPanel est ce possible?
    Par jlassiramzy dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 23/04/2007, 21h02
  2. recevoir des donnees php dans un swf est ce possible ?
    Par carmen256 dans le forum Flash
    Réponses: 2
    Dernier message: 09/02/2007, 14h57
  3. [C# 2.0]Une Image dans un toolTip ? Est ce possible
    Par vinsou___ dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/06/2006, 00h28
  4. Réponses: 21
    Dernier message: 16/05/2006, 07h56
  5. [VB5]Sélectionner du texte dans un label, est-ce possible?
    Par Silivrion dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 14/04/2006, 00h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo