https://gitlab.synchro.net/main/sbbs/-/commit/9c871efc203959ef38f4e3be
Modified Files:
src/conio/bitmap_con.c cterm.c
Log Message:
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.
---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net