UPL1——Unity 性能分析工具
UPL1——Unity 性能分析工具 性能分析工具 性能分析工具主要指 Unity 提供给我们的,自带的很多分析性能问题的工具 他们主要集中在 Unity 工具栏的 Window(窗口)页签的 Analysis(分析)选项中,他们分别是: Profiler:分析器;实时查看 CPU、GPU、内存、UI、音频等模块的性能 Profiler(Standalone Process):独立运行的分析器;独立运行的 Profiler 进程,避免自身性能干扰 Memory Profiler:内存分析器;抓取内存快照、分析内存使用、泄漏、GC等 Frame Debugger:帧调试器;分析一帧的 Draw Call、材质切换、渲染指令 Physics Debugger:物理调试器;检查物理组件状态、触发器、重叠问题 Import Activity:导入活动;查看资源导入过程中的详细日志 Performance Markers:性能标记;查看 Unity 内部系统的 Profiler 标记点 Input Debugger:输入调试器;查看 Unity Input System...
UP——Unity性能优化笔记
UP——Unity性能优化笔记 Unity 性能优化 笔记代号 UP —— Unity Performance 的缩写 性能优化的主要学习路线为:定位问题 ——> 分析问题 ——> 解决问题 学习这些对于我们的意义就是:当项目出现性能问题时能够知道如何 发现 和 解决问题! 我们在解决性能问题时不能够凭感觉去解决,而必须有据可依!(通过 Profiler 判断性能问题) 并且当我们养成了良好的编程习惯和内存使用习惯后,往往只需要在出现性能问题时再去排查解决,不用过于敏感! 通过学习各种性能分析工具的使用,再到 Unity 本身机制、CPU 性能、GPU 性能、内存问题等知识的学习 其实我们发现,性能问题的本质就是根据需求去调整 “天平的平衡” 我们的各种优化手段的本质,大多数时候就是:“用内存换性能”,“用 GPU 性能换 CPU 性能” 或者 “用性能换内存’ 注意:前提是养成了良好的编程习惯和内存使用习惯 本系列学习内容 Unity 性能分析工具 Unity Profiler Unity Profiler 脚本控制 性能优化 Unity...
CS4L29——堆排序
CS4L29——堆排序
CS4L27——归并排序
CS4L27——归并排序
CS4L28——快速排序
CS4L28——快速排序 快速排序 快速排序(quick sort)是一种基于分治策略的排序算法,运行高效,应用广泛。 快速排序基本原理 简略来说:选取基准,产生左右标识,左右比基准,满足则换位,排完一次,基准定位,左右递归,直到有序 详细解释:快速排序的核心操作是“哨兵划分”,其目标是:选择数组中的某个元素作为“基准数”,将所有小于基准数的元素移到其左侧,而大于基准数的元素移到其右侧。 选取数组最左端元素作为基准数,初始化两个指针 i 和 j 分别指向数组的两端。 设置一个循环,在每轮中使用 i(j)分别寻找第一个比基准数大(小)的元素,然后交换这两个元素。 循环执行步骤 2. ,直到 i 和 j 相遇时停止,最后将基准数交换至两个子数组的分界线。 哨兵划分完成后,原数组被划分成三部分:左子数组、基准数、右子数组,且满足“左子数组任意元素 ≤ 基准数 ≤...
CS4L26——希尔排序
CS4L26——希尔排序 希尔排序
MIL26——模拟面试题
MIL26——模拟面试题 C# 以下代码,请问最终的打印结果是多少?为什么? 1234567891011121314151617class TestClass{ public int i = 0;}static void TestFun(TestClass obj){ obj = new TestClass(); obj.i = 10;}static void Main(string[] args){ TestClass t = new TestClass(); TestFun(t); Console.WriteLine(t.i);} 基于上一题,我们要如何修改,才能让最后的结果为10?请说出 3 种方式 C# 中 List 中的 Sort 方法中,传入的比较器委托函数,返回的 -1, 0, 1 分别代表什么意思? C# 中的 CLR 是什么? 代码混淆是什么意思?有什么作用? Unity Unity...
MIL25——模拟面试题
MIL25——模拟面试题 C# C# 中常用的命名规范有哪些?(至少说出3种) C# 编程中常见的内存管理问题有哪些? 在 Unity 中使用 C# 的 foreach 是否会带来额外内存和性能开销? 在游戏开发中的日志系统一般会配合 C# 中的什么一起使用?用于记录报错信息 对于一个 ARPG 游戏来说,如何设计技能配置表,请简要描述(比如:大概需要配置几张表,分别配置什么信息) Unity Unity 中如果想要改变物理系统中默认重力的方向或大小,应该在哪里修改? Unity 中动态批处理和静态批处理的区别? Unity 发布后的应用程序的美术表现效果比在编辑器中看起来差,可能原因有哪些? Unity 中线性颜色空间和伽马颜色空间的主要区别是什么? 为什么线性的表现效果更好,Unity 默认还是使用的伽马呢? 答案 C# C#...
MIL24——模拟面试题
MIL24——模拟面试题 C# value1 和 value2 谁先初始化 123456789public class Main1{ static object value1; static Main1() { value1 = new object(); } static object value2 = new object();} C# 中数值在调用 ToString() 方法时,若传入字符串参数,有哪些格式转换规则?(至少说出3点) C# 中 ulong 类型可以表示最大的整数为多少?C# 中的 BigInteger 类对于我们来说有什么意义? C# 中如何把 int 数组转换为 string 数组?(请至少说出 2 种方式) 为什么我们使用单例模式更多,而几乎不使用静态类? Unity Unity 中的 PlayerPrefs...
MIL23——模拟面试题
MIL23——模拟面试题 C# int[,] strArray = new int[3, 4] 这个语句创建了多少个 int 对象? string[,] strArray = new string[3, 4] 这个语句创建了多少个 string 对象? 为什么我们要尽量避免装箱拆箱?避免装箱拆箱的方案有哪些? 为什么说闭包可能会带来内存泄漏? 单机游戏中,我们如何避免玩家利用修改器修改客户端数据?(至少说出2点方案) 网络游戏中,我们如何避免外挂的产生?(至少说出2点方案) Unity Transform 中的本地坐标系的方向 转换 为相对世界坐标系的方向 的两个API TransformVector() 和 TransformDirection() 有什么区别? Lua 语言中的 upvalue 是什么? 该 Unity 中的报错是什么意思?如何定位该问题?我们一般如何排查解决该问题?(至少说出2种方案) 在 Android 平台上运行的项目出现问题,我们有几种调试的方式?(至少说出 3 种方案,不使用第三方插件) 使用 UnityWebRequest...
