国旅手游网提供好玩的手机游戏和手机必备软件下载,每天推荐精品安卓手游和最新应用软件app,并整理了热门游戏攻略、软件教程、资讯等内容。欢迎收藏

当前位置:国旅手游网资讯手游资讯内容

《我飞刀玩得贼6》性能优化案例分享

发布时间:2023-05-09 23:56:36 阅读:145次 编辑:映冬 来源:网络整理

《我飞刀玩得贼6》是北京冰狮科技有限公司旗下睡神飞工作室推出的一款创新.io 类游戏,独创的魔性飞刀大作战玩法广受玩家喜爱,在 TapTap 上有超过 100W+玩家关注这款游戏,更是一度霸占AppStore 免费榜第一名,评分高达 4.8。奇特的是,这款游戏的成功并不归因于发行团队的营销手段,而是靠网友自发传播而走红,与游戏有关的话题“爱的魔力转圈圈”讨论数量高达 8 亿。

《我飞刀玩得贼6》性能优化案例分享

与其他.io 游戏不同的是,《我飞刀玩得贼6》将攻击与防御融合成一个点按动作,按住屏幕可控制飞刀移动且处于闭环状态,松开手指则飞刀朝外处于防御状态,地图上的众多障碍会限制体积大的飞刀阵的移动,触碰到障碍时,飞刀会被削减,段位提升后还有黑洞等障碍提升难度。

《我飞刀玩得贼6》性能优化案例分享

“贼6”是游戏界广为流传的一个梗,源自《守望先锋》的“开黑吗?我半藏玩得贼6”,后来游戏中对操作要求较高的英雄都会被套进这个梗中,形成了一种亚文化现象,抖音相关的短视频中处处充斥着对游戏魔性标题的调侃。1月22日,有抖音用户发布了一个与游戏有关的恶搞风翻唱视频,一句黑龙江口音的“爱的魔力转圈圈”很快走红抖音,成为了又一抖音神曲。两大热点加持,用户自发的爆炸式传播,加上抖音官方的推波助澜,成就了这款游戏的爆红。

《我飞刀玩得贼6》性能优化案例分享

二、H5 移植小游戏平台,如何做性能优化?

《我飞刀玩得贼6》拥有 H5 版本和小游戏版本。在小游戏级别的体量上,游戏同时兼备了可玩性、深度以及平衡性的考量,不过从 H5 移植到小游戏平台的过程中,工作室也不免遇到了一些技术难题,例如小游戏的性能以及 DrawCall 的优化等,Cocos 团队提供服务参与了这款游戏的性能调优过程,经冰狮科技的同意,今天同各位开发分享一下这款抖音网红小游戏具体的优化方案。

引擎版本:

Cocos Creator v2.0.9

排查原因:

通过调试引擎代码,结合项目的具体信息,Cocos 引擎工程师定位到了问题,并第一时间跟进解决。

《我飞刀玩得贼6》性能优化案例分享

(1)飞刀资源的 batching 被打断

原因分析:

由于飞刀的碰撞使用到了碰撞分组,碰撞分组是由节点属性 groupIndex 决定的,而引擎中的 cullingmask 也使用了 groupIndex 来作为渲染的分组标示,因此造成飞刀的渲染 batching 被打断。

问题代码:

《我飞刀玩得贼6》性能优化案例分享

评估的优化方案:

检查飞刀逻辑,确认飞刀在玩家身上时的 groupIndex 有统一设置,从 nodepool 中获取飞刀时,飞刀的 groupIndex 有进行设置

在 CCNode 中定义一个新的属性用来作为碰撞分组的标示

修改 batching 的代码,在 material 为飞刀的材质时,忽略 cullingmask 的判断

微信上默认关闭了 dynamicAtlas 功能,开启 dynamicAtlas,会有效减少 DrawCall,但会带来内存的增加。可以通过修改引擎 dynamicAtlas 的 insertSpriteFrame 方法,以及 CCTexture2D 的 handleLoadedTexture 方法,使得只有飞刀的资源会进入到 dynamicAtlas 中,实现小范围的动态 batching 功能,从而可以内存增长这个副作用控制在一定的范围内。

最终使用的优化方案:

