It does have caching, but you are otherwise correct. I would also add that it can't do arcs; any curve is discretized immediately upon creation.
If you want arcs in a DXF (or G-code), I've been working on that in:
https://github.com/WillAdams/gcodepreview
If you want arcs in a DXF (or G-code), I've been working on that in:
https://github.com/WillAdams/gcodepreview