Could we start by doing the coloring as we do now, but only request it ~
1sec after the node has been selected? This way, you wouldn't see the
slowdown from coloring when quickly moving around with cursor keys.

On Mon, Jul 1, 2013 at 3:40 PM, Edward K. Ream <[email protected]> wrote:

> Two days ago I took a look at the QSyntaxHighlighter (qsh) source code:
> http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/text/qsyntaxhighlighter.cpp
>
> I was a bit surprised to see that this is just a thin wrapper over
> QTextDocument methods.  Yes, qsh is a useful wrapper, but Leo could do
> without it. If we aren't tied to the qsh code, we are free to repackage it
> in different ways.  If nothing else, this is a useful thought experiment!
>
> The *vital* thing to keep in mind in the following discussion is that the
> vast bulk of Leo's present (complex!) coloring code will remain unchanged.
> I am only considering a slight repackaging of Leo's code.
>
> Suppose we did syntax coloring in a separate thread?  This might solve the
> performance problems completely!  Body text would appear *instantly* in the
> body pane, and the coloring would be applied "later". Of course, there are
> issues: all the "real" coloring must be done in the gui thread, so there is
> non-trivial coordination required.  In particular, the code would have to
> queue results that would then cause calls to setFormat in the main (gui)
> thread.
>
> This morning, when I arose, I saw a simpler alternative.  Suppose Leo does
> all coloring at idle time?  We get the same benefits, but with less
> complications.  No need for a separate thread: the idle-time code
> "simulates" a separate thread.  This is exciting. In essence, we just need
> to do the processing of the over-ridden rehighlight method at idle time.
> That is, Leo would recolor just one line at each idle time.  This keeps the
> response excellent.
>
> It might be possible to get a prototype working in just a few hours.  I'll
> do so asap.
>
> Edward
>
> --
> You received this message because you are subscribed to the Google Groups
> "leo-editor" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/leo-editor.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to