AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Richtiges einblenden von Formularen

Ein Thema von v2afrank · begonnen am 24. Feb 2010 · letzter Beitrag vom 24. Feb 2010
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.590 Beiträge
 
Delphi 12 Athens
 
#4

Re: Richtiges einblenden von Formularen

  Alt 24. Feb 2010, 07:36
Bei Delay hängen diese Gesamtzeiten vom OS und dem PC ab, also von der Auflösung des internen Timers.
Und dann hängen sie auch noch von der Auslastung der CPU und des Programmes.

ein einfaches Beispiel:
benötigt: ein Button, Memo und ein Edit (für das Delay)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  c, d, p, a: Cardinal;
begin
  p := StrToInt(Edit1.Text);
  a := 2000 div p; // 2 sec
  Memo1.Lines.Clear;
  AlphaBlend := True;
  c := GetTickCount;
  while a > 0 do begin
    d := GetTickCount;
    Delay(p);
    {start - irgendwas machen}
    Memo1.Lines.Add(IntToStr(GetTickCount - d));
    AlphaBlendValue := AlphaBlendValue + 1;
    Repaint;
    Application.ProcessMessages;
    {ende - irgendwas machen}
    Dec(a);
  end;
  Memo1.Lines.Add('= ' + IntToStr(GetTickCount - c));
  AlphaBlend := False;
end;
Bedenke jetzt noch, daß bei dir relativ viel gemacht wird (so Einiges muß ja neu berechnet und gezeichnet werden), welches in deine Gesamtzeit mit einberechnet werden muß.

Probier das Beispiel einfach mal mit 100, 10 und 1 Millisekunde aus.

Seit Vista gibt es eine andere Desktopverwaltung, wobei der Desktopmanager alle Fenstern zwischenspeichert und demnach nur noch die "fertigen" Bilder verrechnen/überblenden muß, wärend die älteren OS dafür gleich mal den ganzen Desktop und fast alle Fenster neu zeichnen lassen müssen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz