In most cases TimeKeeper will adjust the time by slewing. This means it will slowly reduce the time error to avoid erratic changes in time and also prevent erratic changes in the rate of time correction. This correction rate will never be greater than 1 second correction in 256 seconds or roughly 3.9 milliseconds correction per second.
As the time error gets smaller this rate will be reduced to asymptotically approach zero error. This means a gradual adjustment of time and also a gradual adjustment of the rate of time on the computer. This is illustrated below with an example of correcting a 1 second error.
The graph below shows more detail of the final stages of correction as the change rate is reduced. Note that the X axis is the error (begins at roughly 0.2 seconds). The rate of correction is gradually reduced as the error decreases providing a smooth transition to the correct time.
In most cases the correction of 1 second offset will require roughly 420 seconds or about 7 minutes.
The LOWQUALITY=1 setting instructs TimeKeeper to prioritize slow clock changes rather than aggressively tracking the remote time source. This helps in situations where the remote time source is known to be poor quality and shows erratic behavior. This can be useful when a stable local clock that smoothly and slowly adjusts to a remote time source is desired. One example would be using a WAN time source (NTP server on the internet perhaps) and serving NTP/PTP to a number of local systems. In this case TimeKeeper would, over time, adjust to track the remote time but would not over-react to timing errors and noise in the source but instead provide a stable clock to the local NTP/PTP clients.
This setting reduces the slew rate that TimeKeeper uses, and time corrections will take much longer than described in the section and graphs above.