原地址: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基本优化和高级优化的更多相关文章

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

    1 经常使用的优化策略 1.1    语句 1.1.1使用实际的列名 当我们查询SQL语句时.你是否觉得使用实际的列名比使用*更快呢?答案是肯定的. 为了证实这一点,感兴趣的朋友能够自己验证一下.我这 ...

  2. SQL高级优化系列

    目录 SQL高级优化系列(一)之MySQL优化 SQL高级优化系列(二)之MySQL架构 SQL高级优化系列(三)之存储引擎 SQL高级优化系列(四)之SQL优化 SQL高级优化系列(五)之执行计划 ...

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

    前言 数据倾斜调优 调优概述 数据倾斜发生时的现象 数据倾斜发生的原理 如何定位导致数据倾斜的代码 查看导致数据倾斜的key的数据分布情况 数据倾斜的解决方案 解决方案一:使用Hive ETL预处理数 ...

  4. 【转】【技术博客】Spark性能优化指南——高级篇

    http://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651745207&idx=1&sn=3d70d59cede236e ...

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

    iOS和android游戏纹理优化和内存优化(cocos2d-x) (未完成) 1.2d游戏最占内存的无疑是图片资源. 2.cocos2d-x不同平台读取纹理的机制不同.ios下面使用CGImage, ...

  6. iOS进阶之页面性能优化

    转载:http://www.jianshu.com/p/1b5cbf155b31 前言 在软件开发领域里经常能听到这样一句话,"过早的优化是万恶之源",不要过早优化或者过度优化.我 ...

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

    本文转载自:https://tech.meituan.com/spark-tuning-pro.html 美团技术点评团队) Spark性能优化指南——高级篇 李雪蕤 ·2016-05-12 14:4 ...

  8. iOS离屏渲染之优化分析

    在进行iOS的应用开发过程中,有时候会出现卡顿的问题,虽然iOS设备的性能越来越高,但是卡顿的问题还是有可能会出现,而离屏渲染是造成卡顿的原因之一.因此,本文主要分析一下离屏渲染产生的原因及避免的方法 ...

  9. Spark性能优化指南-高级篇(spark shuffle)

    Spark性能优化指南-高级篇(spark shuffle) 非常好的讲解

随机推荐

  1. 变量监控 指令 gt-wach

    index8.html <html><head> <title>变量监控指令 gt-watch</title> <script src=" ...

  2. 序列化和反序列化的几种方式(JavaScriptSerializer 、XmlSerializer、DataContractSerializer)(一)

    JavaScriptSerializer 类 为启用 AJAX 的应用程序提供序列化和反序列化功能. 命名空间:   System.Web.Script.Serialization 程序集:  Sys ...

  3. 第二十六课:jQuery对事件对象的修复

    因为原生的event对象,在不同浏览器下,有不同的属性和方法,因此需要用jQuery进行兼容. jQuery在这里分两步走,首先创建一个伪事件类jQuery.Event(jQuery里面自定义的事件类 ...

  4. Apache CXFjar包目录(转)

    文件目录结构及相关文件的详细说明:|-bin|-docs|-etc|-lib|-licenses|-modules|-samples bin(目录) bin 目录中是 CXF 框架中所提供的代码生成. ...

  5. WampServer集成环境安装与配置

    实习到了第三个礼拜了,原来我们小组是以开发php为主的,我们项目的服务器也是用php做的,因此我觉得很有必要学一下php的相关知识,首先当然是搭建环境了,写篇博客分享下经验. 目录: 一.软件下载 二 ...

  6. 【转】getHibernateTemplate出现的所有find方法的总结

    一.find(String queryString); 示例:this.getHibernateTemplate().find("from bean.User"); 返回所有Use ...

  7. 【BZOJ-2434】阿狸的打字机 AC自动机 + Fail树 + DFS序 + 树状数组

    2434: [Noi2011]阿狸的打字机 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 2022  Solved: 1158[Submit][Sta ...

  8. 【教程】如何正确的写一个Lemon/Cena的SPJ(special judge)

    转自:http://www.cnblogs.com/chouti/p/5752819.html Special Judge:当正确的输出结果不唯一的时候需要的自定义校验器 首先有个框架 #includ ...

  9. Windows Server 2008 显示桌面图标

    相信有朋友们有安装使用过windows 2008 server服务器,刚安装好的时候,桌面上只有一个回收站的图标,它没有像windows 7或windows 8一样可以直接通过右击鼠标的菜单来设置,要 ...

  10. 数字证书文件格式(cer和pfx)的区别

    作为文件形式存在的证书一般有这几种格式: 1.带有私钥的证书 由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形 ...