Andre Poenitz wrote: > On Fri, Jun 29, 2007 at 11:17:51AM +0300, Dov Feldstern wrote: >> Right now it's being called on every cursor blink, I think (I put in a >> debug printout, and it prints on every blink); and what it's doing every >> time is to loop over all the characters from the beginning of the line >> until the current position, and sum up the widths, in order to get to >> the current X position. Same thing when you move one position to the >> right or to the left --- the entire summing start from the beginning of >> the line. But this calculation was already done when we painted the >> screen, so there's no need to do it again. >> >> This may not be very costly relative to the painting, but it's certainly >> much more wasteful than it needs to be. > > And the proposed solution is to have a cache for each position in the > document? You lost me...
I thought that it was about caching (painted) visible cursor positions... this is somewhat consistent with what we have now... Still I would be very surprised if this has a real performance impact. Maybe if it *really* simplifies the code... (I must confess I have my doubts about that) A/