Yes this is exactly what immediate mode rendering does whereas in retained mode, it’s the graphics API that holds your data and you interact with it through states and functions. OpenGL does that for example.
This is possible, I think that you did it by rendering the static objects onto a separate buffer then drawing that buffer instead of rendering every objects at each frame. The limitation here is the resolution of your buffer but only when doing scale. Otherwise with translate it works well.
The translate will move the coordinate system but then you can draw your buffer at that place.