http://bugs.winehq.org/show_bug.cgi?id=30653
Bug #: 30653 Summary: Deleting text from richedit controls extremely slow Product: Wine Version: 1.5.4 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: richedit AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com Classification: Unclassified
The attached program creates a richedit control containing $1 lines of text, then times how long it takes to delete the first 1000 lines. Results on my e7300 from running "wine delete.exe 5000": Builtin riched20: 97500 ms Native riched20: 1800 ms i.e. builtin is about 50 times slower than native. It gets worse fast as you add lines.
+relay shows InvalidateRect is called a bazillion times (like in bug 30614).
The attached patch optimizes ME_InvalidateMarkedParagraphs to only call InvalidateRect once per run of invalid paragraphs, and makes deletion merely slow instead of crazy slow.