滚动数据不平滑 ,快慢交替, 抖动
这组是向上滚动,y轴每帧增加高度
貌似找到问题了 应该和帧率有关
手机刷新率设置成90 游戏帧率60不变 卡顿更明显了
暂时的解决方案 修改游戏帧率
game.frameRate = 240;
屏幕实际刷新率有多少,游戏的FPS就是多少
手机锁60帧,游戏里FPS60
手机锁90帧,游戏里FPS90
手机锁120帧,游戏里FPS120
手机开120帧省电动态降帧,游戏的FPS会根据屏幕刷新率动态变动
市面上现在手机有60帧的、90帧的、120帧的、144帧的、165帧的,240帧的倒是没见到,不过过不了几年也会出现。
用户买高刷屏手机就是为了流畅,还有一部分就是为了玩游戏,习惯了高刷屏的用户去看60或者30帧的画面就会感觉不流畅,卡卡的感觉。
看后面官网会不会弄渲染分离,逻辑帧60,渲染帧根据手机刷新帧率来。
难道帧率和刷新率不一至时,计算不准有跳帧的可能
其实只细看还是有轻微的跳帧 只是不那么明显了
以前旧版本,是非常丝滑,设置60时候,
是不锁帧的,默认用是浏览的实际刷新率
我有个猜测
手机帧90 游戏帧60 到61~90帧就等待在那里的
这是肯定,引擎要做延时,然后运行行下一帧
我猜错了,是渲染跳帧。
手机锁90帧,每帧11.11毫秒左右
游戏60帧,每帧16.66毫秒左右
手机渲染第1帧,游戏渲染第1帧,
手机渲染第2帧,游戏不渲染,
手机渲染第3帧,游戏渲染第2帧,
dt快慢交替,
加上现在高刷屏手机,为了省电有自动降手机帧率的功能,
手动滑 scrollview 时手机帧120,松开自动滚的时候,手机从120帧降到60帧这过程,dt的波动就更大了,给人的视觉就感觉更卡了
dt浮动大,算出来就不平稳
所以解决办法是?
1.修改引擎,不锁帧率,同步浏览器刷新
2.看看官方或其他大佬,有没更稳定合理计算方式
大家还没找到解决方法吗
调高游戏帧率 game.frameRate = 240;
原理上面应该算解释得很清楚了
你想在电脑上复现 把frameRate改成40 大部分的显示器刷新率都是60 就能在电脑上看到卡顿的效果了
我们之前特意把游戏帧率降低了,帧率调高在ios下发热及其严重
frameRate 现在既是 逻辑帧 又是 渲染帧
要么你就打开 scrollview 界面把帧率调高,关闭后还原
要处理平滑 要自己去提交渲染 和手机刷新率对齐
比如游戏frameRate是60帧 手机刷新率90帧 你要自己去提交剩下这30帧的渲染
不过这30帧 要把scrollview上的UI控件位置做插值
还要考虑逻辑的时候拿位置进行计算啥的麻烦得很我就没弄
我项目直接 game.frameRate = 240; 完事