Scrolling matrix display

Oracle:
I'm working on making a scrolling LED matrix display. I'm storing a 1-bit bitmap of the entire display content that's being scrolled in ram and then using a moving pointer to update the display with a portion of the ram area. It my own idea, but I don't know if I'm reinventing the wheel or there's a better way to do it. It's working beautifully; the problem is that I'm burning way too much ram with this technique. A 100-character message will use 600 bytes of ram with my 5x7 font, which seems excessive when the MCU only has 1 or 2k.

What do people normally do to implement a scrolling display?

You are taking your message which is in RAM and decoding it with the font which is in flash to precreate a bitmap which is necessarily large, in RAM.

Why?

I have a scroller and I do basically what you do but there is no problem decoding the text via the font on the fly with no need to store the bitmap anywhere except in the driver/shift registers. The Arduino is fast enough for that, at least it was for me with 6 8x8 displays.