hi, thank you very much, i understand now... but it seems to jitter

if i set vsync mode on, limiting at 60fps and i add code as:

[pascal]
d := 5;

if (buffer[DIK_A] and $80) <> 0 then
F_MapBuilder.Player.PosX := F_MapBuilder.Player.PosX + d
else if (buffer[DIK_D] and $80) <> 0 then
F_MapBuilder.Player.PosX := F_MapBuilder.Player.PosX - d;

if (buffer[DIK_W] and $80) <> 0 then
F_MapBuilder.Player.PosY := F_MapBuilder.Player.PosY + d
else if (buffer[DIK_S] and $80) <> 0 then
F_MapBuilder.Player.PosY := F_MapBuilder.Player.PosY - d;
[/pascal]

then it moves perfectly, no jitter or anything. if i then change to:

[pascal]
d := (F_ThisTick - F_LastTick) * 0.5;

if (buffer[DIK_A] and $80) <> 0 then
F_MapBuilder.Player.PosX := F_MapBuilder.Player.PosX + d
else if (buffer[DIK_D] and $80) <> 0 then
F_MapBuilder.Player.PosX := F_MapBuilder.Player.PosX - d;

if (buffer[DIK_W] and $80) <> 0 then
F_MapBuilder.Player.PosY := F_MapBuilder.Player.PosY + d
else if (buffer[DIK_S] and $80) <> 0 then
F_MapBuilder.Player.PosY := F_MapBuilder.Player.PosY - d;
[/pascal]

if you'd like to check what i mean >

http://www.meka-meka.com/meka/FuryEngine.rar

thanks alot for help