Bei der TVirtualImageList habe ich das Problem, das wenn in der ImageCollection viele Bilder sind,
und dann diese TVirtualImageList auf vielen Form´s liegt. Dann wird das schon Langsamer und benötig viel Arbeitsspeicher.
Das ist auch nicht direkt aufgefallen, weil ich die Form´s nicht alle bei Programmstart erstelle.
Wenn ich alle Form´s beim Start erstelle, hatte das dann 45Sec benötigt. (i9-10885H CPU)
Und die ganzen TVirtualImageList haben 300MB mehr Arbeitsspeicher benötigt
Es muss ja je eine TVirtualImageList pro Form sein, wegen der DPI Umschaltung.
Nicht alle Bilder zur TVirtualImageList geht bei mir nicht.
Also habe ich mir den Source der TVirtualImageList angesehen und eine Vereinfachte abgewandelt.
Hier werden immer alle Bilder der Collection hinzugefügt, einzustellen gibt es nichts.
Es wird nur eine Imagelist in Windows "ImageList_Create" pro Größe und ImageCollection erstellt.
Bei Size/DPI Änderung wird nur das
Handle auf die andere Liste umgeschaltet.
Ich habe das nur mit
VCL probiert,
bis Runter zu XP klappt das auch.
ImageName habe ich noch mal weggelassen.
ReportMemoryLeaksOnShutdown hat auch nichts angezeigt
Verbesserungsvorschläge sind erwünscht.