Используйте _process(), когда требуется зависимая от фрейма дельта времени между кадрами. Если код, обновляющий данные объекта, должен обновляться как можно чаще, то это самое подходящее место. Здесь часто выполняются повторяющиеся логические проверки и кэширование данных, но все сводится к тому, с какой частотой нужно обновлять оценки. Если они не должны выполняться каждый кадр, то другим вариантом является реализация цикла Timer-timeout.
func _ready():
var timer = Timer.new()
timer.autostart = true
timer.wait_time = 0.5
add_child(timer)
timer.timeout.connect(func():
print("This block runs every 0.5 seconds")
)Используйте _physics_process(), когда требуется независимое от кадра время дельты между кадрами. Если коду требуется последовательное обновление данных во времени, независимо от того, насколько быстро или медленно движется время, то это самое подходящее место. Повторяющиеся кинематические операции и операции преобразования объектов должны выполняться здесь.