Generell ist der Aufruf von Synchronize im Thread möglichst zu vermeiden. Da hier eine Synchronisation mit dem Hauptthread erfolgt, ist das Zeitverhalten absolut nicht vorhersehbar und der Vorteil des Threads ist schnell dahin. Das Gleiche könntest du auch mit einem einfachen Timer erreichen.
Wenn im Synchronize lediglich Anzeigewerte aktualisiert werden, ist es besser, diese in einem OnIdle- oder OnTimer-Event zu aktualisieren, wobei eventuell der Zugriff auf die aktuellen Werte threadsicher gestaltet werden muß.
TMultiReadExclusiveWriteSynchronizer
Die Zeitdifferenz kann man übrigens sehr gut mit dieser
Stoppuhr messen.