关于循环后背景滚动的一个疑问

看了网上许多关于后背景滚动的帖子,基本上是在update里调整循环背景的位置(例如移动几个像素)达到背景循环滚动的效果。update是每一帧调用一次。
我有这么个疑问:
update每一帧调用一次,如果不同的设备,帧率肯定不一样,这时移动的速度就不一样。例如,有的机器是60帧,有的是30帧,那么移动速度就是2倍关系?
不知道我这样理解是否正确。一般这种情况是如何处理呢?

每一帧移动的距离是速度乘以帧间隔时间

帧间隔时间是不断地变的吧?

是的,只要帧频稳定,就没什么问题

帧率不稳定,效果就有问题吧?

如果不是每帧update里进行处理,而是自己写一个schedule定时器函数进行位置移动,时间间隔固定——例如 间隔0.02秒,移动多少个像素。 这样会有什么纰漏么? 还是会好一些?

帧率不稳定,整个游戏都会卡顿。schedule和这个用起来没什么区别,schedule函数的参数也是定时器两次调用之间的间隔

可以直接给背景sprite执行一个action, repeatforever,都不用写update。