Argument dt in update(dt) is not equals to game update interval

Hello, I got the problem like variable-dt-causes-game-to-run-twice-as-fast, which was commented to be fixed in Defold 1.2.126.

I am using 1.2.156, and still get this problem: the game runs much faster, and by print the dt, its value is fixed to 0.016667.

My project is create from mobile template(only changed the screen size, and default filter(to nearest).).
In case, the test code is:

function update(self, dt)
	local pos = go.get_position()+ vmath.vector3(1, 0, 0)* self.speed* dt
	go.set_position(pos)

	msg.post("@render:", "draw_text", {position=vmath.vector3(100, 100, 1), text=string.format("%d, %d", pos.x, pos.y)})
end

What do you have as Frame Cap and Vsync in game.project in the Display section? And which device are you running your game on?

Frame Cap is 0, and Vsync is checked, as default.
I’m testing on my desktop, windows 10.

Have you read this?

oh, thanks for reply.
I had test different options when I got stuck. The last options is Frame cap: 60(or some other, just not 0), Vsync unchcked, this works well for me.

btw, another question for me is, when I use Vsync: uncheck, Frame cap: 0, I think this should give me the max fps for my machine. but the dt is like this:
%E5%9B%BE%E7%89%87
So, fps is about one thousand, but how comes there are some “1” in update?