Re: Geschwindigkeit Grafikaufbau .Net WinForms

From: Dirk Primbs [MS] (dirk_primbs_at_hotmail.com)
Date: 07/14/04


Date: Wed, 14 Jul 2004 17:05:57 +0200

Hallo Stephan,

"Stephan Glahs" <%NOSPAMsg@gla-wel.deNOSPAM%> schrieb:

> [...]
>>>>> Komisch dabei immer wieder, das es Manche haben,
>>>>> Andere dafür anscheinend gar nicht kennen, oder ver-
>>>>> drängen.
>>>>
>>>> ... oder sie wissen es zu vermeiden.
>>>
>>> Und wie vermeidet man es?
>>
>> Wenig Controls, stattdessen ordentliche Menüs. So wie in den meisten
>> anderen Anwendungen eben.
>
> Das ist doch dann aber eine Einschränkung, wenn man sich bei .Net mit
> Controls und eigenem Anwendungsdesign zurückhalten muß, oder?
> Also bei VB6 mußte man das nicht...
>

Auch bei VB6 mußte man das. Es gab eine Reihe von Steuerelementen, die
in größerer Anzahl geradezu eine Garantie für Probleme waren.

So richtig wie es ist, dass ich bei meinem Oberflaechendesign darauf
achte, mit Ressourcen sparsam umzugehen, scheint es mir hier nicht
amtlich zu sein, dass das wirklich das Problem ist. Du hast doch in
einem anderen Posting behauptet, Du würdest relativ wenig Controls
einsetzen.

Als Ex-Supporti würde ich Dir empfehlen, analytisch vorzugehen. Versuche
Deine Applikation soweit als möglich zu vereinfachen und dabei das
Problem zu behalten. Manche Steuerelemente haben aufwändige
Initialisierungsroutinen, andere haben Abhängigkeiten. Versuche also
eine Applikation zu bauen, die das Problem deutlich macht.

Mit dem Ding würde ich dann zu anderen Rechnern gehen und testen, ob ich
hier dasselbe Problem habe. Das hilft sicherzustellen, daß wirklich die
Applikation und nicht etwa eine Abhängigkeit auf dem Entwicklungsrechner
das Problem ist.

Ein paar Informationen zum Thema Performance & Windows Forms:

Windows Forms Tipps & Tricks:
http://download.microsoft.com/download/6/6/9/669C56E3-12AF-48C5-AB2A-
E7705F1BE37F/CLI211.ppt

.NET Developer Center: Performance
http://msdn.microsoft.com/netframework/programming/performance/

> Kann ich irgendwie verhindern, das der Speicherinhalt meiner Anwendung
> auf die Platte geschrieben wird und im Speicher verbleibt? Das wäre
> dann nämlich
> ein erster Ansatzpunkt für das Problem...

Wenn das tatsächlich das Thema ist (was ich noch für fraglich halte).

>>> Warum klappt das disposen nicht?
>> Ich nehme mal an, es klappt.
> Kann man das überprüfen?

Schau Dir den Performance Monitor an. Hier kannst Du Dir ausgeben
lassen, wieviele Objekte der Garbage Collector verwirft, was die
Speicherverwaltung macht, etc... .NET hat außerdem recht mächtige
Profiling-Möglichkeiten. Informationen (und ein Tool dazu) findest Du
hier: http://msdn.microsoft.com/msdnmag/issues/01/12/hood/

>>> Alle Controls besitzen ein eigenes Fenster? Das versteh ich
>>> nicht...
>> In Windows sind Steuerelemente Fenster mit einem bestimmten Stil.
>> Daher besitzen die Steuerelemente auch eine 'Handle'-Eigenschaft.
> In Windows, oder in .Net...? Ich frag nur, weil Du eben sagtest, das
> es bei
> VB6 nicht so war...

In VB6 gab es ein paar Ausnahmen (Label z.B.), die waren aber auch hier
absolut in der Minderheit. Generell ist es so, daß Windows von seines
Oberflächenelementen als "Window"-Objekte "denkt". Sozusagen logische
Fenster, die etwa in der Lage sind, Nachrichten vom System zu empfangen
usw. Das hat nichts speziell mit .NET zu tun.

Gruß,
Dirk

-- 
http://blogs.msdn.com/dirkpr
http://www.primbs.de
Microsoft-Leute über die Schulter schauen:
Channel 9 - http://channel9.msdn.com


Relevant Pages

  • Re: Geschwindigkeit Grafikaufbau .Net WinForms
    ... GDI+ direkt auf das UserControl gezeichnet werden, d.h. alle Controls die ... Viel davon wird durch die schlechte Performance von GDI+ ... setzt .Net eine einigermaßen zeitgemäße Hardware ... > Technologie durchsetzen, die wesentlich performanter ist (wird AFAIK ...
    (microsoft.public.de.german.entwickler.dotnet.framework)
  • Re: Internetgeschwindigkeit ermitteln
    ... >> falls du systemnahe Informationen und Performance willst ... dein Problem dass Prozessor zu 10 % ausgelastet wird ... sondern einzig mit den Performance-Counter von Windows selber. ... Und das .NET / JITer Konzept hatte nicht das Ziel, ...
    (microsoft.public.de.german.entwickler.dotnet.framework)
  • Re: Free Online CSharp 2 Windows Course
    ... At the momemt i think there are only files for the " windows apps" course ... How .NET is Different from Traditional Programming ... Label and TextBox Controls ... Introduction to Web Services ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: a pre-beginners question: what is the pros and cons of .net, compared to ++
    ... drag and drop a few "controls" and double click to add some event ... I think it was really good for server side web, ... but you are forgetting this is Microsoft. ... There's been no serious windows development since 2001, ...
    (microsoft.public.dotnet.general)
  • Re: Nothing new or exciting in Leopard
    ... You can see the Windows logo "behind" it. ... Microsoft has NEVER had a so-called "zoom widget" We ... Another case of Apple copying Microsoft. ... They are WINDOWS controls, built into the GUI. ...
    (comp.sys.mac.advocacy)