bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What, exactly, _is_ "line-breakout optimization"?


From: Bill Gray
Subject: Re: What, exactly, _is_ "line-breakout optimization"?
Date: Sun, 19 May 2024 22:13:33 -0400
User-agent: Mozilla Thunderbird

Hi Branden,  all,

On 5/19/24 17:06, G. Branden Robinson wrote:

https://github.com/ThomasDickey/ncurses-snapshots/blob/master/ncurses/tty/tty_update.c#L1018
https://github.com/ThomasDickey/ncurses-snapshots/blob/master/ncurses/tty/tty_update.c#L367

Interesting. Looks as if a check for key input is done every five changed lines, if typeahead() is enabled.

Too bad those line numbers will desync over time.  cgit makes it easier
to pin a URL to a tag.  I'm not sure how to do it on GitHub.  (Anyone
know?)

Click on the line number of interest (367 or 1018). "..." appears; click on that. You get the options to 'copy line', 'copy permalink', 'view git blame', or 'view file in different branch/tag'. You want the second option, a permanent link to that line in that branch :

https://github.com/ThomasDickey/ncurses-snapshots/blob/2078627a4637bd5fa6e9a557a48894618b10112d/ncurses/tty/tty_update.c#L367

https://github.com/ThomasDickey/ncurses-snapshots/blob/2078627a4637bd5fa6e9a557a48894618b10112d/ncurses/tty/tty_update.c#L1018

  I see PDCurses had this capability,  but it was removed because
  "the line-breakout optimization system... simply didn't work,  and
  never has"[1].  At this point,  screen refreshes are fast enough
  that I don't see how the capability could be useful.

You may be forgetting the poor dogs who use real terminal emulators and
operate them over network connections.  ;-)  I was in Australia for a
few years and got a reminder of how obsolete such concerns _aren't_.

True, and it might matter for the VT platform in PDCursesMod. Other platforms for PDCurses* will all be local.

But I'll grant, for a local application, typeahead(-1) seems a likely
win, or at worst harmless.

If PDCurses(-mod) apps get run over latent connections, I expect RDP or
similar gets used to attack the same problem, so I wouldn't say you made
the wrong choice for your implementation.

I can't claim credit (or blame), since the removal goes back to 2005/2006, well before my involvement. I would imagine that typeahead() probably _did_ matter back in the early days of PDCurses or its predecessors, though.

-- Bill

Regards,
Branden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]