由于项目进度,暂时只做了第一步,基本可以解决掉问题。2、3、4是比较极致的优化手段,并未实现,最终效果降低了 30~40 个DrawCall。

(2)CollisionManger 的帧率默认为 60 fps,定制修改为了 30 fps,最终优化效果在低端机上可以节约 5 ms。

《我飞刀玩得贼6》性能优化案例分享

(3)字体优化,排行榜、击杀提示等均适用的系统字体

评估的优化方案:

尽量使用 bmfont 字体,不使用系统字体

开启 dynamicAtlas 功能,Label 的 CacheMode 选择为 BITMAP

使用 RenderTexture 创建节点快照,将字体图标放到一个 RenderTexture 中,最终以图片的形式整体显示

最终使用的优化方案:

全部字体更换为 bmfont

其他方案也都是比较极致的优化手段,未实现,同时开启 dynamicAtlas 这个方案要配合飞刀的优化方案一起使用才会比较好

(4)粒子、飞刀、玩家为动态创建,影响性能。

评估的优化方案:

使用 nodepool,将所有的粒子,飞刀,玩家,全部提前创建好,整个游戏过程没有任何 prefab 的创建。

(5)Canvas 外的节点还进行渲染,影响性能以及DrawCall,渲染效率。

评估的优化方案:

Camera 定制剔除功能,使得 Camera 外的节点不进行渲染。

最终使用的优化方案:

仅剔除 Camera 外的玩家以及背景上未被拾取的飞刀

玩家身上的飞刀不剔除,考虑到飞刀皮肤都一致,只占一个 DrawCall,且如果剔除的话,需要计算飞刀位置,消耗的性能也不小,权衡性能后发现得不偿失,因此没有实现。

效果在对 DrawCall 比较敏感的低端机上提升较大:A57 上 fps 从 30 提升到了 45+。

《我飞刀玩得贼6》性能优化案例分享

经过以上几点,最终 DrawCall 从原来的 130+ 优化到了目前的 50-80 之间,在低端机例如 oppo A57 上最终游戏稳定运行在 45-55 帧。

回顾与冰狮科技的技术支持服务过程,在收到需求之后,Cocos 第一时间与冰狮科技建立了联系,在详细了解了项目情况以及游戏玩法后,针对“优化”这类原因不确切的问题提出了具体的排查方向,于此同时,冰狮科技也为 Cocos 提供了测试数据和表现。从需求建立到最终解决问题,只花了 3 天时间。

突如其来的爆火之后,也出现了不少对《我飞刀玩得贼6》苛责的声音。游戏本身的创意和基础都很扎实,然而在在细节方面仍存在进一步打磨和提升的空间,我们也很期待《我飞刀玩得贼 6》能够继续优化游戏体验,丰富游戏玩法。Cocos 引擎将继续帮助冰狮科技解决研发过程中遇到的技术难题,提升开发效率,助力游戏再创佳绩。

三、用最专业的技术,服务你出类拔萃的梦想

多年来,Cocos 引擎除了深耕底层技术,致力于为开发者打造高效、简单的游戏开发工具之外,还为开发者打造了付费技术服务,包含技术支持、企业培训和项目评估等。

技术支持: 为开发团队解疑答惑,解决开发过程中遇到的技术难题,加速项目进程。

企业培训: 根据企业需求,为开发人员量身打造精准的培训课程,通过面对面的技术培训,提升企业开发人员的技能水平,进而加速企业整体技术实力的提升。

项目评估: 为项目提供完整的技术评估、查找效率问题。

VIP 服务: 为企业提供包含技术支持、企业培训、项目评估等在内的全方位服务支持,除此之外,Cocos 百万开发者用户以及丰富的线上线下推广资源,可助力企业进一步提升品牌影响力。

国旅手游网映冬小编为大家介绍的关于【《我飞刀玩得贼6》性能优化案例分享】不知道是否符合各位玩家的胃口。如果您还对其他内容感兴趣,请持续关注我们的手游资讯栏目。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭侵权/违法违规的内容,欢迎发送邮件至【1047436850@qq.com】举报,并提供相关证据及涉嫌侵权链接,一经查实,本站将在14个工作日内删除涉嫌侵权内容。

本文标题:【《我飞刀玩得贼6》性能优化案例分享】

本文链接:http://www.citshb.com/class18856.html