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

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

    Informations forums :
    Inscription : avril 2005
    Messages : 884
    Points : 376
    Points
    376

    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 chevronné
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    janvier 2011
    Messages
    608
    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 : 608
    Points : 2 043
    Points
    2 043

    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.
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

  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 179
    Points
    4 179

    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
    26 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : septembre 2005
    Messages : 26 964
    Points : 39 977
    Points
    39 977

    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?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/11/2008, 10h27
  2. Gestion d'un buffer dans une classe DataStream
    Par Kromagg dans le forum C++
    Réponses: 16
    Dernier message: 22/10/2008, 18h05
  3. [Upload] Gestion de l'upload des images
    Par rantanplan08 dans le forum Fichiers
    Réponses: 5
    Dernier message: 17/08/2008, 11h32
  4. BUFFER D'IMAGE RGB
    Par aziatedu13 dans le forum Traitement d'images
    Réponses: 12
    Dernier message: 27/11/2007, 16h06
  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, 12h08

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