From: "Neil Hodgson" <[EMAIL PROTECTED]>
Armel Asselin:

yes I thought about that but the operation is interactive and tweaking with word-wrapping is not possible.

Its very likely that the ContractionState data structure can be improved to not produce quadratic behaviour. SinkWorld (in PhysicalLayout) uses a Partitioning for this which is similar to how Scintilla stores line start positions now.

   Neil
OK, I see. nonetheless changing the storage system is not by itself the solution to this problem, it would help reducing the amount of time passed moving data around. however I do not see in which way it would improve the performance (by an order of magnitude such as N or log N) because as long as we need to update the "displayLine" entry for each following line, we will still have N*M update time (N being number of insertions, M being the lines after insertion position), which is in worst case N^2 when inserting in front of line 1. In my particular case, it may behave well actually, but it is maybe not enough. The 'deferred scroll bar update' approach, if handled directly at Editor level may involve far less code changes.

Armel

_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest

Reply via email to