hi, not when partially closed, it has to be fully covered, then after moving it out the way it is running at a much higher framerate...

dx params:
[pascal]
with EParams do begin
hHandle := h;
bFullScreen := False;
bInitDeviceOnCreate := True;
iResWidth := 800;
iResHeight := 600;
iTotalBackBuffer := 1;
iColorDepth := D3DFMT_A8R8G8B8;
end;
[/pascal]

basically furthur into initilization of my engine i call.

[pascal]
Engine.EnterLoop;
[/pascal]

which is as follows:

[pascal]
procedure TNemesisEngine.EnterLoop;
var
msg: TMsg;
begin
PeekMessage( msg, 0, 0, 0, PM_NOREMOVE);

while (WM_QUIT <> msg.message) do begin
if PeekMessage(msg, 0, 0, 0, PM_REMOVE) then begin
// Translate and dispatch the message
TranslateMessage(msg);
DispatchMessage(msg);
end;

Render;
end;
end;
[/pascal]

and render is:

[pascal]
procedure TNemesisEngine.Render;
var
i: Integer;
cont: TNemesisControl;
curtick: Int64;
begin
if (NemRes.FDXDevice = nil) then exit;

// Clear the backbuffer to black
NemRes.FDXDevice.Clear(0, nil, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,0), 1.0, 0);

// begin the scene
if Succeeded(NemRes.FDXDevice.BeginScene) then begin
// Rendering of scene objects can happen here

for i := 0 to NemRes.FComponents.Count-1 do begin
cont := NemRes.FComponents[i];
cont.Render;
end;

for i := 0 to FStaticControls.Count-1 do begin
cont := FStaticControls[i];
cont.Render;
end;

// End the scene
NemRes.FDXDevice.EndScene;
end;

// Present the backbuffer contents to the display
NemRes.FDXDevice.Present(nil, nil, 0, nil);

//check fps...
QueryPerformanceCounter(curtick);
NemRes.iFPS := (curtick - NemRes.iFTPTick) div 1000;
NemRes.iFTPTick := curtick;
end;
[/pascal]

each control render is a virtual method so its basically just drawing the controls etc, but if i remove the whole draw procedure, it still runs at 60fps.....

-MM