- 开启高性能模式后,切后台返回,会有之前屏幕的残影,导致游戏透明部分显示异常,关闭高性能模式后正常?
开启高性能模式后,切后台返回,会有之前屏幕的残影,导致游戏透明部分显示异常,关闭高性能模式后正常? cocos的 canvas.getContext("webgl", { stencil: true })
2023-10-26 - IOS 14 15 16 帧数低
3.3 iOS 14.0 ~ iOS 15.3 系统的性能问题iOS 14 之后,很多H5游戏都遇到性能问题,问题可以归结为:多个drawcall 之间是会共享同一份 vertexBuffer 和 indexBuffer 的,每个 drawcall 使用一个偏移值在共享的 vertexBuffer 和 indexBuffer 中找到本次渲染的数据,在 >= iOS14 系统上,这会使得性能反而变得非常糟糕。 一般不同引擎的社区都有相应的解决方案,如Cocos Creator和Egret Engine。 我们会和引擎团队逐步建联,后续使用最新版的引擎在高性能模式下会自动做这个修复,目前请参照社区的解决方案手动适配。 已经适配的引擎列表: Cocos Creator:2.x版本 >= 2.4.9,3.x版本 >= 3.4.2。 特别注意,cocos < 2.4.9必须手动适配,Cocos的修复仅仅是针对浏览器,对小游戏无效。Cocos适配示意: // 这里执行修复代码,此处仅为 cocos 引擎修复示意,不同引擎修复方式不同 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(); } Cocos的修复仅仅是针对浏览器,对小游戏无效,请问我们怎么修改可以对小游戏有效,开启高性能模式会自动解决吗,如果不开启高性能模式如何手动适配?
2023-10-17