原地址:http://blog.csdn.net/sgnyyy/article/details/23775219

一、项目开发,管理和发布策略

1.       四大准则

a.       美术的资源量

b.       美术规范,要根据开发什么样的游戏制定统一的规范,这样尽可能的形成统一的规范。然后程序要协助美术制定相应的查看美术是否适合规范的的工具,并把所有美术资源统计出来(这里需要UI的二次开发)。

c.       先从CPU和内存的优化,然后GPU

d.       增量更新,包的大小控制,低端设备的支持

控制drawcall的数量,UI贴图,技能特效,换装等。

Sorting : Opaque :from front to back

Mipmaps:打开,启用

硬件分级:

{resolution, post-processing, MSAA, Fx/partides density on/off, Shader }

内存管理,一半原则,不要超过内存的一半

{

A.      减少贴图的大小

B.      场景物体都做成prefab

C.      用好Assetbundle

D.      ObjectPool 和 LoadManager,避免频繁new,在切换场景的时候不释放公共UI

E.       LoadManager,同一时间一次载入

}

AssetBunddle,采用依赖性打包

用alpha test的效率低

自己写一套控制打包的脚本

二、自动打包

AssetPostprocessor

AssetImport

BuildPlayer

支持命令行编译,自动化打包发布

Assetbundle的东西放入到StreamAssets文件夹中

NewBehaviourScript.txt新建脚本的模板

Asset label: 提升检索的速度

打包Android的jar文件命令:jar -cvf class.jar *

Edit里面有个Gncphics Emulation选项,暂时不清楚干什么的,用来模拟不同硬件的测试

增量更新:就是打包的时候要实现,增量更新的方式

1)    脚本资源分离

2)    接口与实现分离

UnityNative code

1.       C, C++ 代码

2.       生成.so文件

3.       放到plugin下

4.       在Unity中调用

Java中调用navtive code 用 Systemn.Loadlibrary

一次打包10个包

BeginSamplePrifilor 取样CPU的的信息

三、内存

尽可能避免不必要的堆内存的分配

a.       CPU – GC Alloc

查看性能分析器里:记录游戏运行时内存分配,尽可能避免不必要的堆内存分配

1.       一次性分配超过2kb的选项

2.       检测每帧都具有20B以上的内存的分配的原则

b.       CPU- Time

帧超过5ms的

c.       内存

ManagedHeap.UsedSize不超过20M

d.       内存

查看是否有重复的资源,纹理压缩,不要超过1M, Assetbundle打包的时候的依赖关系。

Device.Present :一般出现了复杂的Shader

Shader.CreateGPUPrgream

Other.compareTag() 不要用等号== ,影响速度

需要了解的内容:

1.       项目的管理

如何协调美术和策划把资源的利用最大化

2.       内存的优化

3.       CPU的优化

4.       GPU的优化

5.       性能监视器的使用

6.       常用性能比较好的插件

7.       特殊友好效果的实现

8.       Assetbundle的使用

9.       对Unity3d里面的特性进行熟悉

目标就是高效率的项目管理流程,一切都以速度和效率为先。

高性能的游戏设计技巧

Unity3d大会的部分总结的更多相关文章

  1. 2014 Unity3d大会的部分总结

    一.项目开发.管理和公布策略 1.       四大准则 a.       美术的资源量 b.       美术规范,要依据开发什么样的游戏制定统一的规范,这样尽可能的形成统一的规范.然后程序要协助美 ...

  2. Unity3D性能优化--- 收集整理的一堆

    http://www.cnblogs.com/willbin/p/3389837.html 官方优化文档--优化图像性能http://docs.unity3d.com/Documentation/Ma ...

  3. unity3d优化总结篇

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

  4. Unity3D资源存放笔记

    文件夹及路径 昨天记了一篇AssetBundle学习笔记,那么游戏中的各种资源应该如何存放呢? 在网上一阵搜罗,把笔记记一下. 非特殊名称文件夹 非Unity3D指定名称的文件夹中的资源,如果游戏场景 ...

  5. [Unity3D]Unity3D游戏开发Lua随着游戏的债券(于)

    ---------------------------------------------------------------------------------------------------- ...

  6. Unity3D 4.x编辑器操作技巧

    unity wiki(en chs)   unity官网 unity manual(chs  官方最新) 各个版本unity编辑器下载地址: https://unity3d.com/cn/get-un ...

  7. unity3d优化总结篇(二)

    1. 尽量避免每帧处理,可以每隔几帧处理一次 比如: [C#] 纯文本查看 复制代码     function Update() { DoSomeThing(); } 可改为每5帧处理一次: [C#] ...

  8. Unity3D学习笔记(一):Unity3D简介

    Unity3D简介一.什么是Unity.U3D?全面整合的专业引擎 二.这个软件能做什么?1.内容:3D2D游戏,教育,建筑,网页,VRAR,家庭娱乐系统2.媒体:PC平台,主机,移动,VR 1.UE ...

  9. 杂项:Unity3D

    ylbtech-杂项:Unity3D Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具 ...

随机推荐

  1. Android项目源码界面超级华丽的仿QQ最新版本

    这是一个我们比较熟悉的一款应用,高仿专仿最新QQ应用源码,也是一个高仿QQ最新版本的项目,界面超级华丽,使用了大量的自定义控件,项目里实现了部分功能,例如WIFI-FTP(把手机变成FTP服务端,可以 ...

  2. 第五篇、Uber用视频播放做启动动画

    import UIKit import AVFoundation class GuidePage: FxBasePage { @IBOutlet var backImageView:UIImageVi ...

  3. JavaScript学习笔记(13)——BOM

    1.window 所有浏览器都支持window对象,它表示浏览器窗口本身. 所有 JavaScript 全局对象.函数以及变量均自动成为 window 对象的成员. 全局变量是 window 对象的属 ...

  4. ZipArchive 的使用

    新建一个项目,首先添加 System.IO.Compression.FileSystem 引用. 解压文件 using System.IO.Compression; namespace cl { st ...

  5. 【转】 SqlServer性能检测和优化工具使用详细

    http://blog.csdn.net/dcx903170332/article/details/45917387

  6. eclipse中英文切换--四种方式

    若转载,请注明出处 http://www.cnblogs.com/last_hunter/p/5627009.html 谢谢! ------------------------------------ ...

  7. 致vi老大 2011.1

    文/安然 亲爱的,你即将离去 飞机起飞的一刻, 请珍藏起我们2010的回忆 桃源仙谷,曾留下我们踏青的足迹 难忘,石头上小憩 小北门外,我们在大排档里尽情欢喜 见证,杯盘狼藉 饺子店,是冬日里四面八方 ...

  8. Windows系统 环境变量

    用户变量与系统变量 用户变量只对当前用户有效,而系统变量对所有用户有效.在检索命令时,系统变量会排在用户变量的前面.也就是说,如果两个地方都包含同一个命令,则优先执行系统变量指示路径下的命令. set ...

  9. C++ 的template

    vector的标准模板是:template<template<typename X, class allocator<X> > class T>而普通模板则是tem ...

  10. php提取字符串中的数字

    最近工作中写代码的时候需要在一串字符串中将所有的数字提取出来这么一个小功能,研究了一下发现方法还挺多,值得记录一下,于是对如何使用PHP将字符串中的数字提取出来的功能做了一个小总结,总结三种方法如下: ...