Calculating the average FPS was done in the draw function which also overwrote the old value. With multiple viewports the same time-delta would be written multiple times causing the FPS display not to use use REDRAW_FRAME_AVERAGE as intended. Resolve by only calculating the average once per frame change across multiple viewports.