Search
Wednesday, 16th of October 2019, 19:37:09 UTC
5:32:08
beach
Good morning everyone!
5:49:12
beach
How is the editor going?
6:43:37
loke
beach: Still thinking of display optimisation
6:44:10
loke
I'm coming to the conclusion that the “items” in the LINE should be grapheme clusters, not Unicode codepoints.
6:44:30
loke
This is because the items describe individual drawn elements, as well as represents the way the cursor moves.
6:44:51
loke
It's not ideal, but the alternative is worse.
7:03:34
beach
I have to trust you on that one.
7:21:09
loke
there are many ways to implement this stuff
7:27:51
beach
I didn't think much about Unicode at all. Mainly because my knowledge is very limited.
7:28:08
beach
My goal was to create an excellent editor for Common Lisp source code.
7:28:34
beach
So I have given much more thought to incremental parsing and analysis.
7:28:43
loke
Fair enough, but even without the added issues of Unicode, you must have worked on displa optimisation? I'm pretty sure you're not repaininting the entire window whenever a button is pressed.
7:29:08
beach
That is not a problem anymore.
7:29:46
loke
How did you habndle it?
7:30:37
beach
I didn't. And it's plenty fast.
7:31:09
loke
You mean every command reslted in a full repaint of everything?
7:31:32
loke
That would cause a lot of flickering, no?
7:31:35
beach
What I did, though, was to explicitly manipulate the output history.
7:31:54
beach
Well, I count on double buffering to fix the flickering.
7:32:14
loke
In my implementation I'm not using an output history
7:32:15
beach
So I don't do a redisplay.
7:33:18
beach
So you must then be re-implementing the repaint protocol.
7:33:30
loke
No. I directly implement HANDLE-REPLAINT
7:33:59
beach
What was your reason for doing that? McCLIM does that quite well.
7:34:08
loke
Well, nothing in particular.
7:34:18
loke
Felt like an easy and convenient way to do it :-)
7:34:38
loke
That part of the code is probably just a few tens of lines of code though so it can easily be replaced.
7:35:32
loke
Thing is, one of the reasons that repainting is slower for me is that I draw every grapheme cluster individually.
7:35:41
loke
So it's a lot of calls to DRAW-TEXT
Thursday, 17th of October 2019, 7:37:09 UTC