Partage
  • Partager sur Facebook
  • Partager sur Twitter

SDL2 afficher un texte plus vite

    19 mai 2016 à 0:32:58

    bonjour,

    voila je debute en programmation,

    il me semble que l instruction SDL_CreateTextureFromSurface est longue,

    or si on affiche un texte avec SDL_ttf il faut d abord creer une surface, puis pour l afficher creer une texture, d ou ralentissement sur un jeu de tir par exemple, et j aurais voulu savoir comment ameliorer la vitesse, j ai ebaucher ce code mais ça ne marche pas !

    void print(char *texte,int c,int l,Uint8 r,Uint8 v,Uint8 b )
    {   SDL_Surface *surface;
        SDL_Texture *texture_texte;
        SDL_Color color={r,v,b};
        texture_texte=SDL_CreateTexture(render,SDL_PIXELFORMAT_RGBA8888,SDL_TEXTUREACCESS_STREAMING,300,50);
        surface=TTF_RenderText_Solid(police,texte,color);
    
        SDL_Rect taille={0,0,300,50};
        SDL_Rect coord={c,l,surface->w,surface->h};
        SDL_UpdateTexture(texture_texte,&taille,surface->pixels,surface->pitch);
      //  texture_texte=SDL_CreateTextureFromSurface(render,surface);
    
        SDL_RenderCopy(render,texture_texte,&taille,&coord);
        SDL_FreeSurface(surface);
        SDL_DestroyTexture(texture_texte);
    
    }
    

    l idee etant de creer une fois pour toutes texture_texte en variable globale dans la version finale, et de l utiliser avec differents texte avec un clean_up et une simple mise a jour.

    actuellement a la place du texte il s affiche un rectangle de 300,50 plein de pixels multicolores... (:

    merci d avance.

    • Partager sur Facebook
    • Partager sur Twitter
      19 mai 2016 à 7:59:16

      Pourquoi ne poste tu pas sur le forum C du site? Tu aura plus facilement des informations ;)
      • Partager sur Facebook
      • Partager sur Twitter

      Architecte logiciel - Software craftsmanship convaincu.

      SDL2 afficher un texte plus vite

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown