I tried using this code on my new RTS game and found that the following statement:

[pascal] S2DLDraw.WindowCaption('FPS: '+IntToStr(S2DLDraw.FPS));[/pascal]

takes on average 12ms per call. Its the longest of anything in my code....

I have also started calling this unit S2DLProfiler