cocos creator 性能优化之减少drawcall数量

Cocos Creator3.8 项目实战(八)2D UI DrawCall优化详解(上) 合批的本质:在一帧的渲染过程中,保证连续节点的渲染状态一致,将尽可能多的节点数据合并一次性提交,从而减少绘图指令的调用次数,降低图形 API 调用带来的性能消耗,同时也可以避免 GPU 进行频繁的渲染状态切换。游戏开发的朋友都知道,在游戏开发过程中,DrawCall 是我们优化性能的一个非常重要的指标,直接影响游戏的整体性能表现,DrawCall数量越多,帧率会降低,能明显感觉到卡顿。每个字符绘制一次,并添加到大小为2048*2048 的字符图集中,场景不切换时,纹理不会重建,因为纹理大小是有限的, 阅读详情

导致drawer过高的原因我总结了几点,主要是用于prefab中:
1. 一个prefab中所有资源最好是同一个图集的资源,使用了相同图集的资源,在不停的添加prefab不会增加drwacall, 一旦使用不同图集,每增加一个prefab 就会增加相应的drawcall
2. 慎用label, 即使使用了相同图集资源,假如再在prefab中增加一个label, 就是导致你增加一个prefab 就会增加相应的drawcall
3.不要改变带sprite组件的节点的color, 这样做了 即使使用了相同图集资源,假如再在prefab中增加一个label, 就是导致你增加一个prefab 就会增加相应的drawcall
4.慎用default_sprite、default_sprite-splash 和singal color ,一旦使用了就会让drawcall继续增加

需要注意的几点:

1默认字体的每一个label都会产生一个drawcall.所以不能使用默认字体,需要使用bmfont工具制作位图字体。

2修改图片默认颜色会增加drawcall

3图片类型为九宫格会增加drawcall

4修改图片默认透明度会增加drawcall

5默认的纯色图片会增加drawcall

优化方案:最好让美术把图片和字体直接做成想要的颜色和透明度,不要在cocos修改。

button不要使用变色功能。


--------------------- 
作者:t_z_l 
来源:优快云 
原文:https://blog.youkuaiyun.com/weixin_41316824/article/details/85465842 
版权声明:本文为博主原创文章,转载请附上博文链接!

Cocos Creator教程:性能调优《如何优化2D/3D Drawcall》 为什么降低Drawcall能提升渲染性能;常用合批技术的原理以及优点与缺点分析;Cocos Creator 3.x 如何优化3D物体Drawcall;Cocos Creator 3.x 如何优化2D UI物体Drawcall。 阅读详情

相关推荐

CocosCreator客户端优化系列(二):渲染优化

CocosCreator客户端优化系列(二):渲染优化 渲染方面优化主要集中在如何降低draw call上,draw call越多,渲染的压力也就越大,对应的帧率可能就会下降,正常情况下如果draw call超过100就有可能带来卡顿,所以要注意这方面的优化 自动图集批处理 这方面相关的官方文档比较少,可以参考:BMFont 与 UI 合图自动批处理,但需要注意,这个文档比较旧了,现在新版本的情况...

BigBear的博客 1万+

CocosCreator 面试题(十二)Cocos Creator Label 的原理以及如何减少Drawcall

总结起来,Cocos Creator的Label组件通过将文本渲染到纹理上,并使用专门的着色器和材质来显示文本。这种方式可以实现高效的文本渲染,并提供丰富的样式和效果选项。在Cocos Creator中,Label是用于显示文本的组件。它的原理是通过将文本渲染到纹理上,并将纹理贴图显示在屏幕上来实现。

w风雨无阻w的专栏 2069

Cocos Creator 性能优化:DrawCall

前言 在游戏开发中,DrawCall 作为一个非常重要的性能指标,直接影响游戏的整体性能表现。 无论是 Cocos Creator、Unity、Unreal 还是其他游戏引擎,只要说到游戏性能优化,DrawCall 都是绝对少不了的一项。 本文将会介绍什么是 DrawCall,为什么要减少 DrawCall 以及在 Cocos Creator 项目中如何减少 DrawCall 来提升游戏性能。 正文 什么是 DrawCall? DrawCall 中文译为“绘制调用”或“绘图指令”。 DrawCall 是一

菜鸟小栈 4801

cocoscreator 减少drawcall的一些有效方法

1:节点列表按含有图集的子图的节点顺序编排 2:当有打断批处理的节点时,可以通过设置该节点透明度或者active属性进行隐藏,此时该节点就不会参加渲染,从而不会影响到连续的批处理 3:减少使用系统字,尽量用bmf字体替换 4:看不到的节点设置opacity透明度为0,当能看到时才设置为255,如scrollview的控件显示优化 5:创建自动图集,资源图标右键新建 》 自动图集配置 6:帧动画节点...

springleaf2的专栏 2709

将CityScapes数据集转换为COCO格式的实例分割数据集

