• src/conio/bitmap_con.c cterm.c

    From Deuc¿@VERT to Git commit to main/sbbs/master on Saturday, November 02, 2024 21:19:18
    https://gitlab.synchro.net/main/sbbs/-/commit/d07815a94f78fa5a3bfc9f02
    Modified Files:
    src/conio/bitmap_con.c cterm.c
    Log Message:
    Implement double-height.

    This is so gross... outputting any character depends on every
    character above it, so it must be checked every time. If the state
    was ste up differently, this could be avoided, but it's not, so it
    can't.

    For v2, I'm going to want to store some per-line data in a separate
    struct so I can track this.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, November 27, 2024 09:34:34
    https://gitlab.synchro.net/main/sbbs/-/commit/d5d7762cfb39f366d6870192
    Modified Files:
    src/conio/bitmap_con.c cterm.c
    Log Message:
    Fix double-height drawing

    Top/bottom detection was somewhat broken.
    Interestingly, now the previous commit isn't working anymore.
    So issue 172 is not quite fixed yet.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thursday, January 09, 2025 19:08:33
    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
  • From MRO@VERT/BBSESINF to Deuc¿ on Thursday, January 09, 2025 22:39:11
    Re: src/conio/bitmap_con.c cterm.c
    By: Deuc¨ to Git commit to main/sbbs/master on Thu Jan 09 2025 07:08 pm


    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


    okay i am a speed reader and i absolutely need to read shakespeare as fast as possible so please correct this issue further.
    ---
    þ Synchronet þ ::: BBSES.info - free BBS services :::