|Topic was automatically imported from the old Question2Answer platform.
|Published before Godot 3 was released.
I often use
_fixed_process(delta) in nodes when no physics is needed but the “time” loop from frame to frame with the time between the frame (
delta) is needed.
Is there an alternative to
_process(delta) but without physics? I mean function that is processed every frame and provide us with
I ask because, especially in mobile games,
_fixed_process sometimes cause jitter in movement.
If I understand right, nothing uses physics unless you add a node with physics.
‘_process’ is the regular method used in every game engine where you can touch things before every draw, delta (from delta time) is the time lapse you can use as integrator to avoid jitter.
‘_fixed_process’ executes every physics frame, a slower and almost fixed delta time, where is advised to manipulate physic objects, again, delta as your friend when moving things.
So, neither process has physics, your jitter could be related to something else (like rounding of some variable).
eons | 2016-10-09 18:46
Thanks! It makes sense that no physics calculation is done when no actual physics node (RigidBody etc.) is used.
The jitter I am talking about: let a sprite move with
set_pos(get_pos() + delta * Vector2(100, 0)). When on mobile device the movement is not so smooth (jitter every few frames) as I would expect. There was a discussion in Github about it and it seems to be related to physics but I did not realise that physics calculation is most likely not done when physics bodies are not in the scene even if
_process is called.
lukas | 2016-10-09 19:02
Oh, it could be this issue https://github.com/godotengine/godot/issues/2043
Affects some Android devices and old GPUs due to problems with OpenGL.
It -may- be solved with the new renderer.
Check if happens with any size and filter of texture, scaling of sprite or with no transparency (you can create it with a shader), maybe there is a way to avoid or conceal the effect.
eons | 2016-10-10 02:08