其他 Unity中的相关优化

试试把gameobject 一个一个禁用,确定下什么最影响性能

- stats 里面有多少个 Draw calls & 三角形


- 合并网格物体

- 合并材质张数

- 不要用网格碰撞.

- Unity对带动作的模型渲染消耗比较大,如果是静态的不带动作文件的模型渲染不会出现效率问题,但是要确保只绘制屏幕内的东西

1. 尽量避免每帧处理
比如:
function Update() { DoSomeThing(); }
可改为每5帧处理一次:
function Update() { if(Time.frameCount % 5 == 0) { DoSomeThing(); } }

2. 定时重复处理用 InvokeRepeating 函数实现
比如,启动0.5秒后每隔1秒执行一次 DoSomeThing 函数:
function Start() { InvokeRepeating("DoSomeThing", 0.5, 1.0); }

3. 优化 Update, FixedUpdate, LateUpdate 等每帧处理的函数
函数里面的变量尽量在头部声明。
比如:
function Update() { var pos: Vector3 = transform.position; }
可改为
private var pos: Vector3; function Update(){ pos = transform.position; }

4. 主动回收垃圾
给某个 GameObject 绑上以下的代码:
function Update() { if(Time.frameCount % 50 == 0) { System.GC.Collect(); } }

5. 运行时尽量减少 Tris 和 Draw Calls
预览的时候,可点开 Stats,查看图形渲染的开销情况。特别注意 Tris 和 Draw Calls 这两个参数。
一般来说,要做到:
Tris 保持在 7.5k 以下
Draw Calls 保持在 20 以下

6. 压缩 Mesh
导入 3D 模型之后,在不影响显示效果的前提下,最好打开 Mesh Compression。
Off, Low, Medium, High 这几个选项,可酌情选取。

7. 避免大量使用 Unity 自带的 Sphere 等内建 Mesh
Unity 内建的 Mesh,多边形的数量比较大,如果物体不要求特别圆滑,可导入其他的简单3D模型代替。

8. 优化数学计算
比如,如果可以避免使用浮点型(float),尽量使用整形(int),尽量少用复杂的数学函数比如 Sin 和 Cos 等等。

1、 ArrayList的对象在使用时应该注意以下事项
使用
arraylen = myarray. length;
for (i=0; i< arraylen; i++)
{
}
避免
for (i=0; i<myarray.length; i++) {
}

2、 少用临时变量
使用

var touch:Vector2;

function Update(){
if (count==0) { touch=iPhone.GeTouch(0).position;}
}
避免
function Update(){
if (count==0) {
var touch:Vector2=iPhone.GeTouch(0).position;
}
}

3、 少用算数符号/,改为乘以相应小数
使用
x * 0.5f
避免
x/2



4、 动作和AI不需要每帧都执行
if (GLO.count%3){

// execute the enemy aim at your player every 3 Update
}
if (GLO.count%5){
// execute player IA every 5 Update
}
为了解决广大Unity3D游戏开发爱好者的学费问题,龙图教育特别推出分期付款和先学习后付款的特色优惠,并可以进行试听。入学就签订就业协议,毕业后直接进入校企合作企业进行工作。


温馨提示:如需预约免费试听课程,请将姓名,联系方式,以及预约的课程发送至以下手机、QQ、或微信,如有疑问也可拨打热线电话。报名咨询热线:15112251330     QQ:1358148771     微信:1358148771



作者 1994922 发表于 2016-11-9 15:48:10
您需要登录后才可以回帖 登录 | 立即注册
1994922

关注0

粉丝3

发布159

热门作品推荐
glow
【更新】Easy Save - The Complete Save Da
glow
【更新】All in 1 sprite shader 4.25
glow
【更新】Runtime Editor 4.4.8运行时编辑器
glow
【更新】Dialogue System for Unity 2.2.50
glow
【更新】LoveHate 1.10.50人格模拟器
glow
【更新】Figma Converter for Unity 5.1.1
glow
【更新】Voxelica - Voxel Engine 1.9.9.1
glow
【更新】Powerful Sword Pack(Great Sword
glow
【更新】GUI Pro - Casual Game 4.0.5用户
glow
【更新】Flat Kit Toon Shading and Water