The interface has a Frames property which can be used to adjust the interval of the timer.

const gameframerate=20; //set this to suit
procedure TForm1.DXTimerTimer(Sender: TObject; LagCount: Integer);
var frames:integer;
begin
if not DXDraw.CanDraw then exit; //locked
DXDraw.Viewport.ForceUpdate(0, 0, DXDraw.SurfaceWidth, DXDraw.SurfaceHeight);
frames:=DXTimer.FrameRate; //this is the machine-dependant data

DXDraw.Scene.Move(1.0);
DXDraw.Render;

if frames>gameframerate then inc(DXTimer.Interval) //slow down
else if frames<gameframerate then dec(DXTimer.interval); //speed up

DXDraw.Flip;

end;



Hope this helps.