Unity常用面试问题

GC针对的谁

new对象的时候,产生新对象
产生新对象:装箱,使用linq表达式的委托,new,字符串,使用委托的时候创建了新对象会产生gc,如果缓存了全局这个委托,则不会

GC是发生在什么时候

主动调collect接口以及内存分配不足的时候

如何避免gc

别new对象

GC的过程,为什么耗时

每一次GC会经历以下过程,堆上的对象越多,对象的引用越多,意味着GC所做的工作越多
1:GC会检查堆上所有的对象
2:GC会检查所有这些对象的引用是否仍在作用域
3:每个不在作用域的对象都会被标记为待删除
4:GC删除每个待删除的垃圾对象

渐进式gc,unity2019的分代垃圾收集功能

移动端的优化

GC,UGUI合批,网格重建,跨语言调用,IO,预制体加载大小(特效动态加载),ab包分类

卡牌鱼眼列表的实现

利用Horizontal Layout Group的控制自己缩放特性和item的缩放来修改content大小,监听鼠标事件

全面屏手机为什么可以自适应,自适应是怎么处理的

水滴屏:
修改父节点的anchorMin,跳过水滴

safeAreaRect.offsetMin = Vector2.zero;
safeAreaRect.offsetMax = Vector2.zero;
var resolution = canvas.pixelRect.size;
var offsetX = resolution.x - safeArea.width;
var offsetY = resolution.y - safeArea.height;
safeAreaRect.anchorMin = new Vector2(offsetX / resolution.x, offsetY / resolution.y);
safeAreaRect.anchorMax = new Vector2((resolution.x-offsetX)/ resolution.x, (resolution.y-offsetY)/ resolution.y);

有一个按钮点击了没有反应为什么 pc和手机上

raycast没勾选,被别人挡住了

c#的字典是什么实现的

Hash算法

无限列表的实现,格子划完超过1之后的做法,不需要每个设置数据,进去的一行设置位置就行了。滑到下面去怎么跟index变化进行对应

建个字典用数据索引和transform缓存

大地图划的很快,或者一下子缩小会不会看到一个图片没有加载出来或者一个空的地方

用九宫格加载和精确度低的图片解决

相机裁剪的流程

在这里插入图片描述
到裁剪空间后gpu删除不在-1,1,0,1范围内的点,部分内的切割, UnityObjectToClipPos
直接裁剪空间判断x,yz是否在-w,w之中

为什么函数出来后值类型离开后会自动释放

因为值类型是复制的,出栈后栈顶指针收缩复用那片区域,引用是在堆里面

stringbuilder实现

字符数组

texture导入的设置重要的设置

可读可写,类型,大小,压缩格式,minmap是否开启(开了增加内存,不开分辨率过高增加渲染压力,显存过大,传递数据drawcall更多)

头顶UI的优化技巧

1.使用3D做法,避免坐标转换,可以使用job放在其他线程处理旋转缩放,位置,缺点canvasgroup,以及布局组件之类的不好使用
2.判断视野范围内才更新
3.超过一定距离卸载,跟相机的距离
4.根据距离远近分帧更新
5.需要时更新,怪物移动以及相机更新
6.加载的时候分帧加载,避免同一帧创建多个
https://zhuanlan.zhihu.com/p/25670078
头顶文字合批 用srpbatch

TCP和UDP

tcp:按序到达,实时性没udp强,要连接才能发送,双向通信
udp:无法保证顺序,单向通信

大世界地图里面地形合并是动态合批还是静态合批

动态合批

大世界地图里面地形合并怎么合并的

不一定对,先记录:1.合并顶点数据,合并mesh 2.使用同一个材质,同一个大的贴图数据 3.不同的uv 在运行的时候动态合批

TextMeshPro怎么设置字体透明度

控制的是顶点的颜色不透明度,挂了个材质

动作和特效都是异步加载,要播放的时候怎么保证动作和特效是同时播的

1.动作和特效加载出来后都从播放时长-加载耗费的时长偏移开始播,虽然开头看不到,但是播放进度是一起的
2.特效和模型做一起,这样k动作的时候就可以一起k
3.预加载这两个资源
4.再就是只能特殊处理了,等加载完成再说

游戏开发中一堆怪物是怎么合批的,3d麻将模型是怎么合批的?

动态合批(unity自动处理)
顶点数量必须少于
使用相同的材质和着色器
缩放必须一致
不要求同一个图集

一个3D模型的批次是多少,游戏整体的批次是多少

一个角色20,整体是400,500

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JustEasyCode

谢谢您

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值