
Unity3d优化
文章平均质量分 77
四夕立羽
这个作者很懒,什么都没留下…
展开
-
Unity性能调优手册12第三方插件:DOTween,UniRx,UniTask
本章介绍了在执行第三方库(在Unity中开发游戏时经常使用)时从性能角度考虑的一些事项翻译 2023-11-26 23:44:48 · 1248 阅读 · 0 评论 -
Unity性能调优手册11PlayerSettings:脚本运行环境,代码裁剪
Unity允许您在Mono和IL2CPP之间进行选择,作为Android和Standalone (Windows, macOS, Linux)等平台的脚本后端。我们建议选择IL2CPP,性能会有所提高。翻译 2023-11-26 23:34:57 · 508 阅读 · 0 评论 -
Unity性能调优手册10C#优化:GC,对象池,for/foreach,string,LINQ
本章主要通过示例介绍c#代码的性能调优实践。这里不涉及基本的c#语法,而是你在开发需要性能的游戏时应该注意的设计和实现。翻译 2023-11-26 17:29:56 · 655 阅读 · 0 评论 -
Unity性能调优手册9Unity的Script:空生命周期函数,tags,组件,string,显式销毁的类(Texture2D、Sprite、Material),burst
随意使用Unity提供的功能可能会导致意想不到的陷阱。本章通过实际的例子介绍了与Unity内部实现相关的性能调优技术。翻译 2023-11-26 15:59:12 · 368 阅读 · 0 评论 -
Unity性能调优手册8UI:Canvas,Layout,RaycastTarget,Mask,TextMeshPro,UI显示
翻译自https://github.com/CyberAgentGameEntertainment/UnityPerformanceTuningBible/uGUI (Unity标准UI系统)和TextMeshPro(将文本绘制到屏幕的机制)的调优实践。翻译 2023-11-19 22:08:25 · 857 阅读 · 0 评论 -
Unity性能调优手册2基础:硬件,渲染,数据,Unity如何工作,C#基础,算法和计算复杂度
性能调优需要对整个应用程序进行检查和修改。因此,有效的性能调整需要广泛的知识,从硬件到3D渲染再到Unity机制。因此,本章总结了执行性能调优所需的基本知识。翻译 2023-11-19 00:15:34 · 536 阅读 · 0 评论 -
Unity3d:特效对象池,超时删除池内GameObject,GC权值
技术要点:不用的粒子返回缓冲池按照单个粒子名字创建一个池,当a池上一次操作时间(回收对象)超过阈值,每隔一段时间删除池里一个GameObject,可针对单个粒子配表,频繁使用的,驻留时间更长一个完整池被删除,增加GC权值,GC权值达到最大值调用System.GC.Collect()遇到问题:父节点OnDisable,不可设置子节点的父物体Cannot set the parent of the GameObject ''XXX“ while activating or deactivati原创 2022-03-27 16:54:46 · 4305 阅读 · 0 评论 -
Unity3d:UGUI源码,Rebuild优化
Image怎么绘制的Unity中渲染的物体都是由网格(Mesh)构成的,而网格的绘制单元是图元(点、线、三角面)绘制信息都存储在Vertexhelper类中,除了顶点外,还包括法线、UV、颜色、切线。Rebuild概念Canvas负责将子节点的UI元素的网格合并,并生成相应的渲染指令再发送到Unity的图形管道的过程。所以Canvas就是渲染UI的组件,当UI发生变化就要执行一次Batch,它是影响性能更大的元凶。注意Canvas的Batch只会影响其子节点,但不会影响其子Canvas。Rebui原创 2022-03-23 23:09:00 · 4403 阅读 · 0 评论 -
unity3d:UGUI优化条例
压缩格式:Android :推荐使用ETC,如果是带透明通道的,可选择ETC2;Ios:推荐使用PVRTC 4Bit格式同一个界面出现的 UI 资源尽量放到一个图集,重复利用的公用资源放common。图集的整体大小不要超过2048*2048立绘不要打图集,用rawimage禁止mipmap禁止ReadWrite九宫格或者平铺:fillCenter选项(是否渲染平铺或切片图像的中心),默认情况下该选项是勾选的,但如果九宫格的中间区域为透明图像,其实不需要勾选fillCenter。轴对称反转:如果.原创 2022-02-17 17:37:00 · 3687 阅读 · 0 评论 -
unity3d:GC优化
https://edu.uwa4d.com/course-intro/0/165?purchased=true读书笔记减少对象数量内存对齐在网络发送数据时使用共用体并缓存对象// StructLayout使设计者可以控制类或结构的数据字段的物理布局 // Explicit与FieldOffset一起可以控制每个数据成员的精确位置 [StructLayout(LayoutKind.Explicit)]public class CSDataC{ / public membe原创 2021-12-15 01:31:19 · 759 阅读 · 0 评论 -
unity3d:物理优化
https://zhuanlan.zhihu.com/p/387410992?utm_medium=social&utm_oi=703841245952212992项目是否确实需要物理模块降低固定时间步(Fixed Timestep)Edit>>Project Settings >> Time,在那里,你能找到 Fixed Time Step ,它的默认值为 0.02默认值为 0.02(每秒),如果更新不是很频繁不用太精确,可以 0.03 - 0.04设置0.03转载 2021-12-12 16:56:51 · 1151 阅读 · 0 评论 -
unity3d:函数耗时记录,Profiler性能采样
Time.time在一帧内,Time.time只会赋值更新一次,所以一帧内获取不到时间差值。void Start () { TestArrayAList(); } void TestArrayAList() { int max = 100000000; int[] array; array = new int[max]; List<int> list = new List<int&原创 2021-12-07 21:54:41 · 1439 阅读 · 0 评论 -
unity3d:网络模块优化:减少无用字段,降低字段精度,byte转vector3表示方向,心跳包优化,异步线程接收
网络模块优化方向网络优化的目的是让网络包更小,响应更及时,消耗更少流量,不卡主线程。减少无用字段网络包中通常包含了很多信息,诸如角色位置,朝向,状态等。 如果是2.5D游戏,则位置z分量可以弃掉;朝向只在xz平面上,所以只需要发送RotationY。 通过这种减少无用字段,可以一定程度上降低网络包大小。降低字段精度能用byte的不用int。通常逻辑里的很多信息都是4字节,包括角色位置,朝向,技能或Buff信息等。但很多时候,这些信息不可能达到4字节数的最大值,可以压缩至2字节甚至1字节。原创 2021-12-02 22:23:35 · 2842 阅读 · 0 评论 -
高性能 Lua 技巧(转)
关于性能优化的两条格言:规则 1:不要优化规则 2:还是不要优化(仅限专家)不要在缺乏恰当度量(measurements)时试图去优化软件。编程老手和菜鸟之间的区别不是说老手更善于洞察程序的性能瓶颈,而是老手知道他们并不善于此。做性能优化离不开度量。优化前度量,可知何处需要优化。优化后度量,可知「优化」是否确实改进了代码。基本事实运行代码之前,Lua 会把源代码翻译(预编译)成一种内部格式,这种格式由一连串虚拟机的指令构成,与真实 CPU 的机器码很相似。接下来,这一内部格式交由 C 代码来解释转载 2021-08-07 14:17:47 · 564 阅读 · 0 评论