[C#] TabControl is traag

Pagina: 1
Acties:

  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 20:24

voodooless

Sound is no voodoo!

Topicstarter
Ik heb bezig met een simpele applicatie om wat stus informatie in verschillende tabbladeren weer te geven. Het probleem: het wisselen van de tabs gaat erg traag. Ik zie gewoon de individueele textvelden opnieuw opgebouwt worden. Duurt beina een seconde. Vredelijk irritant! En dan zeggen wat Swing traag is :Y) . Ik heb het venster waar de TabControl in zit al double buffered gemaakt, en erop gelet dat ik geen transparancy gebruik, maar dat lijkt allmaal niks te helpen. De rest van de gui lijkt echter gewoon netjes snel te werken.

Het wisselen van de tabs roept verder geen vreemde code aan, daar kan het dus ook niet aan liggen.

Vraag dus: waarom is het traag en wat kan ik eraan doen?

Ik gebruik C# Express edition 2005.

Do diamonds shine on the dark side of the moon :?


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 16-04 11:36

pjvandesande

GC.Collect(head);

Runtime of design time?

  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 20:24

voodooless

Sound is no voodoo!

Topicstarter
Runtime natuurlijk ;)

Edit: heb net even een release build i.p.v debug build gemaakt, en die is wel snel... Kan me eigenlijk niet voorstellen dat het zoveel verschil maakt..

[ Voor 79% gewijzigd door voodooless op 23-12-2005 11:12 ]

Do diamonds shine on the dark side of the moon :?


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:18
Wat doet jouw code ?
Ik bedoel, wat doe jij als je van tab wisselt ? Je zegt wel dat er geen vreemde code uitgevoerd wordt, maar gebeurt er dan helemaal niks ? Niks in de OnTabChanged event oid ?


Ik heb hier nl. geen enkel probleem met 'traagheid' van de tabcontrol.

[edit]
Je zit ook niet met debug compile directives, of met System.Diagnostics.Debug stuff die je uitvoert ?


Probeer anders eens de obj files van je debug build te verwijderen, en te rebuilden.

[ Voor 27% gewijzigd door whoami op 23-12-2005 11:14 ]

https://fgheysels.github.io/


  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 20:24

voodooless

Sound is no voodoo!

Topicstarter
Nope, doet helemaal niks ;)

Edit: heb ook geen specialle debug dingen ingesteld

[ Voor 51% gewijzigd door voodooless op 23-12-2005 11:18 ]

Do diamonds shine on the dark side of the moon :?


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 16-04 11:36

pjvandesande

GC.Collect(head);

Maar is een nieuw project, gooi er een TabControl op, een aantal texboxen en probeer het dan is.

Werkt hier prima, behalven als je data gaat fetchen bij een tab switch oid.

  • dotcode
  • Registratie: Augustus 2003
  • Laatst online: 19-04 14:26

dotcode

///\00/\\

Zit je niet te veel variablen te monitoren in de debuger terwijl je test? Dan wordt het rete traag.

  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 20:24

voodooless

Sound is no voodoo!

Topicstarter
Inderdaad, een nieuw project werkt hier ook prima... Maar waarom niet bij mijn orginele project (en alleen in debug mode)

Do diamonds shine on the dark side of the moon :?


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 16-04 11:36

pjvandesande

GC.Collect(head);

Wij hebben je code hier niet, ik geloof bijna niet dat je geen rare troep uithaalt.

Een debug build word niet geoptimized een release build wel. Ik denk dat je toch ergens iets uitvoert wat door de optimizer er uit word gehaalt of verbouwd.

Je hebt geen debug compile directives? Ook niet in onderliggende classes die je gebruikt oid?

  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 20:24

voodooless

Sound is no voodoo!

Topicstarter
Nope. Niks :'( Onderliggende classes zou ik niet weten, gebruik alleen maar standaard .Net spul en een eigen .net dll, die op dat moment helemaal niks doet.

Ik voor echt helemaal geen code uit bij het wisselen van de tabs. De tabs bevatten wat GroupBoxen met daarin labels, wat checkboxen en een paar progress bars. Alles heb ik er gewoon via de designer in gezet.

Pas later, als de applicaties echt loopt wordt de hele zooi geupdate, maar als de applicaties niks doet is het wisselen in debug mode dus nog steeds traag.

Do diamonds shine on the dark side of the moon :?


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 16-04 11:36

pjvandesande

GC.Collect(head);

En debug het verhaal is.

Code die niets meer doet loopt gewoon, als ik hier een test project maak gaat het prima. Als jij dat doet gaat dat ook prima, dus het ligt ergens anders aan. Wij kunnen je zo ook niet zeggen waaraan.

Er word ergens iets aangeroepen, waarom probeer je geen Profiller? Kun je precies zien welke method/statement hoeveel tijd in beslag neemt. Dan heb je de bottleneck zo gevonden.

  • Sappie
  • Registratie: September 2000
  • Laatst online: 17:17

Sappie

De Parasitaire Capaciteit!

Je kan bijv. de gratis profiler DevPartner Profiler Community Edition uitproberen. De download zal je op deze site ergens moeten kunnen vinden.

Specs | Audioscrobbler

Pagina: 1