Performance boost: fast rescale uses cheap interpolation, skips sections out of view.
First pass at resizable viewport (only width works properly)