Once history gets large, zooming/panning becomes super slow because it's trying to redraw everything every frame. To make zoom/pan more responsive, it ought to just be drawing some approximation with each frame (e.g. create low-fi version of whole image when zooming/panning begins, draw that until zooming/panning done).
If it's still not responsive enough then we could look into using OpenGL for 2d rendering speedup maybe?
Once history gets large, zooming/panning becomes super slow because it's trying to redraw everything every frame. To make zoom/pan more responsive, it ought to just be drawing some approximation with each frame (e.g. create low-fi version of whole image when zooming/panning begins, draw that until zooming/panning done).
If it's still not responsive enough then we could look into using OpenGL for 2d rendering speedup maybe?