1. 更新不透明贴图的压缩格式为ETC 4bit,因为android市场的手机中的GPU有多种,每家的GPU支持不同的压缩格式,但他们都兼容ETC格式,2. 对于透明贴图,我们只能选择RGBA 16bit 或者RGBA 32bit。3. 减少FPS,在ProjectSetting-> Quality...
分类:
移动开发 时间:
2014-08-30 20:19:59
阅读次数:
347
考察render path与drawcall的关系,每个camera可以单独设置render path。以计算光照,不考虑batching,且只有一个PASS的材质为样本,比如Diffuse;如果材质不受光照影响,则跳过光照相关的PASS,比如Unlit/Texture。1.Forward Path...
分类:
其他好文 时间:
2014-08-21 13:04:24
阅读次数:
339
最近项目进入收尾阶段,之前对项目做了很多优化,mesh合并 ,减少DrawCall和模型骨骼以及物理计算,合并材质球,优化代码等等,在IOS上还好,但是android上,试过几款手机,从低端到高端,发现性能还是很差,所以又花了几天来研究摸索,终于把游戏性能搞定。记录下来,留作以后参考。 1. 更新....
分类:
移动开发 时间:
2014-08-04 10:42:56
阅读次数:
249
最近一个项目中关于NGUI部分的总结
在自己最近的一个项目中,软件的界面部分使用了NGUI来进行制作。在制作过程中,遇到了一些问题,也获取了一些经验,总结下来,作为日后的积累。
1、NGUI图集的使用。空调项目是第一个自己正儿八经的制作完整图集的项目,感受颇深。在使用NGUI制作界面时,图集的选用是一个关键,因为它直接关系到了drawcall的数量。...
分类:
其他好文 时间:
2014-07-30 23:59:55
阅读次数:
449
在屏幕上渲染物体,引擎需要发出一个绘制调用来访问图形API(iOS系统中为OpenGL ES)。每个绘制调用需要进行大量的工作来访问图形API,从而导致了CPU方面显著的性能开销。Unity在运行时可以将一些物体进行合并,从而用一个绘制调用来渲染他们。这一操作,我们称之为“批处理”。一般来说,Uni...
分类:
其他好文 时间:
2014-07-07 22:00:12
阅读次数:
217
unity3D 对于移动平台的支持无可厚非,但是也有时候用Unity3D 开发出来的应用、游戏在移动终端上的运行有着明显的效率问题,比如卡、画质等各种问题。自己在做游戏开发的时候偶有所得。对于主要影响性能的因素做个总结。主要因素有: 1. Saved by batching 值过大 ---- > 这...
分类:
其他好文 时间:
2014-07-07 21:56:24
阅读次数:
183
Unity每次在准备数据并通知GPU渲染的过程称为一次Draw
Call。一般情况下,渲染一次拥有一个网格并携带一种材质的物体便会使用一次Draw Call。对于渲染场景中的这些物体,在每一次Draw
Call中除了在通知GPU的渲染上比较耗时之外,切换材质与shader也是非常耗时的操作。Draw...
分类:
其他好文 时间:
2014-05-19 14:17:43
阅读次数:
301
今天在运行之前的程序时,无意中发现一个简单的menu菜单页面drawcall居然达到接近30了,这个数值感觉太高了。
后网上查询关于降低drawcall的方法,发现主要有以下几点: 1.少用Panel; 2.少用Atlas;
3.尽量避免夹层(即不同材质的UISprite相互间层级夹杂,如L2,L4...
分类:
其他好文 时间:
2014-05-17 18:55:32
阅读次数:
736
前置说明一:
Unity中的drawcall定义:
每次引擎准备数据并通知GPU的过程称为一次Draw Call。
Unity(或者说基本所有图形引擎)生成一帧画面的处理过程大致可以这样简化描述:引擎首先经过简单的可见性测试,确定摄像机可以看到的物体,然后把这些物体的顶点(包括本地位置、法线、UV等),(顶点如何组成三角形),变换(就是物体的位置、旋转、缩放、以及摄像机位置等),相关光源...
分类:
其他好文 时间:
2014-05-07 23:30:51
阅读次数:
384