自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 U3D游戏面试中出现的C++问题()

C++虚函数表原理浅析 - zhxmdefj - 博客园 (cnblogs.com)C++ 虚函数表剖析 - 知乎 (zhihu.com)

2023-12-17 22:25:02 957 1

原创 U3D网络方面面试:TCP中的粘包、拆包

TCP是面向字节流(字节流可以理解为一个双向的通道里流淌的数据,这个其实就是我们常说的二进制数据,简单来说就是一大堆 01 串。这些 01 串之间的协议,本来就是没有界限的一串数据,不存在什么“粘包”问题。把它称为“包”是为了更好地理解“粘包、拆包”这两种现象。TCP开发情况中,“包”可以是TCP在传输的时候封装的报文,分为首部和负载数据;另一种可以说是开发者在应用层封装的报文结构。

2023-12-13 13:49:35 817

原创 U3D面试要点:Rebuild

调用 CacheCanvas,获取父对象的Canvas组件将父对象Canvas组件,注册到GraphicRegistry1. 通知LayoutRebuilder布局重建2. Vertex页点信息(SetVerticesDirty)3. Material材质(SetMaterialDirty)

2023-12-12 23:36:21 356

原创 U3D面试要点:贴图

只有开启此项,才可以使用:内存中会保留一份内存的的拷贝,会占用。

2023-12-12 23:20:01 378

原创 U3D:Mask和RectMask2D

比如100个物体,我把前50个物体合在一起提交给GPU渲染,后50个物体合一起提交给GPU渲染,那么渲染100个物体用通过2批渲染绘制完成,也就是2次Drawcall。2. 当子级UI进行渲染的时候会去检查这个 Stencil Buffer内的标记,如果当前覆盖的区域存在标记(即该区域在Image的覆盖范围内),进行渲染,否则不渲染。1. Mask会赋予Image一个特殊的材质,这个材质会给Image的每个像素点进行标记,将标记结果存放在一个缓存内(这个缓存叫做。对所有需要裁切的UI元素,进行裁切操作。

2023-12-12 22:50:07 1176

原创 U3D开发:程序集

程序集是.net中的概念,程序集可以看作是给一堆相关类打一个包,相当于java中的jar包。在.Net 中,程序集(Assembly)中保存了元数据(MetaData)信息,因此就可以通过分析元数据来获取程序集中的内容,比如类,方法,属性等,这大大方便了在运行时去动态创建实例。,把相关的代码和类型进行组合,然后生成PE文件(例如可执行文件**.exe和类库文件.dll**)。对于静态程序集可以生成单个或多个文件,而动态程序集是存在于内存中的。

2023-12-12 20:02:28 946

原创 U3D开发:Mono和IL2CPP的区别

早期,C#是微软的,只会在Windows平台运行。为了解决这个问题,引入了Mono,它是开源跨平台的,其实是在各个平台实现了套Mono的虚拟机,这样你的代码就能运行在各个平台了。Mono的核心原理是,将C#代码,转化成IL 中间代码,然后通过各个平台的Mono虚拟机解释执行,在运行时,解释的过程中,最终转化成了机器码。 而 IL2CPP,是在各个平台,先将 C# 转化成 C++ 代码,然后通过各个平台的C++编译器直接生成了机器码,也就是在你发包的时候已经是机器码了,所以很快。

2023-12-12 16:20:54 1121

原创 基于 CLR 的 GC算法

随着程序运行,第1代的对象已经接近预算不能再多,此时第0代触发了一次GC,这次GC就会检查第1代和第0代内所有的对象,将第1代存活的对象标记为第2代,第0代存活的对象标记为第1代。不然,第1代的老对象新引用了0代的新对象,而GC不检查第1代的老对象,那第0代的新对象有可能会被错误的回收。出发找到其引用的对象,再到其间接引用的对象,形成一条引用链,凡是不在引用链里面的对象,被称为不可达(Unreachable)对象,里面也会涉及的Mark-Compact + 分代。,查看他们引用了哪些对象。

2023-12-11 23:54:20 832

原创 C#中List和Dictionary的底层实现

获取元素时也同样使用 FindEntry 函数,而 Set 设置元素时使用哈希拉链冲突解决方案。get {set {

2023-12-11 21:30:12 1261

原创 U3D部分知识点tips

const关键字表示该变量的值在程序运行期间不可变。常量在声明时必须初始化,并且不能再次赋值。常量的值在编译时确定,可以在整个程序中使用。

2023-12-07 01:06:05 1015 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除