[c#] Trage user interface objecten

Pagina: 1
Acties:

  • Bint
  • Registratie: Juli 2002
  • Laatst online: 12:09
In mijn applicatie die ik voor stage aan het maken ben, worden een aantal objecten in de UI gebruikt, die volgens mij erg traag zijn.

Waar ik veel meet te maken heb zijn de ListBox en PropertyGrid.
Ik denk ook wel dat ik mijn propertygrid fout gebruik, want ik gebruik em om data in te laten zien, die ik ongeveer 10x per seconden wil updaten.

Nu was ik wat performance testjes aan het doen, en kwam ik er dus achter dat het gewoon heel veel tijd scheelt als ik de logging uitzet (die wordt in een listbox gedisplayed), of als ik mijn info niet laat updaten(in de propertygrid)

bijvoorbeeld: als ik, op dezelde PC, mijn client en server zet, en op maximale snelheid laat communiceren, haal ik een snelheid van 3 seconden per 1000 items.

zet ik de update van die gegevens aan in het propertygrid, haal ik maar een snelheid van 6 tot 8 seconden per 1000 items.

Hebben hier meer mensen last van, en zijn er ergens andere controls die ik zou kunnen gebruiken?

Memories of yesterday, will grow, but never die


  • whoami
  • Registratie: December 2000
  • Laatst online: 14:00
Kijk eens naar de BeginUpdate() en EndUpdate() methods van de ListBox, en evt naar de AddRange method (als je die nog niet gebruikt).

Ik denk ook dat je die PropertyGrid voor een verkeerd doel gebruikt, maar dat is moeilijk te zeggen, aangezien we niet weten watje daar eigenlijk precies in toont.

https://fgheysels.github.io/


  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

with stupid ^^

.. en we weten ook geen letter code. misschien doe je wel iets helemaal fout zonder dat je't weet...

ASSUME makes an ASS out of U and ME


  • Bint
  • Registratie: Juli 2002
  • Laatst online: 12:09
Die begin en endupdate gebruiken we gewoon. Dat gedeelte heb ik ook niet geschreven, maar onze expert hier, en die listview update is gewoon echt traag.

wat betreft de PropertyGrid:
we hebben een stuk hardware dat debug informatie beschikbaar stelt voor de buitenwereld. Dit zijn de variabelen, hun info (fixed point position, id, group ID en nog wat andere info) en eventueel de waarde. Normaal gesproken zetten we gewoon de waarde ervan op de analoge output, maar soms wil je van meerdere items de waarde zien. Nu heb ik een watchwindow gemaakt, waarin ik 10x een variabele kan zetten. de waarde hiervan is hun "property". wanneer waardes uit de lijst zijn binnengehaald, volgt er een refresh van de grid. Er is hier geen begin en endupdate functie voor.

Ik zei al: ik gebruik die propertygrid waarschijnlijk verkeerd, maar ik zou niet weten wat ik dan zou moeten gebruiken. En die propertygrid oogt ook wel mooi ;)

Memories of yesterday, will grow, but never die