Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Delphi - pomale zobrazovanie...

Mam taky maly problem. V databaze mam vyse 250 roznych produktov a k nim kratky popis. Kazdy produkt sa vytvara na dynamickom panely, ktory si vytvorim pred zobrazenim daneho produktu. Na tom panely sa mi vytvara asi 7 LABELOV, 1 IMAGE a 1 RICHTEXT. Ked si dam zobrazit vsetky produkty, vsetkych cca 250 panelov sa mi okamzite vytvori ale kym sa zobrazia tak to trva aspon 50 sekund. Co som sa uz pytal viacerych programatorov, tak je to sposobene tym ze vlastne ja vytvaram naraz v jednom cykle 250 * 8 komponentov co je strasne vela a druha vec je, ze Windows sa pomale prekreslovanie. Osetril som to tak, ze si robim strankovanie, ale nie je to idealne, ale je to postacujuce. Mozno mi bude vediet niekto poradit, ako to urobit bez toho aby som nemusel pouzivat to strankovanie. DoubleBuffering mam zapnute, ale aj tak to ide pomaly... Nech robim, co robim ide to pomaly. Vytvara sa naraz vela komponentov. Dalsia vec je ze by som mohol pouzit fremy. Pomocou fremov by to islo rychlejsie? To znamena nie na panel, ale vytvorit si jeden frem a ten vytvarat dynamicky... Vdaka...

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Len tak na ukazku pridavam obrazok ako vyzera jeden panel. [ukazka.jpg] Toto je panel, presne z pr…
Intex 07.02.2006 21:42
Intex
To by sa krasne dalo urobit vlastnym vykreslovanim, alebo cez nejaky grid (ako pisal Rce vyssie), pt…
MM.. 07.02.2006 21:55
MM..
Presne tak. Zaroven sa robi vytvaranie objektov a zaroven to aj Win vykresluje. Nepomoze tu ani oset… poslední
Intex 07.02.2006 22:02
Intex

Len tak na ukazku pridavam obrazok ako vyzera jeden panel.

[ukazka.jpg]

Toto je panel, presne z programu. Takto si ich vytvaram na ScrollBoxe 5 - 10. Este neviem, ake bude vysledne cislo. Asi 10 panelov na jednu stranku... Takto to ide uplne bez problemov a necakam viac ako pol sekundy, kym sa zobrazia vsetky panely. Ked to bolo zobrazenie uplne vsetkeho, tak panely sa vytvorili hned. Akurat to zobrazenie trvalo velmi dlho... Windows ma pomale vykreslovanie. Mozno som zvolil nespravny postup, ale teraz ku koncu, ked je uz vsetko hotove, je zbytocne to vsetko prerabat...

To by sa krasne dalo urobit vlastnym vykreslovanim, alebo cez nejaky grid (ako pisal Rce vyssie), ptz. tam je vpodstate pevna vyska takze by sa dala pekne ratat momentalna pozicia.
No ale ked je to uz urobene tak to asi prerabat uz nebudes, to by bolo dost roboty.

Podla toho ako to spravanie popisujes mam pocit ze zaroven robi nieco tvoj program a zaroven aj vykresluje Win, a Win nema na vykreslovanie dost vykonu CPU, mozno nieco robis neefektivne ale to bez zdrojaku a debugovania tazko urcit takto na dialku. Tych 250*8 okien je dost, s tym Win maju co robit.

Zpět do poradny Odpovědět na původní otázku Nahoru