unity3d优化
文章平均质量分 92
呐丫头
这个作者很懒,什么都没留下…
展开
-
unity3d 提高this.transform的效率
正常来说,大部分同学一般get transform都直接gameobject.transform使用。但往往,你会发现有些人会将transform引用保存起来,例如:private Transform myTransform;void Awake() { myTransform = transform;}然后使用myTransf转载 2014-11-12 12:54:10 · 2653 阅读 · 0 评论 -
unity3d 加载和内存管理机制之二:进一步深入和细节
Unity几种动态加载Prefab方式的差异:其实存在3种加载prefab的方式:一是静态引用,建一个public的变量,在Inspector里把prefab拉上去,用的时候instantiate二是Resource.Load,Load以后instantiate三是AssetBundle.Load,Load以后instantiate三种方式有细节差异,前两种转载 2015-02-22 21:16:27 · 736 阅读 · 0 评论 -
unity3d 加载和内存管理
Unity里有两种动态加载机制:一是Resources.Load,一是通过AssetBundle,其实两者本质上我理解没有什么区别。Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时动态加载,可以指定路径和来源的。 其实场景里所有静态的对象也有这么一个加载过程,只是Unity后台替你自动完转载 2015-02-22 21:30:44 · 659 阅读 · 0 评论 -
性能优化,进无止境---内存篇(上)
项目的性能优化主要围绕CPU、GPU和内存三大方面进行。接上期CPU优化专讲,我们本期和大家分享内存方面的优化心得。无论是游戏还是VR应用,内存管理都是其研发阶段的重中之重。然而,在我们测评过的大量项目中,90%以上的项目都存在不同程度的内存使用问题。就目前基于Unity引擎开发的移动游戏和移动VR游戏而言,内存的开销无外乎以下三大部分:1.资源内存占用;2.引擎模转载 2016-03-02 10:07:42 · 3447 阅读 · 0 评论 -
Profiler内存查看|Navmesh动态加载...
内存管理Q:如图,在Editor中查看Profiler里的内存详细信息,发现Used Total中有个“Unity”,请问是什么意思?为什么会特别大?A: 在Editor中运行时,“Unity”大是正常的,因为在Editor中运行项目时,引擎包含了所有的资源占用的内存(除了部分纹理和Mesh是在GFX中),同时自身会进行很多的辅助操作来记录转载 2016-03-02 10:25:09 · 1766 阅读 · 0 评论 -
Lightmap 色差、丢失|内存泄露...
Lightmap在PC上显示正常,但是转到Android平台上存在色差,颜色普遍偏暗。一般来讲,有两种情况可能会导致色偏和亮度差异。 1. Unity烘焙的Lightmap是32bit的HDR图,而移动设备通常不支持HDR图(32bit per channel),会按照LDR图(8bit per channel)的形式进行处理,因此会出现色偏问题。因此我们建议:转载 2016-03-02 10:39:17 · 3308 阅读 · 0 评论 -
你应该知道的AssetBundle管理机制
◆◆◆◆ AssetBundle加载基础通过AssetBundle加载资源,分为两步,第一步是获取AssetBundle对象,第二步是通过该对象加载需要的资源。而第一步又分为两种方式,下文中将结合常用的API进行详细地描述。第一步,获取AssetBundle对象的常用API方式一,先获取WWW对象,再通过WWW.assetBundle转载 2016-03-02 10:41:08 · 7194 阅读 · 1 评论 -
性能优化,进无止境---CPU篇
性能优化是项目开发中一个永恒的话题。用户的需求和项目的要求总在不停地增长,同屏人数、屏幕特效和场景复杂度永远在向着“榨干”硬件的趋势逼近。所以,无论硬件设备发展到何种程度、研发团队有多么丰富的经验积累,性能优化依旧是一个令人棘手却又难以规避的问题。项目的性能优化主要围绕CPU、GPU和内存三大方面进行。今天,我们就这三方面来谈谈当前普遍存在的性能问题和相应的解决方案。此文为第一篇:转载 2016-03-02 10:44:07 · 1053 阅读 · 0 评论 -
揭开AssetBundle庐山真面目(二)
AssetBundle打包(5.x)基础基本介绍唯一APIpublic static AssetBundleManifest BuildAssetBundles(string outputPath, BuildAssetBundleOptions assetBundleOptions = BuildAssetBundleOptions.N转载 2016-03-02 10:53:34 · 1895 阅读 · 1 评论 -
unity3d 内存管理
Unity3D在内存占用上一直被人诟病,特别是对于面向移动设备的游戏开发,动辄内存占用飙上一两百兆,导致内存资源耗尽,从而被系统强退造成极 差的体验。类似这种情况并不少见,但是绝大部分都是可以避免的。虽然理论上Unity的内存管理系统应当为开发者分忧解难,让大家投身到更有意义的事情中 去,但是对于Unity对内存的管理方式,官方文档中并没有太多的说明,基本需要依靠自己摸索。最近在接手的项目中存在严转载 2015-02-22 21:32:50 · 578 阅读 · 0 评论 -
unity3d 纹理尺寸优化
如果想减少手游打包的尺寸,第一步要做的是分析找出热点。在console窗口可以右键打开editorlog,里面列举了本次打包编译的所有资源和大小。进行归类和细分,定位哪块内容最占空间。一般情况下,有以下3方面消耗了大量空间。UI 素材场景纹理动画文件图片最占用空间,动画文件比重虽然不低,但是压缩比高。图片打包时几乎是无法压缩的。因此优化尺寸的重点就是在导入图片时设定转载 2015-01-31 19:33:56 · 3004 阅读 · 0 评论 -
unity3d 性能优化整理
官方优化文档--优化图像性能 http://docs.unity3d.com/Documentation/Manual/OptimizingGraphicsPerformance.html Unity3D性能优化专题 性能优化是一个异常繁琐而又涉及到项目开发的方方面面的一个过程,它的本质是在运行时的一个时间里尽可能完美展现丰富的内容。转载 2014-11-13 09:37:45 · 912 阅读 · 0 评论 -
unity3d 中使用Profiler看到的一项"WaitForTargetFPS"费资源过高的原因
WaitForTargetFPS,是关于帧数限制的,你可能开了垂直同步,其实是防止撕裂。先说撕裂,在显示器的帧缓存会被不同步的显卡的帧缓存给替换掉,导致显示器显示到一半的时候,内存被换掉,你看到上频是上一针的画面,下频是下一针的画面,游戏刷新的频率越快,撕裂就越严重,所以就会撕裂了。开了垂直同步,是指将游戏帧数锁定到和你的显示器刷新频率一样的,因为显卡和显示器的刷新频率不一样。简单的说,W转载 2014-10-30 11:29:10 · 1178 阅读 · 0 评论 -
unity3d Optimising with Unity for iOS
I’ve found it’s often the unexpected that takes time. Cuban customs agents, downloading in Canada, and bureaucracy in Norway. And so it has been with optimising my game for the iPad.Unity provides t转载 2014-12-01 11:07:42 · 752 阅读 · 0 评论 -
unity3d Optimizing with Unity iPhone, the first three things I’ll do…
1. Do Less, (aka timeslicing)Lets be honest, it’s really easy to put lots of code in Update() or FixedUpdate() for a behavior, or have it called once a frame. However that means that no matter how f转载 2014-12-01 11:12:54 · 708 阅读 · 0 评论 -
unity3d 减少文件大小
减少文件大小Unity 后处理所有导入的资源Unity 始终后处理导入的文件,因此,在使用多层 psd 文件代替 jpg 储存文件,对将要部署的播放器大小没有任何影响。保存文件为正在使用的格式(例如 .mb 文件、.psd 文件、.tiff文件)将使得工作更加轻松简单。Unity 剔除未使用的资源工程文件夹中的资源数量不会影响所构建播放器的大小。Unity 可以非常智能地检测哪些资转载 2014-12-22 21:53:14 · 3091 阅读 · 0 评论 -
unity3d 关于纹理压缩的一些交流,挺有用,备忘
6个框依次:ios正方形不带a,ios正方形带a,安卓正方形不带a,安卓正方形带a,各种平台长方形不带a,各种平台长方形带aetc和autocompress压缩比相同,在手机上读取速度略微快一点,电脑上没试过ATC 和 ETC 算法来自PVRTC可以选择带通道也可以选择不带不带的话清晰一点,是有损压缩RGBA8888就转载 2015-01-31 19:08:18 · 1721 阅读 · 1 评论 -
unity3d 为什么清晰的图片会变模糊
写在前面当我们在Unity中,使用图片进行2D显示时,会发现显示出来的画面有明显的模糊或者锯齿,但是美术给的原图却十分清晰。要改善这一状况实际上很简单。造成这样的原因,是Unity在导入图片(或者纹理)时会自动进行压缩,以便减少运行时游戏的内存占用率,提供性能。注意:下面实例使用的Unity版本为4.3.4。版本不同的话可能某些显示不完全相同,但关键转载 2015-01-31 20:52:38 · 25431 阅读 · 0 评论 -
unity3D 内存管理——对象池(Object Pool)
原文地址:C# Memory Management for Unity Developers (part 3 of 3),其实从原文标题可以看出,这是一系列文章中的第三篇,前两篇讲解了从C#语言本身优化内存和Unity3D Profiler的使用,都很精彩,有兴趣的童鞋可以参考一下。C# Memory Management for Unity Developers (par转载 2015-01-12 22:40:39 · 849 阅读 · 0 评论 -
揭开AssetBundle庐山真面目(一)
AssetBundle 打包(4.x)基础基本介绍常用打包APIpublic static bool BuildAssetBundle(ObjectmainAsset, Object[]assets, string pathName, out uint crc, BuildAssetBundleOptions assetBundleOptio转载 2016-03-02 10:54:39 · 1075 阅读 · 0 评论