刚开始还以为DT参数影响了运行性能或者获取的不准,结果最后检查出来是我重复调用了,等于给慢的机器平方补偿了,造成越慢的机器移动反而越快,哎,写程序还是得细心啊,啪啪打脸了。
哈哈
,你应该没有搞清楚deltatime的本质
其实就是一帧消耗的真实时间
你用了物理引擎没有用了的话要特殊处理的
Unity不卡
给你换上敌军的衣服 
固定时间用来算逻辑的。。
渲染还是update
很少用dt时间,用的时间也没发现这个问题
结果就是30帧的机器比60帧的机器运动速度慢了一半(虽然看上去是流畅的)
本身就是精度问题
用了update的一个参数能影响到性能是我没想到的,我想不到影响的原因,因为无论用不用这个参数都在,目前造成的表现我觉得很可能是逻辑中有的地方你乘了dt,有的地方又没有乘dt,导致了感觉速度变慢的问题。
就算慢一半起码还能玩吧。我现在用了的情况是原来50多帧也不算很卡的的机器,用了后比60帧的机器偶尔出现运动速度还快一倍的情况,而且是跳着走的,像跳帧一样。反正一句话就是:不用玩起来完全没问题,用了就基本没法玩。
我觉得应该是不调用他不会去计算这个参数,调用的时候才会去计算。
我用3.6试一下,之前是3.x早期版本做过一个demo,30帧和60用dt来计算没出现这种问题
是3D即时动作类的吗?而且不是把帧数改成30帧,是用不能满帧运行的老机子来试,才准确。
即使是调用时计算,也仅仅只是做一个减法而已。可以验证一下是不是逻辑问题,将用到dt的地方用一个常量替代,如果此时表现正常了,那么确实就是dt影响了性能,如果表现依旧不对,那么就是逻辑问题。
用垃圾手机测的,只有20多帧,和60帧运行速度没差异
用旧手机测的,只能跑20多帧,跟60帧最起码“速度”这块是能对上的
我猜还是你用的不太对,把逻辑放上来,帮你分析分析
我打印了每帧的DT,60帧下DT是0.01663,8帧下DT平均是0.1338,大致上没什么问题,用新项目只测试纯位移的情况下也没什么问题,不同机子可以达到速度同步,难道是用了虚拟摇杆后造成的问题,我先再测试一下。