[pascal]const
MAXFPS = 1000 div 101 // substitui o 101 pelo valor m?°ximo de fps desejado
var
LastCheckTime, NewCheckTime: Cardinal;
FPSCount: Integer;
FPS: Integer;
NextFrame : Cardinal;
/////////////////////////////////////
if (DXBase.Direct3DDevice = nil) then Exit;
if gettickcount >= NextFrame then
begin // MAX FPS IF BEGIN
// add the minimal interval for the next reder to NextFrame var
inc(NextFrame, MAXFPS);
DXBase.Direct3DDevice.Clear(0, nil, D3DCLEAR_TARGET or D3DCLEAR_ZBUFFER, BgColor, 1.0, 0);
if (SUCCEEDED(DXBase.Direct3DDevice.BeginScene)) then
begin
// RENDER CODE HERE
end;
DXBase.Direct3DDevice.EndScene;
DXBase.Direct3DDevice.Present(nil, nil, 0, nil);
end; // MAX FPS IF END
CalculateFPS; // The same you are using[/pascal]
Post if you have any trouble
Bookmarks