Control flushing to stdout... core.osthread.Thread + arsd.terminal
Adam D. Ruppe
destructionator at gmail.com
Fri Jun 5 20:30:03 UTC 2020
On Friday, 5 June 2020 at 20:05:28 UTC, aberba wrote:
> Why was the initial decision to handle buffering that way in
> terminal?
More buffering = more speed, it actually makes a surprisingly big
difference sometimes, like you can notice the lag with your eyes
alone as it prints in the more extreme cases, seeing the cursor
bounce around the screen and such when doing a full screen update.
So I have it internally gathering everything together into one
big buffer, all your moveTo, color, and writeln calls gather it.
Then the flush updates as much of the screen as possible in one
go.
Since it auto-flushes when you get input or when the program
exits, it works pretty well a lot of the time... but when you are
like "working..." then the program pauses, it doesn't help at all.
If I was doing it again today, I think I'd probably make it flush
a little more often automatically, at least with the linear
output mode.
More information about the Digitalmars-d-learn
mailing list