Hi
Also ich hatte das selbe Problem, obwohl
SendMessage_(GadgetID(#BLABLA),#WM_SETREDRAW,#FALSE,0)
ging das hinzufügen sau lahm (6 Cols, paar Tausend Einträge)
Das Problem war das es in einem Thread lief und zusätzlich das ListIcon noch in einem SplitterGadget steckte !
Es wird optisch nicht refreshed (und genau desshalb fiel es mir ewig nicht auf b.z.w ich konnte mir nicht erklären was da los
ist) aber verarbeitet wird alles im Tempo als wäre das Redraw noch an.
Selbst mit den besten Umständen ist es in einem Thread noch 4 x so langsam wie ausserhalb eines Threads !
Egal ob ich schon vor dem Thread den Refresh disable, oder innerhalb vom Thread, sobald ein Thread eine Liste füllt
ist es 4 x - 15x so langsam.............würde mich nicht wundern wenn das Problem bei einer alten Version (4.60 z.B die letzte die nicht meckert wenn ein Fenster aus'm Callback gestartet wird, oder im Thread läuft) keine Probleme gibt.
Auch wird es schneller (eine Sek bei zig tausend einträgen) wenn mann ein SendMessage_(GadgetID(#BLABLA),#WM_SETREDRAW,#FALSE,0) an das SplitterGadget schickt in dem das ListIconGadget steckt (sollte das SplitterGadget ein Teil eines anderen sein, dann auch an das schicken) und danach halt an das ListIconGadget.
Code: Alles auswählen
DisableWindow(#MainWin,1)
DisableWindow(#SaltWin,1)
SetSplitterRedrawState(#False) ; Schaltet das Redraw aller Splitter ab. Beschleunigt noch ein kleines bisschen,
;merkt mann bei großen Listen. Bei einer 17,8MB Liste ist es eine Sekunde
SetRedrawState(#False) ; Schaltet Redraw für alle Listen im SplitterGadget ab
;DisableWindow(#SaltWin,1)
;SaltTH = CreateThread(@CreateSaltList(),0)
;/ THREAD BENUTZEN IST HIER SCHEISE !
;/ Es muss jeder Splitter Disabled werden und DANACH jede Liste, erst dann funzt es im Thread.
;/ Disabled mann nicht die Splitter ist es im Thread mindestens 15 x langsamer ! 3,5Sek statt 200ms usw !
;/ Disabled mann die Splitter und es läuft Thread ist es immer noch 4 x so langsam wie ohne Thread.
CreateSaltList(0)
Mit mit funzen meine ich das es schneller ist und nicht refreshed wird, statt nur kein refresh aber sau lahm.