3.x 多纹理合批 (H5小游戏)

大家好,我是98K (最近待业中,欢迎投喂),
这次为大家提供,适应性更强的2D小游戏性能优化方案,

Creator 3.x 高性能多纹理合批,解决日常2D游戏性能问题,一劳永逸安心做好H5小游戏。

在线体试玩连接(已经混淆,性能损耗,仅作体验,性能以工程为准)

获取地址:98高性能多纹理合批

功能特点

  • 对默认精灵材质DrawCall能下降N倍到8倍
  • 开箱即用 ,不影响工程,无需定制引擎
  • 解决图文混合不同纹理带来DrawCall问题
  • 支持全图片格式多纹理合批包括压缩纹理

购买须知

  • 早买早优惠, 方案会继续优化和完善,绝对物超所值,优化必备。

  • 制作不易,希望购买的朋友,能和我一对一的联系,一起交流解决游戏优化问题。

  • 本产品为付费虚拟商品,一经购买成功概不退款,请支付前谨慎确认购买内容。。

开发环境

  • 引擎版本:Cocos Creator 3.7.x - 3.8.x
  • 编程语言:TypeScript

已适配平台

H5 微信小游戏 Android原生 iOS原生 抖音小游戏 OPPO小游戏 vivo小游戏
:heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:

本资源仅支持测试通过平台,请认确认。

使用方法

  1. 资源放在工程resources目录下,开箱即用

1723079622246.png

  1. BATCHER2D_MEM_INCREMENT (建议1440)

项目需求

今年小游戏是疯狂的流水,目前已经开始走向中重度,随着游戏体量和复杂度的增加,保证游戏的性能体验,

开发要面临以下问题:

  • 1.复杂UI系统,背包系统,多层的图文混合,由于不同纹理会打断绘画,容易产生大量DC

  • 2.为了节省GPU内存,采用压缩纹理方案(不支持动态合图)。实际项目中,未必能全部打上整个大图,容易会产生大量DC。

  • 3.大量的不同精灵,序列帧精灵播放变换,角色各种层级设计,各种技能buff的层级,这是战斗常见的需求,也是不好控制,很容易产生大量DC。

  • 4.大地图设计2D ,通常是按类型分层打的大图,而且图量众多,打一张大图也是不现实,各种地编层级和动态物体增删,同时还要兼顾与角色之间排序的遮挡关系,不可避免容易产生大量DC。

高性能多纹理合批,有效的解决上面这些问题,它是一个头部厂商2D性能决方案,

(像, 百炼英雄江南百景图… , 这些成功的游戏项目,都在采用多纹理合批方案).

除上面说的游戏外,对现在流行2D游戏,例如: 塔防,弹幕,割草,肉鸽,背包,打僵尸,…也能提供良好的2D精灵合批性能。

方案测试:

获取地址:98高性能多纹理合批

下面是对本多纹理方案的实际测试

  • 平台:微信小游戏 Android
  • 设备:小米10 Pro 骁龙 865

500背包测试(图文混合)

背包场景可以理解,静态UI的合批性能

测试结果: (多纹理合批,均能保持60fps)

  • 左图:多纹理合批 + 使用大图集
    • fps: 61.62
    • drawCall: 5
    • render(ms): 8.69
  • 中图:多纹理合批( sprite 散图 )
    • fps: 61.88
    • drawCall: 297
    • render(ms): 10.79
  • 右图:关闭多纹理合( sprite 散图 )
    • fps: 47.71
    • drawCall: 3990
    • render(ms): 19.76

1000角色测试( 运动遮挡,图文混合 )

角色场景可以理解,动态战斗场景的性能

测试结果:(多纹理合批,均能保持60fps)

  • 左图:多纹理合批 + 使用大图集
    • fps: 61.62
    • drawCall: 6
    • render(ms): 9.25 ms
  • 中图:多纹理合批( sprite 散图 )
    • fps: 62.50
    • drawCall: 233
    • render(ms): 12.21 ms
  • 右图:关闭多纹理合( sprite 散图 )
    • fps: 28.14
    • drawCall: 5015
    • render(ms): 33.67 ms

测试分析总结:

  • 1.(多纹理+合图) > (仅多纹理) > (祼奔),上面体性能优化效果,有高到低排列。

  • 2.多纹理合批,不开启合图,散图情况下也能保持60fps以上,DC也能暴砍数倍,性能明显改善。

  • 3.开启引擎合图(等同打大图集),DC得进步一的降低,render时间消耗也低明显,这样能为游戏逻辑腾出更多性能时间。

最后优化提示:使用多纹理方案,结合打大图集+引擎动态合图,进一步降低DC, 性能发挥到极致。

联系作者

获取地址:98高性能多纹理合批

欢迎添加个人微信,交流优化方案和经验,介绍工作或技术合作

未标题2.png

版权声明

  • 该插件的源代码可商业使用
  • 不得进行任何形式的转售、租赁、传播等
  • 交个朋友,有问题能及时找我沟通解决,也能交流学习各种优化方案。

98k技术公众号:

qrcode1724053210155

98K其他作品:

体验连接:高性能【1000怪同屏割草方案】

296131ebb09d4e86b718687d970d1192.png

6赞

做的很牛逼 顶顶顶

大佬就是厉害,小小代码,大大作用

98k的东西还是有保障

浓缩的都是精华

太强了,非常不错

谢谢认可,程序员都比较实在

大佬牛皮 太强了

大佬66666

1.0.1 版本更新:

1.修复精灵模式
2.修复自义材质
3.修复2d粒子系统

更新地址:98高性能多纹理合批

Android原生是没测试还是不能用?

目前只支持小游戏h5小游戏,
得后面研究才知道,能不能打通原生。

这东西,研究过并且实践过。摒弃过了。

1赞

这个资源必须放resources目录下的吗

不知道spine能用不?

spine 和 FGUI 直接使用没有效果,需要设置什么?
还是说后续会支持

  1. Spine是不属于精灵,另外的材质
    2.spine不太建议合批,cpu运算量大
    FGUI 加我上面微信

dc确实降了,我用了很多spine,在h5手机上会很卡,手机特别烫

Spine是由引擎外理.
建议,spine开缓存模式,关闭合批,才是最省性能

大佬,支持Mask合批吗,支持的话就入手了