Compile the development (not the stable) version of Marble as described in https://marble.kde.org/sources.php. Start bin/marble or bin/marble-qt, open the "Route" and the "Location" panels. Plan a route somewhere, and in the Location panel set "Position Tracking" to "Current Route". You now have a GPS simulation where the position is reported along the planned route. Observe the reported speed and note that it sometimes gets below 90 km/h. This happens when positions in the route are close to each other or when the interpolation of a longer segment reaches the end of the segment.
To reach a fixed speed, the current approach in RouteSimulationPositionProviderPlugin::update() needs to be changed. Right now the current index is increased by one step always, and if that increase was too much, a new, interpolated position is added. The speed gets too low when the distance between the last and the current index is too short. In this case (fraction > 1) the current index has to be increased further.
Make sure you understand the current approach, then change it such that the speed is fixed to 90 km/h (25 m/s) always. Submit a review request using Differential here in phabricator.kde.org.