foot/doc
Daniel Eklöf 8179d73daa
render: delay reflow for ‘resize-delay-ms’ milliseconds
Reflowing a large scrollback is *slow*. During an interactive resize,
it can easily take long enough that the compositor fills the Wayland
socket with configure events. Eventually, the socket becomes full and
the compositor terminates the connection, causing foot to exit.

This patch is work-in-progress, and the first step towards alleviating
this.

It delays the reflow by:

* Snapshotting (copying) the original grid when an interactive resize
  is started.
* While resizing, we apply a simple truncation resize of the
  grid (like we handle the alt screen).
* When the resize is done, or paused for ‘resize-delay-ms’, the grid
  is reflowed.

TODO: we *must* not allow any changes to the temporary (truncated)
grid during the resize. Any changes to the grid would be lost when the
final reflow is applied. That is, we must completely pause the ptmx
pipe while a resize is in progress.

Future improvements:

The initial copy can be slow. We should be able to avoid it by
rewriting the reflow algorithm to not free anything. This is
complicated by the fact that some resources (e.g. sixel images) are
currently *moved* to the new grid. They’d instead have to be copied.
2022-10-10 17:19:17 +02:00
..
benchmark.md doc: benchmarks: update with desktop results for 1.12.1 (r9) 2022-05-12 13:10:24 +02:00
foot-ctlseqs.7.scd osc: add support for OSC 133;A (prompt markers) 2022-06-16 19:02:10 +02:00
foot.1.scd osc: add support for OSC 133;A (prompt markers) 2022-06-16 19:02:10 +02:00
foot.ini.5.scd render: delay reflow for ‘resize-delay-ms’ milliseconds 2022-10-10 17:19:17 +02:00
footclient.1.scd doc: fix tiny typo 2022-10-04 13:04:03 +09:00
meson.build Add support for creating utmp records 2022-09-23 23:02:25 +02:00
sixel-wow.png README: add screenshot of sixel graphics 2020-02-22 22:04:28 +01:00