##¥##2019年结束前最后两小时,写出本年度最后一篇博客,不是博主没地方去跨年,实在是Coding乐趣无穷ahhhh ##¥## COCO数据集是研究实例分割的通用数据集,但是针对道路环境的数据较少,对于自动驾驶和移动机器人的应用并不适配。而提供道路环境的实例分割数据的数据集目前有KITTI、CityScapes、Apllo等,CityScapes算是应用较广,数据质量较高的一个,所以,本篇...

陆羽飞的博客 9940

保姆级教程:在Windows上用Python+OpenCV调用海康工业相机(附MVS配置避坑指南)

本文提供了一份详细的Windows环境下使用Python和OpenCV调用海康工业相机的保姆级教程,涵盖MVS配置避坑、相机连接、图像获取与格式转换等关键步骤。特别针对工业相机取流中的常见问题,如独占访问控制和多相机协同工作,提供了实用解决方案,帮助开发者快速实现稳定的图像采集系统。

weixin_29228781的博客 399

【小伟哥游戏之路】Cocos creator & Unity 性能优化之减少 Drawcall 数量

做游戏时间长了后,会产生一个问题,你会按照最古老的做法实现业务逻辑,往往忽略了,新环境,新技术的扩展。 所谓的draw call 可以简单的理解为调用gpu的一次绘图指令。做unity的都知道drawcall 越小越好(不是绝对的),那么在当前硬件下,我希望保持足够的帧数的drawcall数是怎么计算的呢? 我像很多人跟我一样一知半解,只知道一般都要在150以下才能保持中低段手机玩的比较流畅。经...

Lightweight User Interface Toolkit 878

PCB数据集

整理了一部分PCB数据集

m0_57996537的博客 3867

【cocos creator】游戏优化,内存,性能,包体积大小,加载,drawcall优化

I、视锥剔除:摄像机的位置和视角形成一个视锥体,只有位于视锥体内的对象才会被渲染。简单来讲 CPU 准备好渲染数据,提交给 GPU 进行绘制的这个过程就是一次 DrawCall。因此,若一次性将更多渲染数据提交给 GPU,减少 CPU 的工作时间,就能提升游戏性能。简单来说,组织更多渲染数据提交给 GPU 的过程,称之为「批量渲染」,简称「合批」。III、背面剔除:对于封闭的几何体来说,朝向摄像机背面的面不需要被渲染。II、遮挡剔除:如果一个对象被其他对象完全遮挡,则该对象不需要被渲染。

烧仙草奶茶的博客 2027

HCIA-Storage 存储工程师学习笔记——1. 存储技术趋势

文章目录1. 存储技术趋势1.1 数据、信息与数据存储1.2 存储技术的发展①存储架构的发展②存储介质的发展③ 接口协议的发展1.3 存储产品的发展趋势 华为HCIA-Storage认证地址:https://e.huawei.com/cn/talent/#/cert/roadmap 1. 存储技术趋势 1.1 数据、信息与数据存储 什么是数据? ​ 数据是对所有事物的数字表示。 数据的种类? 结构化数据 半结构化数据 非结构化数据 数据的处理周期 ​ 数据处理是人或机器对数据进行的重组或重新排序,

超级大洋葱的博客 2846

电子发票二维码背后的秘密:10分钟看懂校验码、加密字符含义与防伪设计

本文深入解析电子发票二维码的结构与防伪设计,揭示校验码和加密字符的生成原理及验证方法。通过实际案例和技术细节,帮助财务人员理解电子发票的安全机制,提升防伪识别能力,确保税务合规。

weixin_29248611的博客 530

creator图片循环显示_动态合图你真的用好了吗?| Cocos Creator

原标题:动态合图你真的用好了吗?| Cocos Creator1. 动态合图的默认规则Cocos 引擎中对动态合图的描述如下:它能在项目运行时动态地将贴图合并到一张大贴图中。当渲染一张贴图的时候,动态合图系统会自动检测这张贴图是否已经被合并到了图集(图片集合)中,如果没有,并且此贴图又符合动态合图的条件,就会将此贴图合并到图集中。动态合图是按照渲染顺序来选取要将哪些贴图合并到一张大图中的,这样就能...

weixin_39607240的博客 1200

零基础学simulink仿真建模--基于Simulink进行农业机械用开关磁阻电机的仿真建模

特点结构简单:无电刷、换向器等易损件,维护成本低。坚固耐用:适合恶劣的工作环境,如农业机械作业现场。宽调速范围:通过适当的控制策略可以实现较宽的速度调节范围。挑战非线性特性:SRM的电磁特性和转矩特性具有高度非线性。复杂性:涉及电气、机械动力学以及控制系统的设计与集成。实时性要求:需要快速响应以适应不断变化的操作条件。多变量优化:包括电流控制、速度控制等多个方面需综合考虑。使用Simscape Electrical库来构建一个开关磁阻电机模型。

