针对 iOS 14 Web 平台性能变差的优化方案

ios13 8p fps是58, 但不是用同一个手机测试的

在项目跑出来的。没有demo。

项目中 DragonBones 的素材也出现相同问题,有些 DragonBones 动画会渲染不出来,查看打印也出现 Failed to update data, bytes exceed.

Creator 版本:2.0.10

请问,Creator 3D有这个问题吗?

自定引擎我也没整出来,但打包的web包里把上面给的代码粘进main.js里的方法里我试了有用,不像之前那么卡了

2.3.2应该怎么改呢?上面的回复中都没有找到。

const isIOS14Device = cc.sys.os === cc.sys.OS_IOS && cc.sys.isBrowser && cc.sys.isMobile && /iPhone OS 14/.test(window.navigator.userAgent);
if (isIOS14Device) {
cc.MeshBuffer.prototype.checkAndSwitchBuffer = function (vertexCount) {
if (this.vertexOffset + vertexCount > 65535) {
this.uploadData();
this._batcher._flush();
}
};
cc.MeshBuffer.prototype.forwardIndiceStartToOffset = function () {
this.uploadData();
this.switchBuffer();
}
}
解决方案里的2.2以上的方案里给的这串代码粘进我的项目打包的web包里的main.js里,我试了不掉帧了

微信小游戏有这个问题吗?因为看判断是只在web上

这个 我在项目里加了 但是 出现个问题 cc.tween 可以正常 但是 我这样写

一个位置动画 好像卡顿啊 ,之前很流畅的

按 > 2.2 的方案改

没有 12344

上线后 8p满帧跑,不知道为啥测试包跑不满

抽空发个新版本吧,统一 一下,要不一直问,部分人都不知道有这回事

按说明改了,ios14的帧率上来了。但是有两个问题:1、有些spine显示不正常会报错; 2、粒子系统会有黑底。引擎大大们帮看看吧。附带ios14spine_particle.zip (1.7 MB)个小demo

3D测试下来是正常的,没有受到影响

:ok_hand:

引擎版本:2.0.9

dragonbone 也遇到相同问题,大佬看一下吧,对项目影响严重,谢谢

持续关注中