I can definitely confirm that the framerate issues are fixed now, BUT there seems to be a little problem with initial Joystick detection now.
It is, as you told me in another thread, delayed now. So instead of getting the connected joysticks right after the creation of the window, I wait for joystick connection events in the main loop instead. However, those do not always occur even if a joystick is connected initially.
Note the "not always" - most of the time it works, I just had several cases where it didn't. Maybe you should force an initial poll for joysticks when a window is being created (and fire the respective connection events), and after that use the lower frequency which you implemented in this fix?
In my opinion, by the way, the sf::Joystick::isConnected method is now obsolete, since most of the time you will use it for initial polling, which apparently is not recommended anymore (on Windows at least). Connection and disconnection events are enough for people to manage their own "is connected" list of sorts.