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

JavaFX Discussion :

Performances: trop de binding tue le binding


Sujet :

JavaFX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2009
    Messages : 24
    Par défaut Performances: trop de binding tue le binding
    Que faire quand ça commence à ramer??? God dammit.....
    Voici mon appli:


    (Dès qu'on drag & drop un objet, les fleches sont recalculées en temps réel pendant le déplacement)

    Merci.

    Thomas

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Février 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 284
    Par défaut
    Oui en effet le bind tu le binding

    pour éviter d'avoir recours au binding trop fréquemment utilise plutôt l'alternative suivante qui utilise une réference sur l'objet à modifier dynamiquement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    public class BindingKillBinding extends CustomNode {
     
        //utilisation du binding
        var binded: Number = 0;
        //sans utiliser le binding
        var notBinded: Rectangle;
        public override function create(): Node {
            return Group {
                onMousePressed: function( e: MouseEvent ):Void {
                    var tm = Timeline {
                        repeatCount: Timeline.INDEFINITE
                        keyFrames : [
                            KeyFrame {
                                time : 1s
                                canSkip : true
                                values : [
                                    binded => 50.0 tween Interpolator.LINEAR
                                    notBinded.x => 50.0 tween Interpolator.LINEAR
                                ]
     
                            }
                        ]
                    }
                    tm.playFromStart();
                }
     
                content: [
                    Rectangle {
                        x: bind binded
                        y: 10
                        width: 20
                        height: 20
                    }
                    notBinded = Rectangle {
                        y: 40
                        width: 20
                        height: 20
                    }
                ]
            };
        }
    }
    Si tu as affaire à beaucoup d'objets la méthode sans binding sera plus efficace.
    Note que les chez Sun c'est ce qu'ils préconisent mais il annoncent aussi une meilleur gestion du binding pour la version 1.5

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2009
    Messages : 24
    Par défaut
    Des infos sur quand sort la version 1.5?

    Sinon ta méthode montre un déplacement déjà défini, or j'ai besoin que les flèches suivent dynamiquement le composant qui est déplacé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    public class Fleche extends CustomNode{
     
    // les paramètres de l'objet
        public  var startXLine  :Number;
        public  var startYLine  :Number;
        public  var endXLine  :Number;
        public  var endYLine :Number;
    // coef grossissant de la flèche
        public var taille =30;
     
     
        public var a = bind Point2D{
            x:startXLine
            y:startYLine
        }
     
        public var b = bind Point2D{
            x:endXLine
            y:endYLine
        }
     
        var normeAB= bind a.distance(b);
     
        var vecteurAB = bind Point2D{
             x: b.x-a.x;
             y:b.y-a.y;
        }
     
    //etc...
    Je ne vois pas comment faire avec ton exemple...

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Aux alentours de la prochaine JavaOne (2-5 juin 2009) ?
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Février 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 284
    Par défaut
    Ouah, ton code est achement bindé, je comprends que ca finisse par ramer, alors voit ce qui est necessaire et ce qui peut etre recalculé lors d'un evenement, sinon envois un peu plus de code et ton gestionnaire d'affichage ou de deplacement, je pourrais plus t'aider, mais à mon avis ya pete pas mal de choses a rajouter
    A+

Discussions similaires

  1. [Spring MVC] taglib spring:bind qui ne binde pas
    Par Mohicane dans le forum Spring Web
    Réponses: 2
    Dernier message: 23/01/2008, 13h51
  2. trop de constantes tue la constante ?
    Par speedev dans le forum Langage
    Réponses: 2
    Dernier message: 05/01/2008, 16h13
  3. Trop de vue tue la vue ?
    Par elitost dans le forum Oracle
    Réponses: 4
    Dernier message: 09/07/2007, 10h51
  4. trops de thread tue le thread ;)
    Par Dr Boba dans le forum POSIX
    Réponses: 2
    Dernier message: 21/11/2005, 16h43
  5. Bind ou pas Bind?
    Par jonzuzu dans le forum MFC
    Réponses: 4
    Dernier message: 19/03/2004, 10h00

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