cocos 性能优化
cocos 性能优化分为四部分:渲染优化、包体优化、内存优化和cpu优化
首先是渲染优化
1、合图
静态合图:使用Texture Packer或者自动图集,将碎图打包到一张图集里
动态合图:在精灵资源的属性检查器中勾选packable(默认勾选)才能开启动态合图,小游戏和原生平台默认关闭动态合图,需要手动开启。
2、节点的显示和隐藏 少用active的true或者false,active的使用会重新渲染节点数,可以用位置或者透明度来代替。
3、减少draw call的次数。draw call是一种行为指令,即cpu调用图形api,命令gpu进行图形绘制。由于draw call带来的cpu 和gpu的渲染状态切换消耗,往往需要通过批次合并来降低draw call的调用次数。引擎默认会自动合批,但是需要保证相邻节点的渲染状态是相同,避免打断合批的情况,包括纹理的状态(相邻的渲染节点使用的图片不是同一张-->图集的作用)、混合模式(blend mode)、模板状态( Mask、Graphics、ScrollView),延申一下(TiledMap、Spine 和 DragonBones 这三个中间件组件是遵循自己的内部合批机制)
了解的打断合批的情况,我们就可以给出解决方案了。
1、使用静态合图,将相邻的渲染节点用图打包到同一个图集里。
2、尽量少修改混合模式。
3、动态变化的字体使用fnt字体。
4、会打断合批的渲染组件放到节点的最后面。
包体的优化
1、图片
尽量少使用大图,可以用拼接的方式或者九宫格的方式,图片的格式 jpg占用的内存比png占用的小,可以用图片压缩工具对图片进行压缩 降低分辨率。
2、声音
声音格式 占用内存 mp3<ogg<wav
3、引擎代码
没有使用的到模块可以去掉
内存优化
1、静态资源优化,自动释放场景资源,在场景中勾选自动释放资源选项,当场景跳转时自动释放资源。
2、动态资源优化,引用计数来管理内存,创建时计数为1,调用retain计数加1,release计数减1,为0时释放内存。常见的addChild和removeChild会分别加1减1。autoRelease把节点加到自动释放池中,在当前帧结束时,池中的节点会调用一次release,起到延时自动释放的作用。
CPU优化
1、代码优化,
2、游戏帧率优化
cocos 性能优化相关推荐
- cocos性能优化之spine动画
最近在做一个塔防的项目,怎么说呢,炮台,子弹攻击特效加上受击特效等等等一顿代码撸下来一看dc稳定在200+,这还只是核心的游戏逻辑,如果加上ui那还得了,普通手机挂几分钟就直接挂掉,那就想只能先优化了 ...
- Cocos Creator 性能优化:DrawCall
Cocos Creator 性能优化:DrawCall(全面!) title: Cocos Creator 性能优化:DrawCall 前言 在游戏开发中,DrawCall 作为一个非常重要的性能指标 ...
- Cocos Creator性能优化---DrawCall
前言 在游戏开发中,DrawCall 作为一个非常重要的性能指标,直接影响游戏的整体性能表现. 无论是 Cocos Creator.Unity.Unreal 还是其他游戏引擎,只要说到游戏性能优化,D ...
- Cocos Creator ScrollView 性能优化
9月份 Cocos 技术开发分享会第 2 期在深圳圆满举行,近期我们将对活动干货进行整理,陆续在公众号上发布,没能去到深圳现场的开发者可以关注一下!对于分享的议题有哪些疑惑也欢迎在文末给我们留言! 本 ...
- cocos微信小游戏开发-http请求-使用微信云函数-toast-loading-动态加载图片-添加触摸事件-微信分享-label点击事件-背景音乐音效-程序活动状态判断-性能优化
cocos开发微信小游戏相关-<益智推箱> 扫码查看功能,有需要可直接提问 Cocos Creator 3.4 用户手册 cocos creator基本操作 微信开发文档|云函数 1. h ...
- Cocos Creator 性能优化——对象池
对于游戏开发人员来说,性能优化是一个永远绕不过的话题,极致的性能是我们毕生的追求,今天就来带大家学习一下性能优化方法之一--「对象池」. 为什么要使用对象池? 在开始之前要先弄明白为什么要使用对象池 ...
- 【Web技术】985- 当聊到前端性能优化时,我们会关注什么?
大前端 前端知识宝库 坚持日更 关于这期分享内容 性能优化一直是前端领域老生常谈的问题,系统的性能以及稳定性很大程度上决定着产品的用户体验以及产品所能达到的高度.而tob和toc系统又有着不同的业 ...
- 抖音爆款小游戏《我飞刀玩得贼6》性能优化案例分享
一.抖音网红小游戏,爱的魔力转圈圈 <我飞刀玩得贼6>是北京冰狮科技有限公司旗下睡神飞工作室推出的一款创新.io 类游戏,独创的魔性飞刀大作战玩法广受玩家喜爱,在 TapTap 上有超过 ...
- cocos2d 性能优化
cocos2D 性能优化 (新手干货) cocos2D 性能优化主要就是对于内存的优化 1.纹理大小优化 纹理占用是cocos内存占用的大头,所以优先解决纹理的内存优化. 在TexturePacker ...
最新文章
- ios--用证书进行真机调试(转)
- npm run buil构建后页面白屏_从Npm Script到Webpack,6种常见的前端构建工具对比
- C# Process执行bat
- 【控制】《多智能体系统一致性协同演化控制理论与技术》纪良浩老师-第14章-带通信和输入时延的异构竞争多智能体系统分组一致性
- 6_2 铁轨(UVa514)栈
- 堆栈被无意中修改导致程序挂掉
- Linux Shell常用技巧(八)
- 苹果笔记本能不能用python_“苹”除了苹果还能组哪些词?苹组词,释义及造句汇总!...
- WebApi 数据保护操作未成功。这可能是由于未为当前线程的用户上下文加载用户配置文件导致的。当线程执行模拟时,可能会出现此情况。,ExceptionType:System.Security....
- 139社区改版能给我们带来什么?
- CCF NOI1067 最匹配的矩阵
- 看后至少多活十年--只需十分钟
- 大事件归来,爷青回!
- Pixel 3a 开箱及 Google Fi 服务评测视频
- Linux文件系统(七)---系统调用之open操作(三) 之 open_namei函数
- 搜索引擎技术优化原理及方法
- FastReport VCL如何在 Lazarus安装FastReport
- kali下域名解析失败
- 犬心犬意 - 狗为什么会趴在地板上睡觉,不怕着凉吗?活久见
- Port Forwarding in Windows
热门文章
- 【计算机毕业设计】java ssm 高校食堂订餐/点餐系统
- 蓝桥杯14届(2023)省赛 C/C++ B组 C:冶炼金属
- 新装Kali需安装的常用软件
- node.js案例:抽出特定的文件
- 前端适配放大缩小比例
- java基于微信小程序的药品购物商城系统 自助购药小程序uinapp 计算机毕业设计
- SSM酒店(宾馆)管理系统
- python 相关性检验怎么计算p值_机器学习:数据的准备和探索——数据假设检验...
- SUMO学习(1)关于osm地图无法转换xml
- ROS2 Launch文件编辑及运行