Martin Vermeer wrote:
I'm not sure your description is quite right... the problem is the statement buffer_view_->updateMetrics(false); which you added in revision 14456. It repaints the whole screen every time redraw is called -- which happens even when only a row or para repaint ought to be done (elsewhere the updateMetrics call takes the singlepar argument). Can this patch be somehow reverted? I.e., store state in buffer_view_->needsRedraw etc. I expect Bennett will see a spectacular speedup then...
It might very well be my fault indeed. We changed the metrics subsystem quite a lot and, IIRC, this change was needed at that time to avoid a crash because of incomplete coordcache. Now that the situation is stabilized WRT the coordcache I think it make sense to re-enable the single row/par repaint.
I look forward to a patch from you ;-) Abdel.