I've been reading back through issue #265 [1], and I expect that most of these comments apply to Pango. Particularly, drawing in a separate thread would be useful, I expect, and perhaps doing the syntax highlighting separately would be useful, too.
I'm not at all experienced in threading in Haskell, but I'm doing my best to learn about how this applies to the Pango UI. Correct me if I'm wrong, but I think we're currently going through the cycle of redrawing all the text at each action (even cursor movement), all synchronously so that it has to be completely redrawn before the next action can be handled. This would explain why even things that don't affect syntax highlight --- such as just moving the cursor down several rows --- is sluggish. I don't know whether rendering asynchronously serves any greater advantage without smarter threading, because I'm not experiencing the window flashing between renders. A threaded solution could throw away incomplete solutions while new actions arrive. Does this all make sense, or am I completely off-target here? Jeff Wheeler [1] http://code.google.com/p/yi-editor/issues/detail?id=265 --~--~---------~--~----~------------~-------~--~----~ Yi development mailing list yi-devel@googlegroups.com http://groups.google.com/group/yi-devel -~----------~----~----~----~------~----~------~--~---