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

C++/CLI Discussion :

Gestion d'un buffer d'images


Sujet :

C++/CLI

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    907
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 907
    Points : 372
    Points
    372
    Par défaut Gestion d'un buffer d'images
    Bonjour,

    Je veux faire un buffer de 200 images.
    Quand on ajouter une image elle vient se mettre au début du buffer et on décale toutes les autres d'une position vers la fin. Et la dernière est effacée.

    Mais le problème est que la copie des images tout le long du buffer prend du temps.

    Existe il une structure STL pour éviter de faire les déplacements des images?
    Merci,
    Christophe

  2. #2
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 718
    Points : 2 379
    Points
    2 379
    Par défaut
    Bonjour.

    Ton approche est en effet très lente, puisque l'ajout d'une image n'a pas une complexité constante et implique énormément de copies et d'opérations en mémoire.

    Je vois deux conteneurs plus appropriés :
    La liste doublement chaînée (std::list), où l'ajout et la suppression d'éléments sont très simples, au détriment de l'accès à un élément qui est plus lent (il n'est plus direct).
    La queue (std::queue), qui peut être intéressante si tu n'as besoin d'accéder qu'à la première ou à la dernière image seulement.

  3. #3
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Ton problème n'est pas lié au fait que tu manipules des images, simplement d'importantes quantités de données. Il se trouve qu'une image nécessite justement une grande quantité de données pour sa représentation.

    Je vais faire court : pourquoi ajoutes-tu les nouveaux éléments en début, plutôt qu'en fin de liste ?

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 589
    Points
    41 589
    Par défaut
    Si tu veux faire une liste FIFO dont tu connais déjà la longueur maximale, pourquoi ne pas l'implémenter bêtement sous forme d'un buffer circulaire?

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/11/2008, 11h27
  2. Gestion d'un buffer dans une classe DataStream
    Par Kromagg dans le forum C++
    Réponses: 16
    Dernier message: 22/10/2008, 19h05
  3. [Upload] Gestion de l'upload des images
    Par rantanplan08 dans le forum Langage
    Réponses: 5
    Dernier message: 17/08/2008, 12h32
  4. BUFFER D'IMAGE RGB
    Par aziatedu13 dans le forum Traitement d'images
    Réponses: 12
    Dernier message: 27/11/2007, 17h06
  5. Quel langage pour gestion du son et des images en 3 dimensions ?
    Par christian123 dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 08/10/2007, 13h08

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