cocos creator 性能优化

本文详细介绍了Cocos Creator中的性能优化,重点在于DrawCall的优化,包括节点显示隐藏、节点添加的异步处理、Loading界面与节点池的使用、资源管理、竖屏游戏适配等策略。同时,深入讲解了DrawCall的概念和减少DrawCall的原因,通过实例展示了如何通过静态和动态合图、位图字体(BMFont)以及UI层级调整来减少DrawCall,提高游戏性能。
摘要由CSDN通过智能技术生成

基于Cocos Creator2.0.9 & Cocos Creator 2.1.0

1. 节点的显示及隐藏

优化原因: 在子节点较多的UI界面、重新遍历整个渲染树,效率很低。
解决方案: setPosition | setOpacity
其它问题: drawcall会降不下来
补充解决: 使用Camera进行剔除,能够降低drawcall。

2. 节点添加。

代码片段:

for ( let i = 0, len = array.length; i < len; i++)
{
let node = cc.instantiate(prefab);
node.parent = this.node;
}

会遍历完for循环,逻辑再往下执行。
优化后:

for ( let i = 0, len = array.length; i < len; i++)
{
setTimeout(()=>{
let node = cc.instantiate(prefab);
node.parent = this.node;
}, i*100);
}
异步执行。

3. Loading界面和节点池的搭配使用

实时的创建及销毁,是较消耗CPU的,也会影响游戏帧率
Loading界面,尽可能的将需要用到的骨骼动画、飞弹、特效等加到节点树上。
搭配节点池回收可复用的节点。

4. 资源管理优化

场景1:游戏头像,单个ICON等资源并不适合打成图集, 这时候加载一张小图的速度,高于加载一整张图集。
场景2:老生常谈,打图集合并drawcall, 利用小图进行九宫格拉伸。
场景3:延迟加载资源,对于打开某些界面速度有提升。

5. 竖屏游戏适配

背景图片做宽做大,750*1334能适用极大多数终端屏幕。
贴边的UI使用Widget。

let frameSize = cc.view.getFrameSize();
let bFitWidth = (frameSize.width / frameSize.height) < (750 / 1334)
cc.Canvas.instance.fitWidth = bFitWidth;
cc.Canvas.instance.fitHeight = !bFitWidth;`100);

6. 其它

Spine动画换肤,却不成功,需要调用setToSetupPose
this.skeleton.setSkin(“t-01”);
this.skeleton.setAnimation(0, “idle”, true);
this.skeleton.setToSetupPose();

Spine动画有黑边
关闭Premultiplied Alpha贴图预乘

以上转载 https://forum.cocos.org/t/creator/77721

Cocos Creator 性能优化:DrawCall(全面!)

Creator

陈皮皮
ifaswind
Cocos Star Writer 🏆🏆
5
20年7月
【本文参与征文活动】 23

title: Cocos Creator 性能优化:DrawCall
date: 2020/07/02
updated: 2020/07/02
description: 可能是迄今为止你能找到的最全面的 Cocos Creator DrawCall 优化指南!
前言
在游戏开发中,DrawCall 作为一个非常重要的性能指标,直接影响游戏的整体性能表现。

无论是 Cocos Creator、Unity、Unreal 还是其他游戏引擎,只要说到游戏性能优化,DrawCall 都是绝对少不了的一项。

本文将会介绍什么是 DrawCall,为什么要减少 DrawCall 以及在 Cocos Creator 项目中如何减少 DrawCall 来提升游戏性能。

正文

什么是 DrawCall?

DrawCall 中文译为“绘制调用”或“绘图指令”。

DrawCall 是一种行为(指令),即 CPU 调用图形 API,命令 GPU 进行图形绘制。

Dra

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值