Unity 内存最佳实践
最近发现Unity项目在运行过程中消耗了很多的内存,而且会出现的很频繁的GC导致游戏的CPU过热。于是去阅读了一下官方的最佳实践文档,了解了一些Unity的内存管理的知识,稍微总结一下。
最近发现Unity项目在运行过程中消耗了很多的内存,而且会出现的很频繁的GC导致游戏的CPU过热。于是去阅读了一下官方的最佳实践文档,了解了一些Unity的内存管理的知识,稍微总结一下。
随着使用的逐渐增多,慢慢受不了在对这些概念的模糊的情况下使用了,所以找了些官方文档来学习一下C#中的这些概念,主要是为了区分委托(Delegate),事件(Event)。
其实我个人在读文档之前一直是对这些概念很模糊的,甚至一度被网上的各种博客绕晕了,甚至把Action,Func和委托都混淆了。
终于在我去读了官方的文档之后,我才对这些概念有了一些认知。
首先抛出最重要的结论,委托和事件都是为了提供后处理函数的方式,事件其实也是基于委托的多播的,而每次使用委托都要定义一个新的委托类型不方便,所以又提供了两种强类型的委托,就是Action和Func。
最近看了些关于Unity体积优化的方案的文章以及Unity官方文档,总结了一下
我们都知道,计算机的核心是CPU,而CPU就是运算器和控制器,其作用就是进行数学运算。
想要理解CPU工作的原理,就要从两方面着手,一方面是计算机中的数据是如何表示的,另一方面就是在这种表示方式下,它的运算规则又是怎样的,计算机如何用电路去表示这种运算。
这周的每日一题有一道困难级别的题目,使用了一种叫做差分数组的技巧,这个技巧其实也不复杂,就是前缀和的反向操作,简单记录一下。
这是题目的链接:https://leetcode-cn.com/problems/smallest-rotation-with-highest-score/
这周在尝试对一个场景进行烘焙是,在引入了两个超大的地形之后,重新烘焙,遇到了两个问题,第一个问题,地形的某些地方出现了大量的黑斑,第二个问题,我的光照贴图数量飙升,从3个升到了16个。
询问了一下其他大佬的的意见,是因为地形过大的原因。
计算机系统性能的好坏,很大程度上是由软件的效率和作用来表征的,而软件性能的发挥又离不开硬件的支持。对于某一个功能,其既可以用软件实现,又可以用硬件实现,这叫做软硬件在逻辑上是等效的。在设计计算机系统时,要进行软硬件的功能分配。通常来说,如果一个功能使用较为频繁而且用硬件实现的成本较为理想,应该采用硬件来实现,因为硬件实现的效率一般比较高。
之前总结过一版Unity渲染流水线的简介,这次从矩阵的空间变换角度重新梳理一下这个过程,会更加清晰。同时也是对我这段时间线性代数复习内容的一个实践。
这周完成了把线性代数的知识点粗略地过一遍,有的知识点记住了,有的没记住,有的即使记住了,感觉也是死记硬背,没有融入到自己的知识体系中,思索再三,我认为根本原因是,我不知道这些公式有什么用,他们有什么具体的,或者形象化的意义,所以就打算整体上再梳理一遍这些概念或者公式的实际意义,很多基础的名词和定义就不在这里总结了。