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

AWT/Swing Java Discussion :

Performance application Swing


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Performance application Swing
    Bonjour,

    Je travaille actuellement sur une application (une applet plus exactement) et j'ai quelques soucis au niveau de la réactivité de mes écrans.

    Pour donner un peu plus d'explications, lorsqu'une action est lancée via le menu, j'instancie les panels nécessaires et ceux ci défileront les uns à la suite des autres (utilisation d'un cardLayout).
    Donc en fait, lors de l'action tout est instancié en même temps et beaucoup de panels comportent des images (entre 1 et 5 ko).

    Comment puis-je améliorer l'application en terme de performances ? Est ce que le problème vient du chargement des images (et dans ce cas il faudrait que je les charge toutes en mémoire dés le lancement de l'appli) ou de l'instanciation des Jpanels ?

    J'avais pensé à instancier chacun des panels au démarrage et à n'utiliser qu'une seule instance par la suite mais je ne sais pas trop si c'est une bonne idée en terme de conception...

    Merci pour votre aide!

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Le chargement des images doit être réalisé dans un thread en background afin de ne pas bloquer le Thread UI.

    Cf http://gfx.developpez.com/tutoriel/j...ing-threading/

  3. #3
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut
    Bonjour,

    pour déterminer si le problème vient du chargement des images, il suffit de faire tourner votre appli en local, avec vos images placées sur le disque dur.
    Si l'application réagit rapidement (5 kO, c'est de la rigolade au niveau du disque dur), alors cela signifie que l'application est opérationnelle.

    Si l'application est "lente" lorsque les fichiers sont issus du site distant, c'est que l'application est ralentie par le temps d'attente des téléchargements.

    C'est probablement le cas, il faut donc pré-télécharger les (ou une partie) des fichiers afin d'accélérer les réponses aux demandes.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    il serait bien aussi de ne charger que les images visibles si vous en avez beaucoup

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2009
    Messages : 76
    Par défaut
    Bonjour,

    Regarde dans le livre "Swing la synthèse" que tu peux télécharger ici :
    http://www.developpez.net/forums/d83...itement-ligne/
    au chapitre 7: Concepts avancés , ils abordent des concepts tels que parallélisme, tests et multifenêtrage.

    J'ai vu aussi que tu utilise "cardLayout", j'ai lu dans le livre (Au coeur de Java 2 volume 1 - Notions fondamentales) que j'ai télécharger sur ce lien:
    http://learninformatique.blogspot.co...rce-des-2.html
    la citation suivante:"....Enfin, un gestionnaire CardLayout était utilisé dans l’ensemble AWT d’origine pour produire des boîtes de dialogue avec onglets. Puisque Swing possède un conteneur avec onglets plus performant (appelé JTabbedPane), nous....."

  6. #6
    Invité
    Invité(e)
    Par défaut
    Ok, merci bien pour vos réponses. Je vais me renseigner un peu plus sur les sujets évoqués et faire un mix de tout ça!

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

Discussions similaires

  1. Divers problèmes de performance sur une application Swing
    Par Julien Bodin dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 06/09/2010, 15h28
  2. Réponses: 10
    Dernier message: 16/03/2006, 11h31
  3. [Stratégie] Mise à jour application SWING
    Par chr_one dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 26/08/2005, 15h31
  4. [Info][Ecran Tactile]Application Swing
    Par Rampa dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 12/07/2005, 10h09
  5. [JDBC][ARCHITECTURE] application swing
    Par benssj5 dans le forum JDBC
    Réponses: 6
    Dernier message: 31/08/2004, 19h25

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