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

Flex Discussion :

Problème de performance


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 90
    Par défaut Problème de performance
    Bonjour tout le monde,

    Je suis sur un projet en Flex 4 et au début tout allait bien. Un jour le client est venu avec des change request et voulait non pas 100 composants, mais plus de 3000. On les as repartit en plusieurs tabulations mais le client en veut le moins possible.

    Sachant que le plus gros tab représente 3000 contrôle différents (textInput,radiobutton,form item, etc etc) sur une profondeur de 3 (Panel,Panel,Vgroup) et bien on arrive a des gros problèmes de performances. Creer les composants, ça va vite, mais les afficher....

    J'ai fais un petit PoC représentant plus ou moins la situation actuelle:

    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
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
        <fx:Declarations>
            <!-- Place non-visual elements (e.g., services, value objects) here -->
        </fx:Declarations>
     
        <fx:Script>
            <![CDATA[
                import mx.controls.TextInput;
     
                public function init():void{
     
                    //create lot of components
                    var MAX:int = 10000;
                    for(var i:int=0;i<MAX;i++){
     
                        //create new textInput
                        var textInput:TextInput = new TextInput();
                        panel2.addElement(textInput);
     
     
                    }
     
     
                }
     
            ]]>
        </fx:Script>
     
        <s:Panel id="panel">
            <s:Panel id="panel2">
                <s:layout>
                    <s:VerticalLayout/>
                </s:layout>
            </s:Panel>
        </s:Panel>
        <s:Button id="button" label="Create component" click="init()"/>
     
    </s:Application>
    Quand j’exécute ce code, ça prend environ 40sec (ce qui est pas loin de la réalité pour un des tab). Comment puis-je faire descendre ce temps de chargement à moins de 10sec?

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Bonjour,

    Pourquoi n'essaierais tu pas les itemRenderer et les composants associés tels que DataGroup par exemple. Je pense qu'ils sont bien plus optimisés que ta méthode.
    Voici quelques liens d'exemples pour Flex 4 :
    http://coenraets.org/blog/2010/02/mo...derer-samples/
    http://help.adobe.com/en_US/flex/usi...a597-8000.html
    http://coenraets.org/blog/2010/01/co...asy-in-flex-4/

    ++

    Ellène

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 90
    Par défaut
    Citation Envoyé par ellene Voir le message
    Bonjour,

    Pourquoi n'essaierais tu pas les itemRenderer et les composants associés tels que DataGroup par exemple. Je pense qu'ils sont bien plus optimisés que ta méthode.
    Voici quelques liens d'exemples pour Flex 4 :
    http://coenraets.org/blog/2010/02/mo...derer-samples/
    http://help.adobe.com/en_US/flex/usi...a597-8000.html
    http://coenraets.org/blog/2010/01/co...asy-in-flex-4/

    ++

    Ellène
    Yep ! C'est la solution que j'ai trouvé en fouillant un peu sur le net, ça a l'air de marcher, mais ça complique un peu d'autres choses de l'application.

Discussions similaires

  1. Problème de performance avec LEFT OUTER JOIN
    Par jgfa9 dans le forum Requêtes
    Réponses: 6
    Dernier message: 17/07/2005, 13h17
  2. [jeu]problème de performance d'un algo
    Par le Daoud dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 30/05/2005, 16h07
  3. [C#] Probléme de performance avec IsDbNull
    Par jab dans le forum Windows Forms
    Réponses: 8
    Dernier message: 04/04/2005, 11h39
  4. [oracle 9i][Workbench]Problème de performance
    Par nuke_y dans le forum Oracle
    Réponses: 6
    Dernier message: 03/02/2005, 17h38
  5. [ POSTGRESQL ] Problème de performance
    Par Djouls64 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 26/05/2003, 16h18

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