Armel Asselin:
Nonetheless, I'm in front of this problem (I'm currently stucked with 1.67 but i'd like to know if it's already fixed, I checked history but I could not see anything):
Its normally easier to just try the latest version than to try to reason about some behaviour. There has been work on some aspects of large file handling but that is probably not applicable.
- I apply a filter of my own which pretty-prints XML (in a undo-able manner), the XML is now 131000 lines high - Scintilla re-set scrollbars after each line insertion (leading to quadratic update time)
Have you profiled this enough to be sure its the scroll bars? I have tried to work out some way to have deferred-update scroll bars where the values are stored into a shadow object that can then be pushed to the platform at some later time (such as paint handling) but its quite messy and you are left with the platform having imperfect knowledge when the user clicks on the scroll bar. Its more difficult in your case since this is the result of multiple calls to Scintilla (which may be interleaved with other actions) rather than optimizing an internal procedure where it may be possible to combine multiple scroll bar updates more easily.
it works well, but quadratic time on 131000... leads my user to kill the soft and tell me that its bugged ;-( for sure it's linked to word-wrapping (ContractionState::MakeValid takes all the time).
There have been changes to ContractionState and LineVector since 1.67 -- 1.72 Performance of per-line data improved. Neil _______________________________________________ Scintilla-interest mailing list Scintilla-interest@lyra.org http://mailman.lyra.org/mailman/listinfo/scintilla-interest