原地址:http://www.cnblogs.com/hellohuan/p/3716357.html

容易忽略的美术资源的优化:

优化的美术制作真是一种感觉和经验的积累,能看出制作水平的不是做的效果多么犀利,而是得看制作的效果与对机器的要求等的性价比。

  • 关于合并:  100个三角形的MESH,在渲染时与1500个面数的物体是没太大差别的,最佳的渲染设置应该在每个模型大约1500-4000个三角面。
  • 材质共享:  如果需要通过脚本来访问复用材质属性,改变Renderer.material将会造成一份材质的拷贝。应该使用Renderer.sharedMaterial来保证材质的共享状态。
  • 批处理动态物体需要在每个顶点上进行一定的开销,也有一些约束:
    1. 对VB的显存大小也有一定限制,如果着色器使用顶点位置,法线和UV值三种属性,那么只能批处理300顶点以下的物体;如果着色器需要使用顶点位置,法线,UV0,UV1和切向量,那只能批处理180顶点以下的物体了。
    2. 拥有lightmap的物体含有额外(隐藏)的材质属性,比如:lightmap的偏移和缩放系数等。所以,拥有lightmap的物体将不会进行批处理(除非他们指向lightmap的同一部分)。
    3. 使用不同缩放(scale)的物体将不能批次。分别拥有缩放尺度(1,1,1)和(2,2,2)的两个物体将不会进行批处理。
    4. 另外一个值得吸收的经验是非均匀缩放动画在unity中非常的慢,均匀缩放会快很多。
  • 骨骼数量控制:一般来说游戏中的骨骼数量为15-60个。骨骼越少运行速度越快,一般来说30块骨骼就可以让角色动的很舒服了。建议每个角色30个骨骼,就按照这个规范吧。
  • 尝试用压缩贴图格式,或用16位代替32位。

程序开发层面的注意点:

  1. 垃圾回收器收集垃圾内存时负载较大,对移动设备是个大问题,因此要从代码层面减少临时内存的生成,

1)         移除代码中的任何字符串连接,因为这会给GC留下大量垃圾。

2)         用简单的“for”循环代替“foreach”循环。由于某些原因,每个“foreach”循环的每次迭代会生成24字节的垃圾内存。一个简单的循环迭代10次就可以留下240字节的垃圾内存。

3)         更改我们检查游戏对象标签的方法。用“if (go.CompareTag (“Enemy”)”来代替“if (go.tag == “Enemy”)”

  1. 使用#pragma strict 简单的添加#pragma strict在脚本顶部,之后Unity将禁用脚本的动态类型,强制你使用静态类型。
  2. 缓存各种组件、Object查找
  3. 尽量使用固定的内置数组:内置数组是非常快的。ArrayList或Array类很容易使用,更方便使用。但是他们有完全不同的速度。内置数组还有好处是,内存连续,元素对齐。
  4. 不要使用System,System.Xml以及其他系统自带的DLL,会多出几兆空间,找找开源的。
  5. 尽量采用内置的高效的shader吧,例如(built-in)Shader mobile,如果自己写,复杂的数学计算函数别用,alphatest慎重(美术几何挖洞来实现吧)。shader中注意float/half/fixed的使用。

转载于:https://www.cnblogs.com/123ing/p/3767599.html

Unity3D优化总结(一)相关推荐

  1. 深入浅出聊Unity3D优化:从Draw Calls到GC

     原文地址:http://www.gameres.com/663040.html 5 天前 上传 下载附件 (26.59 KB) GameRes游资网授权发布 文/陈嘉栋 0x00 前言 刚开始写 ...

  2. unity3d优化收集摘录

    Unity3D 对于移动平台的支持无可厚非,但是也有时候用Unity3D 开发出来的应用.游戏在移动终端上的运行有着明显的效率问题,比如卡.画质等各种问题. 影响因素: Drawcall 值过大,所需 ...

  3. Unity3D 优化总篇

    转载[整理]unity3d优化总结篇 -- yxriyin 对项目优化有很多点,如:mesh合并 ,减少DrawCall和模型骨骼以及物理计算,合并材质球,优化代码等等, 优化: 1. 更新不透明贴图 ...

  4. Unity3D优化问题

    Unity3D优化问题 一个项目的制作过程一旦完成,便需要面临的优化问题就会有很多. 优化时需要注意的3个方面: (1).CPU方面 (2).GPU方面 (3).内存方面 CPU方面的优化 对Draw ...

  5. unity3d优化总结篇

    转自http://www.unitymanual.com/thread-21597-1-1.html 此总结由自己经验及网上收集整理优化内容 包括: 1.代码方面: 2.函数使用方面: 3.ngui注 ...

  6. Unity3d优化总结2

    优化: 1. 更新不透明贴图的压缩格式为ETC 4bit,因为android市场的手机中的GPU有多种, 每家的GPU支持不同的压缩格式,但他们都兼容ETC格式, 2. 对于透明贴图,我们只能选择RG ...

  7. Unity3D优化总结

    对项目优化有很多,如:mesh合并 ,减少DrawCall和模型骨骼以及物理计算,合并材质球,优化代码等等, 前面发过一篇[整理] unity 3d优化总结篇  现在继续补上,该内容为本人经验以及网上 ...

  8. Unity3D优化技巧系列一

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...

  9. Unity3D 优化

    用UNITY开发手机游戏,背景图片和UI图片显示的比PC机上模糊非常多,怎么解决?? 在unity里选中资源  1.TextureType 改成 Advanced 2.NonPower of 2 改成 ...

  10. Unity3D优化技巧系列三

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...

最新文章

  1. 酷炫的深度学习网络图怎么绘制出来的?
  2. 场景几何约束在视觉定位中的探索
  3. FIR滤波器的Matlab实现
  4. ABAP如何调用OCX
  5. 反序列化工具_JBOSS反序列化漏洞
  6. java注解 interface_java @FunctionalInterface注解详解
  7. 用java写ods系统_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...
  8. 一步一步写算法(之 算法总结)【转】
  9. 数学之美--关于图论引申出来的爬虫构想
  10. c语言仓库即存储器,计算机基础4
  11. 使用wireshark分析HTTPS流程的建立
  12. python输出姓名
  13. 关灯游戏 Lights out (二)(首行枚举+位运算,搜索全部解)
  14. ps提示没有足够的ram
  15. Arduino教程4:面包板与洞洞板
  16. 国产系统下的DES,SM4工具,银河麒麟V10桌面系统,飞腾芯片
  17. 全球及中国散热产业竞争现状与市场价值分析报告2022版
  18. 32岁转行0基础学Html5,30岁没学历从零开始学什么好,30岁改行的5个职业
  19. case when then 的两种写法
  20. 咸鱼的白日梦(疯~的美丽日记)

热门文章

  1. node中使用shell脚本
  2. LeetCode(824)——山羊拉丁文(JavaScript)
  3. jenkins-邮件通知
  4. 又被ESLint 调戏了!!! ESLint:Newline required at end of file but not found. eslint(eol-last) [12, 22]
  5. 为什么现在很多公司和员工签订了合同之后都不给员工一份?
  6. “普通人,不要随便创业,安心拿工资过日子比啥都强”你怎么看?
  7. 卫生间装修有哪些技巧?
  8. 阿里达摩院为什么吸引到世界顶尖人才?
  9. 买断式软件逐渐向订阅式软件发展,是不是资本想一直割韭菜?
  10. 现在装修还有必要铺设网线吗?