Performances .Net

draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010 - 1 avril 2006 à 14:26
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 2 avril 2006 à 19:21
Salut a tous,

voila je debute en .Net, et j'ai de gros soucis de performances...
sous vb6 si je fais:


For i = 0
To i2

Set Itm = ListView1.ListItems.Add , ,(MonTableau(i))
Itm.SubItems(1) = MonTableauB(i)

Next i

et que mon tableau contien environs 500 000 elements, j'en ai pour quelques secondes (20 max)

en vb.net si je fais


For i = 0
To i2
sfs = ListView1.Items.Add (MonTableau(i))
sfs.SubItems(0).Text = MonTableauB(i)

Next i

la je suis partis pour 3 heures!!
J'ai essayer avec For Each c'est pareil...

Eh svp dites moi que je m' y prends mal et que y a bcp plus rapide!

Merci d'avance
++

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...

1 réponse

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
2 avril 2006 à 19:21
Salut,

Je pense que cela vient des evenements graphiques.

Méthode 1 : Méthode propre
Utilise
ListView1.BeginUpdate()
ListView1.EndUpdate()

Autour de ta boucle.

Regarde le résultat.

Méthode 2 : Méthode sale

Utilise
ListView1.visible = false
ListView1.visible = true
autour de ta boucle

Ensuite donne les résultats sur le forum, et cela peux intéressé du monde.
Je pense que la méthode 2 moins rapide que la 1.

J'attends les résultats ?

Bon courage
0
Rejoignez-nous