Diese Funktion braucht für 138902 Datensätze 2309 ms zum einfügen in die Listview. Das sind 60 Einträge pro ms. Deshalb "langsam" in Anführungszeichen.
Ich würde das zum Timing mal auseinandernehmen:
1. Lesen aus der
Query (in lokale Dummy-Veriablen)
2. Schreiben (von Dummy-Werten) in das Listview, so viele, wie die
Query Einträge hat
Danach weißt, du, wie hoch der Anteil der jeweiligen Funktionalität ist. Darauf basierend kann man dann nach weiterer Optimierung suchen.
Also, hab das jetzt noch weiter Auseinander genommen.
Laden der Daten in 3 unterschiedliche TArray<String> Variablen - 620 ms
Laden des Arrays in die Listview mit "add" befehl - 1611 ms
Umstellen auf Visible=true - 1140 ms
Zusammen 3371 ms
Am meisten "stören" tatsächlich die 1140 ms im Visible:=true teil, weil da auch die Ladeanimation hängt. :-/