The 2600, called the VCS (Video Computer System) when I was a kid, offers three kinds of graphics.
Background. This can be changed by the CPU, but as mentioned, the CPU is not fast enough to do that per pixel. It is often changed per scan line though.
Playfield. These are 40x1 pixels, that cab be mirrored and otherwise manipulated. Call this a scanline buffer, or partial one, depending on what one wants to do.
If you want symmetry, 2 and a half bytes of buffer has you covered. Otherwise, you need to load different pixels for the other side of the screen.
Playfield is monochrome. One bit per pixel. The colors can be changed ar any time, and are often changed per scanline.
Sprites. There are two "balls" which are two bit wide strips that can run the length of the screen vertically. It is up to you to put the right pixels and position in place for every scanline.
And two player sprites, same as the balls, 8 bits wide.
The color precision of the system is basically one NTSC color clock, which is roughly 160 pixels, or positions to which the sprites can be drawn.
This generally means pixels at least twice as wide as they are tall. Other graphics can be much wider.
A typical game will contain a complicated kernel that is responsible for the graphics. Game logic and other tasks happen during the blanking times.
System resources:
128 bytes of RAM
4k ROM
Sound and game controller I/O, which is actually fairly robust, supporting digital direction input, up to 4 paddles (pots that can indicate a position), and some buttons.
I do not recall having ever seeing it, but a nice analog joystick is supported as are rotary encoders, and various button and stick combinations.