The ZX81 used the CPU for generating the video signal, but it had a character ROM (small, of course. https://en.wikipedia.org/wiki/ZX80_character_set), used its copious (ha!) memory for storing data for the entire screen, and shipped with the necessary software so that it, when left alone, would show the contents of the current screen without aid from the currently running program.
IIRC, ZX80 video memory wasn’t a width × height matrix, but more like in a text file, with a special byte value separating lines, making empty lines cheap (you only needed to store the EOL token), and left-aligned text cheaper than right-aligned text, memory-wise (leading spaces ate into memory use, trailing ones needn’t be stored). The system needed that because that memory came from your one kilobyte of RAM. Filling the screen would use a large fraction of available memory)
https://www.timexsinclair.com/computers/sinclair-zx80/
And the Apple-1 which is also a very elegant solution to the same problem but without some of the drawbacks (it does have video memory but the CPU isn't slowed down much):
http://forum.6502.org/viewtopic.php?t=1352