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

2D Java Discussion :

Optimiser l'affichage


Sujet :

2D Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 135
    Par défaut Optimiser l'affichage
    Bonsoir

    Je voudrais savoir quelle méthode entre le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JPanel.setBackground(new Color(255,255,255,0))
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        public void paintComponent(Graphics g){
            super.paintComponent(g);    
            g.drawImage(new ImageIcon(System.getProperty("user.dir")+"\\images\\fond2parties.jpg").getImage(),0,0,null);
        }
    l
    est la plus rapide?

    et pourquoi le fait d'ajouter une ligne du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JBouton.setBackground(new Color(255,255,255,0))
    fait ramer mon appli avec un CPU a 96%?

    Merki

    Loic

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 128
    Par défaut
    Je dirais que ça dépend essentiellement de ce que tu souhaites faire.... La première méthode donne une couleur de fond uniforme à tout ton coposant. La deuxième dessine dessus une image. Tu est bien d'accord que l'effet n'est pas le même....
    Après, si tu recherches uniquement la rapidité, c'est surement la première qui est la plus rapide - la deuxieme obligera le systeme non seulement à dessiner quelque chose sur ton composant, mais en plus de chercher le fichier image sur le disque et en extraire l'objet Image. Mais une fois de plus, c'est difficile de comparer deux actions complètement différentes....
    Ensuite, en ce qui concerne ton problème de CPU à 96%, tu as peut etre une boucle infinie quelque part (dans le genre une méthode qui déclenche un évenement, qui lui déclenche de nouveau la même méthode et ainsi de suite).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 135
    Par défaut
    la boucle infinie est due bizarrement à une .setBackgound avec un alpha à 0% Je trouve ça inexplicable car si je met un setBackground avec n'importe quelle couleur il n'y a aucun problème...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 128
    Par défaut
    Ca peut avoir une explication... alpha=0, ça veut dire 100% transparent. Peut etre qu'à ce moment un paint du composant en dessous en appelé...
    Mais bon, c'est quand même bizarre comme bug.

  5. #5
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Rajoute un appel a setOpaque(false) sur ton bouton pour régler le problème de CPU.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 135
    Par défaut
    merki ça marche !

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 08/12/2006, 00h01
  2. [C# .NET 1.1] Optimiser l'affichage
    Par mow dans le forum Windows Forms
    Réponses: 1
    Dernier message: 28/09/2006, 10h58
  3. [C++ .Net 1.1] Comment optimiser l'affichage ?
    Par juliano_bipso dans le forum C#
    Réponses: 5
    Dernier message: 03/08/2006, 18h54
  4. Optimiser l'affichage d'un fichier XML de grosse taille...
    Par UnPeuPerdu dans le forum XML/XSL et SOAP
    Réponses: 11
    Dernier message: 03/06/2004, 16h01

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