Unity3d iOS基本优化和高级优化

原地址:http://www.cocoachina.com/bbs/read.php?tid=70395&page=1

分享看见的2篇好文.
简单翻译了一下并且放出原文

http://www.cratesmith.com/archives/183

1.做减法
大量代码在Update()或FixedUpdate()中做处理,
意味着无论代码的执行速度如何,都将在每次帧刷新的时候调用到,




复制代码

  1. public class MyHoming : MonoBehaviour {
  2. public void Update() {

  3. // expensive
    targetting and not so expensive trajectory calculations in
    here

  4. // currently called
    every frame

  5. }

  6. }


但是大多数时候我们并不用这样做,考虑使用下面的方法




复制代码

  1. public class MyHoming : MonoBehaviour {
  2. public void Update() {

  3. // expensive
    targetting and not so expensive trajectory calculations in
    here

  4. // currently called
    every frame

  5. }

  6. }


它看上去更复杂一些,其实不然.只有在必要的时候才会执行代码.

2.强制指定垃圾回收的频率




复制代码

  1. using UnityEngine;
  2. class GarbageCollectManager : MonoBehaviour {

  3. public int frameFreq = 30;

  4. void Update()   {

  5. if (Time.frameCount
    % frameFreq == 0)

  6. System.GC.Collect();

  7. }

  8. }


这个操作不会改进你的fps,但是会降低内存的使用量.

3.三角形和绘图函数的调用计数

保持三角形低于7500
保持Draw
Call
低于20000

可能的话使用XCODE中的工具instruments来调试图形性能.

另外一篇:
http://www.toxicblob.com/files/e61772d99deb1b4926dc5e24f080ce08-6.php

使用Strict
在你所有脚本的顶部使用
#pragma ,脚本将是强类型的,避免写代码的时候错误的类型赋值.

避免Object.Instantiate() 和
Object.Destroy()

Instantiating 和 Destroying
都不好,因为他们需要在创建和销毁对象的时候动态的分配内存,这样会短暂的影响到性能.
考虑的代替方案是使用他写的SpawnManager类.它在游戏一开始就初始化所有的对象,这样能在游戏载入的时候一同载入对象,从而让人感觉不到影响.
禁用对象的时候也保持在内存中,当需要他们的时候只需要在启用就行.

还有几点分别是
Cache
Component Lookups

Use iTween
Sparingly

Avoid
SetActiveRecursively()

Use Builtin
Arrays

Avoid String Comparison

Avoid
Vector3.magnitude &
Vector3.Distance()

可以在引用来源看到详细说明

Unity3d iOS基本优化和高级优化,布布扣,bubuko.com

时间: 2024-10-12 22:03:46

Unity3d iOS基本优化和高级优化的相关文章

SQL优化策略高级优化经常使用-1(The Return Of The King)

1 经常使用的优化策略 1.1    语句 1.1.1使用实际的列名 当我们查询SQL语句时.你是否觉得使用实际的列名比使用*更快呢?答案是肯定的. 为了证实这一点,感兴趣的朋友能够自己验证一下.我这里给出一个实例. select * from user; --时间: 0.423ms</span> select id,version,avatar,date_created,description,email,email_show ,enabled,first_name,last_name,la

Spark性能优化指南——高级篇

Spark性能优化指南--高级篇 [TOC] 前言 继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为<Spark性能优化指南>的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题. 数据倾斜调优 调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题--数据倾斜,此时Spark作业的性能会比期望差很多.数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能. 数据倾斜发生时的现象 绝大多数tas

Unity3d插件SmoothMoves加载速度优化

我们游戏是使用Unity3d做的2D游戏,角色特效等都使用SmoothMoves来制作(在国内估计也算奇葩一朵吧,据说燃烧的蔬菜也是SmoothMoves作的),游戏中的所有的资源--角色.特效.技能ICON.角色ICON.音效等几乎都使用assetbundles来实现. 问题:加载一场战斗的时间大概要30s左右!!! 解决方案关键字:依赖打包.数据块共享.冗余数据剔除 优化后:5s左右 :) 1. 依赖打包 1.1 使用AssetDatabase.GetDependencies()接口可以查看

【转载】Spark性能优化指南——高级篇

前言 数据倾斜调优 调优概述 数据倾斜发生时的现象 数据倾斜发生的原理 如何定位导致数据倾斜的代码 查看导致数据倾斜的key的数据分布情况 数据倾斜的解决方案 解决方案一:使用Hive ETL预处理数据 解决方案二:过滤少数导致倾斜的key 解决方案三:提高shuffle操作的并行度 解决方案四:两阶段聚合(局部聚合+全局聚合) 解决方案五:将reduce join转为map join 解决方案六:采样倾斜key并分拆join操作 解决方案七:使用随机前缀和扩容RDD进行join 解决方案八:多

转 iOS和android游戏纹理优化和内存优化(cocos2d-x)

iOS和android游戏纹理优化和内存优化(cocos2d-x) (未完成) 1.2d游戏最占内存的无疑是图片资源. 2.cocos2d-x不同平台读取纹理的机制不同.ios下面使用CGImage,android和windows下是直接调用png库.我测试了下,使用png库直接读取png会比CGImage还要节约1mb左右内存(图片所占内存4mb)但是速度要比CGImage慢一倍.时间和空间如何取舍就看实际情况了.不过最佳的选择似乎是pvr(即使android版本,即使不使用pvrtc4).

Spark性能优化指南--高级篇

前言 数据倾斜调优 调优概述 数据倾斜发生时的现象 数据倾斜发生的原理 如何定位导致数据倾斜的代码 查看导致数据倾斜的key的数据分布情况 数据倾斜的解决方案 解决方案一:使用Hive ETL预处理数据 解决方案二:过滤少数导致倾斜的key 解决方案三:提高shuffle操作的并行度 解决方案四:两阶段聚合(局部聚合+全局聚合) 解决方案五:将reduce join转为map join 解决方案六:采样倾斜key并分拆join操作 解决方案七:使用随机前缀和扩容RDD进行join 解决方案八:多

Unity3d程序方面的细节及优化

关于Unity3d程序方面的细节及优化 (基于移动开发) 1.每次创建的脚本对于用不到的Start(),.Update()函数都可以删除掉,尤其后者,即使什么都不做也会在更新. 2.不要做复杂的数学运算,比如开方运算Mathf.Sqrt()等,当我们求两个对象的距离的时候,可以直接自己计算求开方根上一级的运算.求三角函数也算复杂运算. 3.如果使用的Mono编辑器,在注释的时候,尽量采用英文注释(防止中文乱码) 4.Unity的每个component都在更新,脚本也算组件,所以一个对象不同的脚本

linux内核高级优化脚本

linux内核高级优化脚本可以用于hadoop生态圈环境的组件安装 linux内核调优具体的每一步的解释请参考 03搭建cdh备注:使用与centos6和centos7两个系统版本执行 [[email protected] scripts]# pwd /opt/scripts [[email protected] scripts]# ll total 12 -rw-r--r-- 1 root root 3837 Apr 22 14:34 adlinuxopt.sh -rw-r--r-- 1 ro

Web性能优化:图片优化

程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://blog.cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到了互联网内容总量的62%,也就是说超过一半的流量和时间都用来下载图片.从性能优化的角度看,图片也绝对是优化的热点和重点之一,Google PageSpeed或者Yahoo的14条性能优化规则无不把图片优化作为重要的优化手段,本文覆盖了Web图片优化的方方面面,从基本的图片格式选择.到尚未被