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

SWT/JFace Java Discussion :

Performance et TableViewer


Sujet :

SWT/JFace Java

  1. #1
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut Performance et TableViewer
    Bonjour, je construit une tableViewer contenant énormément de données.

    Que la table soit longue a construire cela est normal,

    mais par contre lorsque je déplace la souris sur la table, ou que j'utilise la scroll, ça met beaucoup de temps.

    Quant je profile tout cela (yourkit), je vois que c'est PlatformUI.createAndRunWorkbench(Display display,
    WorkbenchAdvisor advisor) qui consomme le plus.

    Est ce que les tables swt sont limitées au niveau des perfs ?

    Merci d'avance.

  2. #2
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Est-ce que ton TableViewer fait du lazy-loading (avec le style SWT.VIRTUAL)? Ça pourrait améliorer tes performances.
    Tu as un exemple d'implémentation dans les snippets JFace.

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  3. #3
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    Merci,

    j'ai, entre temps, effectivement trouvé cette solution. Je suis en train d'essayer de la mettre en place.

    J'ai pourtant quelque exception encore, car j'ajoute bien plus tard les inputs dans le tableviewer, du coup quand je cherche, avant, à gérer ma class Sorter qui utilise viewer
    .getTable().getColumn(0).getText()
    , ça plante.

    J'ai essayé de mettre en place ce système, mais pas d'amélioration.
    toujours autant de lenteurs...

  4. #4
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    Est ce que ce systeme de lazy-loading est valable sur un grand nombre de colonnes et non un grand nombre de lignes ?

    Merci

  5. #5
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Non, le lazy-loading concerne le chargement des données... Après, si tu as des ralentissement à l'affichage des colonnes, il te faut peut-être revoir la façon dont tu gères tes colonnes. Tu peux passer par des TableViewerColumn et leur affecter à chacune un ColumnLabelProvider.
    Essaye peut-être aussi de revoir ton modèle objet qui est affiché. Peut-être que tu effectues des opérations à l'affichage qui devraient être faites à l'initialisation des données... Là, comme ça, c'est pas facile de t'aider plus
    Si tu peux, essaye de poster un exemple épuré de ton code.

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  6. #6
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    Bonjour,

    Je suis content de voir que vous vous leviez aussi tôt, pour répondre à mes questions.
    A moins que vous vous couchiez très tard.

    Effectivement j'utilise un LabelProvider sur la table.

    La construction est , en somme, toute basique. L'originalité, est que je me retrouve avec un nombre de colonnes faramineux. De plus j'ai remarqué que les headers de fin de table, ne sont pas affichés. Je suis de plus en plus en train de me dire que l'erreur est que les tableViewers sont limités. Que si on fait trop de colonnes on aura forcément des problèmes de performances.

    Ce qui en plus me pousse dans ce sens, c'est l'analyse des perfs avec Yourkit qui arrête le profilage dans du code SWT.

    Peut etre il faut que je revoie la construction des inputs.

    Merci

Discussions similaires

  1. [maintenance][performance] Que faire comme maintenance ?
    Par woodwai dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 06/11/2003, 15h39
  2. Performance xml
    Par MicKCanE dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 07/07/2003, 06h41
  3. [ POSTGRESQL ] Problème de performance
    Par Djouls64 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 26/05/2003, 16h18
  4. [JDBC][connexion persistante] performances avec JDBC
    Par nawac dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 06/05/2003, 10h37
  5. performance entre 3DS, ase, asc ...
    Par amaury pouly dans le forum OpenGL
    Réponses: 3
    Dernier message: 24/03/2003, 11h41

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