🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #345088

Re: Optymalizacja wyświetlania tworzonych komponentów

#345088
From: m
Date: Fri, 19 Aug 2016 08:21
45 lines
2438 bytes
W dniu 2016-08-19 o 09:54, Bartłomiej Sosenko pisze:
> W momencie otwierania okna doczytywana jest dynamicznie lista pól edycji która ma się pojawić.
>
> Jeśli bym to robił standardowo to dość brzydko widać jak obiekty się kolejno rysują (jest ich kilkanaście)
> Jeśli wyłączę widoczność panelu na którym się to rysuje i włączę po utworzeniu wszystkich elementów to efekt jest zadowalający ale jakoś mam wrażenie że jest na to bardziej sensowne rozwiązanie na które niestety się nie natknąłem.
>
> Możecie podpowiedzieć gdzie szukać?
> Dzięki!
>
Dziwne że dla kilkunastu komponentów jest to problem moze podczas 
dodawania cos sie musi policzyc ?

U mnie 1000 TEdit dodaje sie w 890ms. 100 sztuk w 94ms


procedure TForm28.Button1Click(Sender: TObject);
var
   e: Tedit;
   I: Integer;
   dw: Dword;
   WindowLocked: Boolean;
begin
   AllocConsole;
   dw := GetTickCount;
   WindowLocked := LockWindowUpdate(Application.MainForm.Handle);
   try
     for I := 0 to 100 - 1 do
     begin
       e := Tedit.Create(Self);
       e.Top := Random(Width);
       e.Left := Random(Height);
       e.Width := Random(255);
       e.Height := Random(64);
       e.Text := IntToStr(Random( High(Integer)));
       e.Parent := Self;
     end;
   finally
     if WindowLocked then
       LockWindowUpdate(0);
   end;
   Writeln('Czas=', GetTickCount - dw);
end;


M
Technical Details
Message-ID: <np6fik$5a8$1@portraits.wsisiz.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!wsisiz.edu.pl!.POSTED.host-89-228-253-173.olsztyn.mm.pl!not-for-mail
References: <3bc5a17e-92ac-4bab-b868-b9f80d0751a4@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!wsisiz.edu.pl!.POSTED.host-89-228-253-173.olsztyn.mm.pl!not-for-mail
From: m <mmmm@mmmmm.pl>
Newsgroups: pl.comp.lang.delphi
Subject: Re: Optymalizacja wyświetlania tworzonych
 komponentów
Date: Fri, 19 Aug 2016 10:21:41 +0200
Organization: http://www.wit.edu.pl
Message-ID: <np6fik$5a8$1@portraits.wsisiz.edu.pl>
References: <3bc5a17e-92ac-4bab-b868-b9f80d0751a4@googlegroups.com>
Mime-Version: 1.0
Injection-Date: Fri, 19 Aug 2016 08:21:40 +0000 (UTC)
Injection-Info: portraits.wsisiz.edu.pl; posting-host="host-89-228-253-173.olsztyn.mm.pl:89.228.253.173"; logging-data="5448"; mail-complaints-to="abuse@wsisiz.edu.pl"
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
In-Reply-To: <3bc5a17e-92ac-4bab-b868-b9f80d0751a4@googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit