Performance Problem beim Füllen von TListBox
-
Halli Hallo...
Also ich hab' da eine Instanz einer TListBox auf meiner Form liegen und ich möchte 2hoch16 also 65536 (64K) verschiedene Items in der Box ablegen.
Dies bewerkstellige ich zur Zeit mit einer FOR - Schleife(von 0 bis 65535) innerhalb des 'FORM-CREATE' - Events. Allerdings raubt mir diese Vorgehensweise viel Performance, d.h das Programm lädt erst mal eine Weile bis es angezeit wird (und das bei ATLON XP +2400 unter WINXP).Daher meine Frage, ob es nicht einen performanteren Weg gibt diese Aufgabe zu lösen. Sollte ich vielleicht im BCB6 die Items der ListBox im Designmodus alle vollständig anlegen. Oder sollte ich gar eine Assemblerroutine für die For - Scleife schreiben? Oder gibt es da etwas, das ich momentan für undenkbar halte?
Bitte helft mir....Ich könnte kotzen
Edit:
Bitte aussagekräftige Überschriften wählen. Danke!
-
wieso stellst du denn 2^16 elemente in die listbox? was sind denn das für einträge?
-
OK:
Ich schreibe einen Mikroprozessor Simulator (INTEL 8085).
Der kann maximal 64K (also 2^16) Speicher addressieren.
Die Einträge stellen die Speicherstellen dar
-
omg ...
"dont feed the troll"
-
benutze
ListBox1->Items->BeginUpdate();
und
ListBox1->Items->EndUpdate();Test:
P3 1,7G
WinApi
----------------------------
mit BeginUpdate 1076 Ticks
ohne 15110 TicksVCL
----------------------------
mit BeginUpdate 1281 Ticks
ohne 15453 Ticks