Skip to content
Snippets Groups Projects
Commit 9c871efc authored by Deucе's avatar Deucе :ok_hand_tone4:
Browse files

Massive SyncTERM performance overhaul.

This makes the performance about seven times better.  Previously,
outputting the entire works of Shakespeare took about two minutes,
nineteen seconds on my system.  With this change, it takes about
19 seconds.

This is still far behind non-BBS terminals like XTerm and Alacritty
which tend to do that job in under one second.

The main improvements:
- For the bitmaps in memory, make them a ring buffer, and for
  full-width scrolling of more than half the screen, just move the
  top instead of a memmove()
- Eliminate unnecessary comparisons and calculations in the glyph
  rendering loop
- Combine drawing glyphs beside each other for better cache usage

This still needs some cleanup, and much testing.
parent 935afe75
Branches
No related tags found
No related merge requests found
Pipeline #7706 failed
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment