Salut tous le monde ,
SVP y'a t-il moyen de faire du calcul parallel ?, j'ai beaucoup de controls a afficher par code (par boucle) et qui prennent beaucoup beaucoup de temps a s'afficher (environ 15 jusqu'a 20sec).
merci de votre aide
Salut tous le monde ,
SVP y'a t-il moyen de faire du calcul parallel ?, j'ai beaucoup de controls a afficher par code (par boucle) et qui prennent beaucoup beaucoup de temps a s'afficher (environ 15 jusqu'a 20sec).
merci de votre aide
Si c'est pour afficher des contrôles je dirais non vu qu'il n'y a qu'un seul thread qui peut jouer avec les contrôles.
Tu affiches tous tes contrôles sur ta page en même temps ? Tu as pensé à faire un peu de virtualization ? Ou au moins cacher les contrôles qui ne sont pas dans la zone visible.
15 à 20 secondes pour afficher tes contrôles, cela me parait énorme.
As-tu essayé la virtualisation, comme le suggère Skyounet ? Sinon, c'est l'affichage des contrôles qui est lent ou la récupération des données ?
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
ok , je vais chercher sur la virtualisation .
maintenant je l'ai testé sur une autre machine et ça m'a pris 1min25sec () ,
au fait je developpe une application SIG et je dois afficher des controls de type Bouton par code ( je dois les afficher tous (environ 5000elements)).
question : peut-on appliquer la virtualisation sur tous les conteneurs ?
PS : Thomas ton blog est vraiment riche , je trouve souvent des solutions sur to blog ?![]()
si , je dois les afficher tous en meme temps .
j'essaie d'appliquer la virtualisation sur une listBox mais ça retourne une erreur :
mon code :La propriété Set 'System.Windows.Controls.VirtualizingStackPanel.IsVirtualizing' a levé une exception
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 <ListBox x:Name="ListLayer1" BorderBrush="{x:Null}" VirtualizingStackPanel.IsVirtualizing="True" > <ListBox.ItemTemplate> <sdk:HierarchicalDataTemplate> <StackPanel Orientation="Horizontal" > <CheckBox x:Name="ckbVisibility" Tag="{Binding NAME}" ToolTipService.ToolTip="Set the visibility of this Cell"/> <HyperlinkButton x:Name="txtLabel" Content="{Binding NAME, Mode=OneWay}" Margin="4,0,10,0" /> </StackPanel> </sdk:HierarchicalDataTemplate> </ListBox.ItemTemplate> </ListBox>
Partager