I'm not entirely sure on (1) without seeing how you have stopped the display at 90. One thing of note: if you are bringing in a button (or switch), be sure to sync it to your clock before using the signal to control anything. All it takes is one or two registers to properly sync it to the clock.
For (2), verify that your timequest timing analyzer report indicates you have no timing errors and no unconstrained paths. If you do have problems - fix these first. Also, it would be a good idea to add a register stage for your switches too. I won't go into detail unless you are interested.