一、反射
动态获取类型信息,动态创建对象,动态访问成员的过程。
作用:在编译时无法了解类型,在运行时获取类型信息,创建对象,访问成员。
二、托管堆
是一段内存,有项目脚本运行时的内存管理器自动管理,托管代码中创建的所有对象必须在托管上分配内存
Unity的GC是非代数和非压缩的,表明GC 的时候必须扫描整个堆,堆扩展越大,性能会越低,非压缩是内存中的对象不会重新定位,会产生间隙。
三、关照模式总结
环境光:无论如何都需要。一般用于决定画面的底色。
实时光:每时每刻都在进行的光照,游戏时可以随时改变光照的状态,无需烘培,效果好,但在正在渲染下,画面同时出现多个光照,开销较大。
烘培光:根据光照信息预先渲染成贴图,最后盖到场景上,使部分渲染元素没有实时运行的开销,属于全局光照。拥有间接光,但光照属性运行时不能修改,动态物体不受影响,烘培耗时
FixedUpdate
固定更新,在每一帧被调用(给物体施加力) 不受机器性能影响
Update
与机器性能有关,性能越好处理越快,执行间隔越小
LateUpdate
在Update之后执行,一般用于相机跟随
Asset Bundle(AB包)
是一个压缩包,其中包含模型,贴图,预制体,声音甚至整个场景,可以在游戏运行时侯被加载,可使用LZMA算法和LZ4算法来压缩减少包的大小。
AssetBundle 是将资源用Unity的一种用于存储资源的压缩格式打包后的集合。它可以存储任意一种Unity引擎可以识别的资源。
Unity中的AssetBundle系统是对资源的一种扩展,可以动态的加载和卸载,并且大大节约了游戏包体所占空间并提高了效率。

这篇博客总结了Unity面试中常见的知识点,包括反射的用途、托管堆的特性、不同关照模式的比较,还涉及Asset Bundle、热更新流程、协同程序、对象池的概念,以及物体碰撞条件和摄像机设置。此外,还探讨了GC的基本原理和优化策略。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



