You can do something like this:
[pascal][background=#FFFFFF][normal=#000000][number=#0000FF][string=#0000FF][comment=#248F24][reserved=#000000]
while Running do
...
// Update and render a frame
if fMyApp.m_bActive then
begin
fMyApp.CheckForLostFullscreen;
fMyApp.Render3DEnvironment;
if (strStatsPrev <> fMyApp.m_strFrameStats) then
StatusBar.Panels[0].Text:= fMyApp.m_strFrameStats;
end;
...
Sleep(fMilliseconds); // fMilliseconds - can/should be dynamically changed so frame rate is fixed.
end;[/pascal]

Basically call "// Update and render a frame" block fixed count per second. And how often to call is your decision. Good realization example is something like TDXTimer from DelphiX.