We should let VSync/m_max_fps (which defaults to 120) do their job. If a monitor has a refresh rate even slightly higher than 60FPS (e.g. 60.0007FPS), throttling will introduce stutters, even more so at modern high refresh rates (75, 90, 120, etc.)
This also cleans up the code, e.g. the var name `m_throttle_fps` was also being used in the main loop for a different function, despite having the same var name.
With the font size set to "Very Large" and the theme set to "Cartoon", the Apply button went slightly outside of the main box. This fixes that by putting the two checkboxes on the same row, which saves a bit of valuable horizontal space.
This improves things for #4378 but is not a comprehensive solution. It also includes unrelated improvements to this screen.
- Switch from 2 track rows to 3 track rows. This allows to show more tracks at once. Nonetheless amount of white space between track pictures is still significant. Showing the track name below each track is part of the issue, as it needs space on the bottom and margins on the side to avoid track names overflowing onto each other. Word-wrap for track title would incur a small vertical cost while gaining a lot of horizontal space. Alternatively, the track names could be hidden and only shown on hover (like the game's main track selection screeen).
- Select the standard set of tracks by default instead of all.
- Reduce the amount of vertical spacing for the buttons below the track picker.
- Group laps/reverse and ok/cancel vertically instead of horizontally. This creates clear visual blocks, as the reduced vertical spacing didn't work out well otherwise.
- Add a new selected track picture. The selected track's name is always shown as title, but some users may miss it or not know track names well enough. Now, which track is going to be added to the GP when clicking ok is obvious.
- When selecting a different track, change the lap number to the track's default.
The raw score remain used in the core of the formula for expected scores computations.
Also improve the handling of disconnects on rating, with new RD floors
(and so public rating penalty) for recurring disconnects (>= 3 in the last 64 races).
The raw score is less penalized than before, as it's not needed and
make expected score computations more reliable.