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

Qt Discussion :

QList vs List de STL


Sujet :

Qt

  1. #21
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    La différence entre debug et release est de 30%...

  2. #22
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Donc, ce n'est pas le at ou [] qui pose problème. C'est ton algo en lui même qu'il faut optimiser. La mesure est biaisé par un grand nombre d'appel a ces méthodes en debug.
    Il fait quoi ton algo?

  3. #23
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    Comme dit plus haut. C'est les déplacment joueur.
    Quand le joueur X bouge, l'info est transmise aux joueur prêt de lui. Et si un joueur prêt de lui bouge, l'info lui est transmise. Alors si tout le monde bouge...

    EDIT: Avec QHash j'ai 50% de performance en plus!Je me suis apperçu tardivement qu'il supporté de multiple vableur pour la même clef, je vais donc tout refaire...

  4. #24
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    Voila avec la multi-implementation:
    http://pastebin.com/6kHh5wen
    Il fait un segfaultne version C (macro POKECRAFT_SERVER_MAP_MANAGEMENT_LIST_TYPE_C_MALLOC), pas moyen de comprendre pourquoi.
    Et la version C++/STL me bloque sur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ../pokecraft-server-gui-2/pokecraft-server/ClientMapManagement.cpp:521:50: error: no match for 'operator[]' in '((ClientMapManagement*)this)->ClientMapManagement::to_send_map_management_move[((ClientMapManagement*)this)->ClientMapManagement::moveClient_index]'

  5. #25
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Peux tu expliquer le contexte de ton jeux?

  6. #26
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    mmorpg, 2D tiled, type pokemon...

  7. #27
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par alpha_one_x86 Voir le message
    mmorpg, 2D tiled, type pokemon...
    Pourquoi ne pas utiliser un tableau 2D?
    Pour savoir si un joueur est à côté il suffira de regarder dans le tableau.

  8. #28
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par yan Voir le message
    Pourquoi ne pas utiliser une tableau 2D?
    Pour savoir si un joueur et à côté il suffira de regarder dans le tableau.
    Rapport avec le probléme?
    1) j'ai utilisé un algo plus efficace qui n'utilise pas de float (j'ai découpé en sous map), et pour une map de 100 000 par 100 000 ça fait 10Go de ram si je compte 8Bits (1octect) par case, j'ai prévu un algo plus évoluer plus tard
    2) le problème ce situe sur la répartition des déplacements entres tout les joueurs, pas sur la détection de la proximité, j'aimerai calculer 1000 joueurs qui ce vois, ça ferai environs 33 000 joueur supporté à 30 joueur par sous map.

  9. #29
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    Aprés teste: QHash = C = C++/STL, soit beaucoup moins de cpu que QList
    C'est quoi l'équivalent de QList en STL, car vector ne permet pas la suppression d'une entrée à un index.

  10. #30
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par alpha_one_x86 Voir le message
    Aprés teste: QHash = C = C++/STL, soit beaucoup moins de cpu que QList
    c'est a dire ?
    Citation Envoyé par alpha_one_x86 Voir le message
    C'est quoi l'équivalent de QList en STL, car vector ne permet pas la suppression d'une entrée à un index.
    Si tu as testé avec d'autre conteneur, pourquoi utiliser QList??

  11. #31
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    16% du cpu pour mon implementation en QHash
    20% pour l'implémentation en C/C++
    33% en QList

    J'ai tester avec un certain nombre de container, QList n'est que l'implementation de base que j'ai faite.

  12. #32
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par alpha_one_x86 Voir le message
    16% du cpu pour mon implementation en QHash
    20% pour l'implémentation en C/C++
    33% en QList

    J'ai tester avec un certain nombre de container, QList n'est que l'implementation de base que j'ai faite.
    Si QHash correspond mieux à tes besoins, pourquoi vouloir continuer avec QList?

  13. #33
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    J'ai justement supprimé la QList.

Discussions similaires

  1. Heriter le type list de la STL
    Par mathher dans le forum SL & STL
    Réponses: 13
    Dernier message: 28/03/2006, 23h48
  2. list de la STL
    Par Bethoring dans le forum SL & STL
    Réponses: 2
    Dernier message: 03/11/2005, 20h14
  3. Liste d'objets et STL
    Par thibouille dans le forum SL & STL
    Réponses: 2
    Dernier message: 23/10/2005, 17h41
  4. [STL]Problème itérateur avec list
    Par Fiquet dans le forum SL & STL
    Réponses: 7
    Dernier message: 03/10/2005, 17h54
  5. Utilisation de la classe List de STL avec wxWidgets
    Par aoyou dans le forum wxWidgets
    Réponses: 7
    Dernier message: 10/03/2005, 17h41

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