amy_mhd的博客 909

Cocos Creator性能优化-3-DrawCall

1.DrawCall是什么? CPU和GPU是并行工作的,它们之间存在一个命令缓冲区。当CPU需要调用图形编程接口的时候就会往命令缓冲区里面增加命令,当GPU完成上一次渲染命令的时候就会继续从命令缓冲区中执行下一条命令,命令缓冲区里面的命令有很多中,而drawcall就是其中的一种。CPU在提交drawcall的时候需要处理很多东西,比如一些数据、状态、命令等等,有些渲染卡顿问题就是因为GPU渲染速度比drawcall的提交速度快,可能上一次渲染完了,CPU还在计算drawcall,所以drawcall的性

Fushan98的博客 4457

YOLOv11 模型轻量化全流程:从剪枝到量化,打造移动端“极速检测利器”

将浮点模型量化为INT8模型,减少内存占用并加速推理。# 加载剪枝后的模型# 转换为TorchScript# 静态量化# 保存量化模型量化后模型推理速度可再提升20%,而mAP损失小于1%。

m0_64661770的博客 465

基于高光谱的物质反演与分类 — 技术文章(原理详解 + 深度代码实现)

高光谱遥感 / 近场光谱采集产生逐像素上百波段的光谱曲线,是物质识别与定量反演(abundance / composition estimation)和语义分类(landcover / material class)的一把利器。本文第一部分对常用模型(线性混合模型、非线性辐射传输、稀疏反演、降维与特征选择、分类器/神经网络)进行数学推导与理论分析;第二部分给出两套完整实现:A. 基于 LMM 的约束最小二乘 / 稀疏反演流水线(含端到端评估);

VectorShift的博客 220

Cocos Creator 游戏性能优化指南

游戏开发中,流畅的游戏体验是玩家最关心的问题之一。一个卡顿的游戏会严重影响玩家的体验,甚至让玩家失去继续玩的兴趣。因此,优化游戏性能是每个游戏开发者必须掌握的技能。本文将详细介绍在使用Cocos Creator进行游戏开发时的一些性能优化技巧。

qq_47012987的博客 7221

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Cocos Creator关于ScrollView减少drawCall和content子节点复用,减少加载时间的方法(附源码)

本方法适用于滚动视图ScrollView下content子节点均为同类型节点的情况,如背包、列表视图等。不使用Cocos自带的Layout组件,通过计算位置自行实现Layout功能,通过content的偏移量判断是否刷新子节点的显示。达到能够使content下子节点复用的效果,从而减少drawCall和加载时间。

wwbwwwwww的博客 1080

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

性能优化:在 Cocos Creator 如何通过改变渲染顺序减少 DrawCall

引言:说到游戏性能优化,DrawCall 都是绝对绕不开的一项。「Cocos Star Writer」夏羊群尝试自定义节点提交渲染的顺序来优化 DrawCall,以下是思路与实操分享,使用引擎为 Cocos Creator 3.3.1,欢迎大家交流探讨!前几天面试时被抓住不放,问了一系列关于 DrawCall 的问题。可惜我这两年一直在做 3D 游戏,对于 2D 方面 DrawCall 的关注几乎...

Cocos的博客 891

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

cocos creator 性能优化

基于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

u012919240的博客 3676

Cocos Creator性能优化---DrawCall

DrawCall 中文译为“绘制调用”或“绘图指令”。DrawCall 是一种行为(指令),即 CPU 调用图形 API,命令 GPU 进行图形绘制。DrawCall 一般可以简称为“DC”,当然此“DC”非彼“DC”...

hj3601947的专栏 2849

Cocos Creator 性能调优:如何减少 2D/3D DrawCall?

Cocos 中文社区第4期有奖征稿活动火热进行中,iWatch SE、坚果投影仪等丰厚奖品等你来拿,点击文末【阅读原文】进入社区专贴,把你的聪明才智向我们砸来吧!点击查看活动详情本文即为此次社区征稿的参与稿件,作者Blake 基于自己多年来从事游戏行业的实践经历,同大家分享他在 Cocos Creator 3.x 中进行DrawCall性能优化的经验与心得。游戏渲染是性能开销的大头,掌握渲染...

Cocos的博客 799

cocos creator阻尼减速_Cocos Creator 性能优化:DrawCall

前言在游戏开发中,DrawCall 作为一个非常重要的性能指标,直接影响游戏的整体性能表现。无论是 Cocos Creator、Unity、Unreal 还是其他游戏引擎,只要说到游戏性能优化,DrawCall 都是绝对少不了的一项。本文将会介绍什么是 DrawCall,为什么要减少 DrawCall 以及在 Cocos Creator 项目中如何减少 DrawCall 来提升游戏性能。正文什么是...

weixin_39926103的博客 267
上一篇: 小游戏环境的资源管理
下一篇: cocos creator踩坑日记
wang2021wang
博客等级 码龄15年 6粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值