UI-- DrawCall
1、DrawCall的概念
字面理解:绘制呼叫,表示CPU通知GPU,其概念就是CPU准备号渲染数据(顶点、纹理、法线、Shader等等)后,告知GPU开始渲染(将命令放入命令缓冲区)的命令
简单来说:一次DrawCall就是CPU准备好渲染数据通知GPU渲染的这个过程
如果游戏中DrawCall数量较高会影响CPU的效率,最直接的感受就是游戏会卡顿
举个例子,以拷贝文件那来类比,假设创建10000个小文件,每个文件大小为1kb,然后把这些文件拷贝到另一个文件夹中,你会发现,即使这些文件加起来不超过10MB,但是拷贝花费的事件是很长的,但如果单独创建一个10MB的文件拷贝到另一个文件夹,基本可以瞬间完成。
这是因为每个文件赋值操作都需要很多额外的操作,比如分配内存,创建数据等等,这些操作会带来额外的性能开销,文件越多开销越大。
渲染过程类似,每次DrawCall,CPU都需要准备很多数据发送给GPU,那么如果DrawCall越多那么额外开销就越大,其实GPU的渲染效率很强,而影响渲染效率的都是CPU提交命令的速度,如果DrawCall太多,CPU就会把大量的事件花在提交DrawCall上,造成CPU过载,游戏卡顿
2、如何降低DrawCall数量
在UI层面上,通过小图合成大图——>即多个小DrawCall变成一次大DrawCall(图集)
3、制作UI时降低DrawCall的技巧
(1)注意不同图集之间的层级关系
(2)注意Label的层级关系
UI-- DrawCall相关推荐
- Cocos Creator 性能调优:如何减少 2D/3D DrawCall?
Cocos 中文社区第4期有奖征稿活动火热进行中,iWatch SE.坚果投影仪等丰厚奖品等你来拿,点击文末[阅读原文]进入社区专贴,把你的聪明才智向我们砸来吧! 点击查看活动详情 本文即为此次社区征 ...
- Unity的DraCall和Batch是什么,UI如何优化性能
制作性能更高的UI DrawCall和Batch 抛去他复杂的定义,从字面意思上来理解,DrawCall,就是CPU准备好了数据呼叫GPU去绘制.假设场景中有两个按钮,他们使用了两张不同的图,那么每一 ...
- Unity高级知识点总结:性能优化与图形渲染进阶!
A.性能优化相关知识 一.综合优化 1.降低屏幕分辨率尤其是在android平台对性能提升很大.可以有效缓解gpu的压力. 我们在android上分辨率是实际的0.85左右. 2.做好资源异步加载,实 ...
- unity粗体字+android,[Unity] UGUI加粗字体小记
不同字体无法合批 前段时间看一个新系统的UI DrawCall时,发现有几个同Depth的粗体字跟非粗体字没有合批,感觉非常奇怪.然后看了下Text组件的设置,发现这位同学做粗体效果时拖用了msyhb ...
- Unity移动端游戏性能优化简谱之 以引擎模块为划分的CPU耗时调优
<Unity移动端游戏性能优化简谱>从Unity移动端游戏优化的一些基础讨论出发,例举和分析了近几年基于Unity开发的移动端游戏项目中最为常见的部分性能问题,并展示了如何使用UWA的性能 ...
- 程序给UI美术上的必修课:内存占用, DrawCall和包大小的处理
一个手游的图形技术关键性指标是: 内存占用, DrawCall和包大小. 这三个参数是训练有素的程序和UI美术都需要关注的重要问题. 接下来我们来讲解下UI美术怎么对待这三个问题. 内存占用 手机的内 ...
- unity3d 如何UI优化和减少DC(DrawCall)
首先我们需要知道什么是DC也可以叫做DrawCall,DC就是每次Cpu传给Gpu的过程就是一个DC 这个时候就会有人问为啥要减少DC 减少DC能帮助我们什么, 1.为啥减少DC 就是减少CPU传给 ...
- Unity4.6新UI系统初探(uGUI)
文章目录[点击展开](?)[+] 一引言 二Rect Transform 三排序 四控件 1 Image 2 Button 五事件 1 Event Trigger 2 Graphic Raycaste ...
- datagridview 手动添加的行如何进行重载_【厚积薄发】如何规划UI图标图集
这是第151篇UWA技术知识分享的推送.今天我们继续为大家精选了若干和开发.优化相关的问题,建议阅读时间10分钟,认真读完必有收获. UWA 问答社区:answer.uwa4d.com UWA QQ群 ...
- UGUI的DrawCall和Rebuild
1.DrawCall的概念 DrawCall是CPU调用图像编程接口,命令GPU进行渲染的操作.造成DrawCall过高的性能瓶颈其实是CPU而不是GPU.UGUI的合并原理是将相同的材质进行合并操作 ...
最新文章
- python、C++ 中通过OpenCV的DNN模块使用YoloV4
- css,js缓存,不能立即响应
- 【ArcGIS 10.2新特性】Geodatabase 10.2 常见问题
- 研旭电子dsp配套程序_为什么自动调音DSP还火不了?
- Android中TextView限制一行显示及其它效果
- Vue+mui实现图片的本地缓存
- 修改字段名和字段备注
- 转:理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)
- [文章摘录] Strategies for Early-Stage Collaborative Design (IEEE Software, 2012)
- Linux实现黑客帝国背景炫酷效果
- 计算机毕业设计、课程设计、实战项目之[含论文+答辩PPT+任务书+中期检查表+源码等]基于ssm的NBA球队管理系统
- 远程桌面管理工具源码
- yapi接口管理工具
- 天猫服饰新推“良品臻选”,请了一群挑剔的女人给服装“挑刺”
- 代写COSC1295 Advanced Programming 作业、代做Java JDBC 程序设计作业、Java编程代写
- 芝诺数解|「十三」一菜一格,百菜百味——重庆川菜数据分析报告
- JAVA-数字9出现的次数
- 颜色空间转换及切割车牌(python)
- CCF公布国家集训队50进15名单!5月确定IOI2019选手!
- 微金所页面制作(Bootstrap 响应式开发 栅格布局 响应式布局)