Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#9

AW: Desaströse Performance von TRichedit

  Alt 12. Sep 2024, 13:37
Daten besonders Resourcenhungrig sind.
Bei TStringList.LoadFromFile hat man locker währenddessen über 3 bis 5 Mal so viel im RAM, wie die Datei groß ist. (plus noch 1 Mal, aber das ist nur der FileCache, welcher sich bei Überfüllung selbst entsorgt)
Es wird also normal mit Win32 schon ab durchschnittlich 500-700 MB zu Problemen kommen, da die ersten 1+1 bis 1+2 Mal jeweils als zusammenhängender Block im Speicher Platz finden müssen.

Man könnte theoretisch versuchen TCustomRichEdit.CreateParams zu überschreiben (TWinControl.CreateSubClass ist leider nicht virtuell) und dort auf die Version 2 umstellen (ich weiß aber nicht in wie weit die RichEdit-API nach unten kompatibel sind, aber Delphi hat ja eh nur einen Bruchteil der Möglichkeiten implementiert)

Alternativ eben manuell (NonVCL) via CreateWindow mit RICHEDIT_CLASSW (anstatt MSFTEDIT_CLASS) sich ein RichEdit erstellen.
Winapi.RichEdit.pas

k.A. ob es ein RichEdit von einem Frendanbieter gibt, welches nicht auf dem TRichEdit aufsetzt.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (12. Sep 2024 um 13:51 Uhr)
  Mit Zitat antworten Zitat