3.8.4 ScrollView在手机浏览器滚动卡顿 有解决方案么?

如果帧率稳定,多是移动画不平滑造成,
精度不够会抖动(取整),移动没缓动也会质感差(加缓动插值)。

没虚拟列表
scrollview content 上的内容比较多 有很多editbox label sprite

就是scrollview content上有很多子控件

在手机浏览器上 用scrollview自身的滚动时 就感觉一卡一卡的

引擎,如果跳帧也会卡顿感,

有没进行锁帧,高刷屏之类,

可以传个demo , 给大家试试。

不过,scrollview 确实不怎么丝滑,高刷屏还不错

我回家弄个demo传上来

Demo.zip (32.4 KB)
creator3.8.4 的 deno 文件,只有个 scene 和一个 prefab

我的是 android 手机 用手机浏览器或者微信扫码 测 scrollview 的滚动 卡顿很明显
我3个同事的 ios 手机 scrollview 滚动卡顿比 android 手机更严重

ScrollView 的 Brake 惯性减速的时候,感觉UI控件一抖一抖的,特别是Label

滚动数据不平滑 ,快慢交替, 抖动

这组是向上滚动,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.看看官方或其他大佬,有没更稳定合理计算方式