Unity3D优化总结】的更多相关文章

转自http://www.unitymanual.com/thread-21597-1-1.html 此总结由自己经验及网上收集整理优化内容 包括:1.代码方面:2.函数使用方面:3.ngui注意方面:4.数学运算方面:5.内存方面:6.垃圾回收方面 等等...本着相互交流 共同进步的原则 好了,总结如下: 1. 尽量避免每帧处理,可以每隔几帧处理一次 比如: [C#] 纯文本查看 复制代码 function Update() { DoSomeThing(); } 可改为每5帧处理一次: [C#…
检测方式: 一,Unity3D 渲染统计窗口 Game视窗的Stats去查看渲染统计的信息: 1.FPS fps其实就是 frames per second,也就是每一秒游戏执行的帧数,这个数值越小,说明游戏越卡. 2.Draw calls batching之后渲染mesh的数量,和当前渲染到的网格的材质球数量有关. 3.Saved by batching 渲染的批处理数量,这是引擎将多个对象的绘制进行合并从而减少GPU的开销; 很多GUI插件的一个好处就是合并多个对象的渲染,从而降低DrawC…
1. 尽量避免每帧处理,可以每隔几帧处理一次 比如: [C#] 纯文本查看 复制代码     function Update() { DoSomeThing(); } 可改为每5帧处理一次: [C#] 纯文本查看 复制代码     function Update() { if(Time.frameCount % 5 == 0) { DoSomeThing(); } } 2. 定时重复处理用InvokeRepeating 函数实现 比如,启动0.5秒后每隔1秒执行一次 DoSomeThing 函数…
优化: 1. 更新不透明贴图的压缩格式为ETC 4bit,因为android市场的手机中的GPU有多种, 每家的GPU支持不同的压缩格式,但他们都兼容ETC格式, 2. 对于透明贴图,我们只能选择RGBA 16bit 或者RGBA 32bit. 3. 减少FPS,在ProjectSetting-> Quality中的 VSync Count 参数会影响你的FPS,EveryVBlank相当于FPS=60,EverySecondVBlank = 30: 这两种情况都不符合游戏的FPS的话,我们需要…
优化内容 包括: 1.代码方面: 2.函数使用方面: 3.ngui注意方面: 4.数学运算方面: 5.内存方面: 6.垃圾回收方面 等等... 1. 尽量避免每帧处理,可以每隔几帧处理一次 比如:   function Update() { DoSomeThing(); } 可改为每5帧处理一次:   function Update() { if(Time.frameCount % 5 == 0) { DoSomeThing(); } } 2. 定时重复处理用InvokeRepeating 函数…
流畅的游戏玩法来自流畅的帧率,而我们即将推出的动作平台游戏<Shadow Blade>已经将在标准iPhone和iPad设备上实现每秒60帧视为一个重要目标. 以下是我们在紧凑的优化过程中提升游戏运行性能,并实现目标帧率时需要考虑的事项. 当基本游戏功能到位时,就要确保游戏运行表现能够达标.我们衡量游戏运行表现的一个基本工具是Unity内置分析器以及Xcode分析工具.使用Unity分析器来分析设备上的运行代码真是一项宝贵的功能. 我们总结了这种为将目标设备的帧率控制在60fps而进行衡量.调…
用UNITY开发手机游戏,背景图片和UI图片显示的比PC机上模糊非常多,怎么解决??在unity里选中资源 1.TextureType 改成 Advanced2.NonPower of 2 改成 non3.把 generate Mip maps 的勾去掉4.Format压缩格式 选中rgba32bit5.保存下 apply  http://www.xuanyusong.com/archives/1019  在unity中播放视频 用到 moivetexture 删除多余内存垃圾 GC.Colle…
1.在使用数组或ArrayList对象时应当注意 length=myArray.Length; for(int i=0;i<length;i++) { } 避免 for(int i=0;i<myArray.Length;i++) { } 2.如果没有必要每帧都处理,则可以每隔几帧处理一次 void Update(){ if(Time.frameCount%6==0) { DoSomething(); }} 3.定时重复调用可以使用InvokeRepeating函数实现,比如,启动0.5秒后每隔…
抛砖引玉: http://www.luzexi.com/unity3d%E4%BC%98%E5%8C%96%E4%B9%8B%E8%B7%AF/ 关于图片 一.Unity3D自身会把导入的图片进行压缩,这些压缩不仅体现在内存上,而且也体现在包大小. 测试如下,相同的图片,压缩后的大小: 打包的大小分别对应如下:可以看到差别很大. 2014-12-30: 这里貌似 有个 误解: 我重新做了 这个 实验,1024 * 1024 RGBA 32 png  图片 与 1024 * 1024 RGB 8…
1.Update 大多数情况是需要在update中处理很多逻辑的,然而unity3d底层是c/c++编写,逻辑层是c#,通过monobehaviour挂载于对象中,实现一些unity3d接口的重载. 在unity中,基于mono的接口会被托管,这样我们不能控制其回收,非托管的就不说了,非托管用户可以自行处理gc. 战斗中的每个单位都继承于EntityUnit类,逻辑处理都在update中,那么如果实例化出N个单位,那么在mono托管要处理N个update实例,这样是很浪费且没有必要的,然而战斗系…