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

Langage Java Discussion :

[Debutant] Optimisation d'une boucle


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 35
    Points : 28
    Points
    28
    Par défaut [Debutant] Optimisation d'une boucle
    Hello,

    Je dois faire subir un traitement à chaque pixel de l'ecran, pour appliqué ce traitement j'effecture un balayage point par point. Soit , pour un ecran 800 * 600 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for &#40;int largeur =0 ; largeur <800 ; largeur++&#41; &#123;
       for &#40;int hauteur = ; hauteur < 600 ; hauteur ++&#41; &#123;
    ....
    traitement
    ....
        &#125;
    &#125;
    seulement probleme cela rame, et le traitement (sans rien faire juste balayer) est trop long. Comment puis je optimisé cette boucle ?

    merci

  2. #2
    Membre éclairé
    Avatar de divxdede
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 525
    Points : 844
    Points
    844
    Par défaut
    800 * 600 = 480 000 itérations

    si tu dois parcourir tous les points, le minimum sera obligatoirement de 480 000 iterations

    donc tu ne peux rien faire de mieux au niveau code

    Si tu dois faire une amélioration c'est au niveau de ton algo par exemple en l'adaptant de facon a ne plus avoir besoin de parcourir tous les points.

    et d'ameliorer l'efficacité de ton traitement.

    admettons que tu gagnes 1ms de traitement dans ton "traitement"
    a la fin tu gagnes 8 minutes sur un ecran 800*600
    JBusyComponent, une API pour rendre occupé un composant swing.
    SCJP Java 6.0 (90% pass score)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 48
    Points : 59
    Points
    59
    Par défaut
    Salut,

    tu peux voir si en plaçant tes variables à 800 et 600, les décrémenter et les comparer ensuite avec 0 tu gagnes du temps. Théoriquement, une comparaison avec 0 est plus rapide qu'avec un autre chiffre mais dans ton cas, je suppose que c'est surtout ton traitement qui prend du temps.

    Dans ton traitement remplace toute création d'objet/variable par une mise à jour d'une existante ou par un clônage.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 35
    Points : 28
    Points
    28
    Par défaut
    Ok , merci pour vos réponses.

    Je vais tacher d'optimiser mon traitement et surtout de voir si je peux limiter le nombre d'itération à faire.

    merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Optimisation d'une boucle
    Par habasque dans le forum R
    Réponses: 2
    Dernier message: 12/11/2009, 20h55
  2. Optimisation d'une boucle for
    Par Vorlane dans le forum MATLAB
    Réponses: 0
    Dernier message: 07/07/2009, 12h36
  3. Optimisation d'une boucle
    Par ccobaye dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/08/2008, 09h28
  4. Debutant: Optimisation d'une bdd !
    Par [DreaMs] dans le forum Débuter
    Réponses: 2
    Dernier message: 07/07/2006, 06h16
  5. [DEBUTANT] sortir d'une boucle avec un touche particulière
    Par thibouille dans le forum Débuter
    Réponses: 4
    Dernier message: 25/10/2005, 07h44

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