- 博客(327)
- 收藏
- 关注
原创 33. RenderTarget
RenderTarget(简称RT, 渲染目标)本质是"显存中的一块缓冲区/虚拟画布"默认情况下, Unity的相机直接把画面渲染到"屏幕缓冲区", 而RenderTarget允许你让相机把画面渲染到这块"虚拟画布",而非直接显示, 这块画布的具体实现是Unity的"RenderTexture"类;渲染完成后, 可以将它作为纹理采样, 二次处理或最终再渲染到屏幕上简单类比:正常画画是直接画在最终展示的画布(屏幕)上, 而RenderTarget是先画在草稿纸(虚拟画布)上, 修改/合成后再复。
2026-02-14 13:43:16
207
原创 2.2 特性
特性(Attribute)是c#中的一种特殊的"元数据"机制, 可以将它理解成给代码(类, 方法, 属性, 参数, 程序集等)贴的标签这些标签不会直接影响代码的执行逻辑, 但能为代码附加额外的信息, 程序在运行时/编译时可以读取这些信息a.定义自定义特性类(必须继承System.Attribute, 命名建议以Attribute结尾)b.应用自定义特性到目标元素c.通过反射读取特性的元数据// 1. 定义自定义特性:标记代码作者和创建时间。
2026-02-13 15:21:16
212
原创 4.1 网络层简介
a . 在发送主机和接收主机对之间传送数据报b . 在发送端将TCP段或UDP数据报封装到数据报中c . 在接收端 , 将TCP段或UDP数据上传给传输层实体d . 网络层协议存在于每一个主机和路由器e . 路由器检查每一个经过它的IP数据报的头部网络层的功能 : a . 转发 : 将分组从路由器的输入接口转发到合适的输出接口b . 路由 : 使用路由算法来决定分组从发送主机到目标接收主机的路径 - 路由选择算法 - 路由选择协议。
2026-02-13 10:29:47
268
原创 2.1 反射
1).反射式程序运行时可以看自己的结构(比如: 类, 方法, 属性等), 并能操作这些结构;反射的核心命名空间System.Reflection, 核心类是Type(所有类型信息的入口)2).反射的核心使用场景a.动态创建对象b.动态调用方法c.访问私有成员d.读取自定义特性。
2026-02-12 17:33:47
289
原创 4.4 GPU的显存带宽
GPU想象成工厂的"加工车间", 显存是车间旁边的"原材料仓库", GPU内存带宽就是连接车间和仓库的唯一送货通道, 通道宽度是固定的, 一次能送的货就这么多;如果要送的货太多或者送货方式太笨, 通道就会堵车, 哪怕车间(GPU)有空, 也因为没原料干不了活, 游戏就会卡顿、掉帧优化目标: "要么少送货, 要么让送货更高效, 别浪费通道空间"
2026-02-12 15:12:14
145
原创 01. GUIContent
GUIContent是Unity引擎专门用于封装"GUI控件显示内容的核心类", 它就像一个"内容打包器", 能把文本, 图标(纹理), 鼠标悬停提示这三类信息整合在一起// 可在Inspector面板中赋值的图标纹理// 1. 仅包含文本的GUIContent(最基础用法)GUIContent textOnlyContent = new GUIContent("普通按钮");Debug.Log("点击了仅文本的按钮");// 2. 包含文本+图标+提示的GUIContent(完整用法)
2026-02-11 16:52:28
184
原创 15. GPU的SM简介
GPU结构是这样的(从外到内)a.整个GPU芯片b.里面有几十个SM(流多处理器)c.每个SM中存在共享内存, 线程调度器, SP(流处理器)d.SP(流处理器)包含1个或多个ALU, 寄存器a.ALU简介- ALU(Arithmetic Logic Unit)算术逻辑单元, 它是芯片里最小、最底层的计算硬件- 只干一件事: "做纯数学 / 逻辑运算", 比如: 加, 减, 乘, 除, 与, 或, 非, 移位, 浮点运算。
2026-02-11 16:46:05
170
原创 2.3 反函数的导数
"函数f是一对一的关系, f(x1)不等于f(x2), 则x1不等于x2" , 若函数满足一对一的关系 , 则函数会存在反函数2).y = e^x。
2026-02-10 21:45:19
220
原创 4.7 GPU的并行和调度
GPU出厂自带几千/上万的硬件并行度(天生能同时让这么多核心干活), 但这些核心只会干简单重复的计算活;GPU的调度器就是一个"智能安排员", 它会把大量的重复计算任务, 比如渲染屏幕上的几百万个像素, 分配给这些核心组成的线程组,一旦某个"线程组要等数据, 挂起这个组, 换另一个就绪组上来""GPU调度的最小单位是线程组(Warp/Wavefront)"
2026-02-10 17:50:08
142
原创 4.6 显存和缓存
1).显存a.显存是gpu外部的专用大容量存储, 主要用于存放顶点, 纹理, 渲染目标(RT), 阴影贴图后处理缓冲b.特点- 容量大, 以GB为单位, 带宽高, 但是延迟大- GPU工作时几乎会不停地从显存中读写内容2).缓存a.缓存是GPU内部的小容量高速存储, 主要用于存放从显存取出的热点数据, 方便我们重复使用b.所谓热点数据一般在CPU和GPU的优化领域中指的是在短时间内被高频访问的数据, 因为它被用的多, 所以放在更快的存储空间中(比如寄存器、缓存)能极大的提升性能。
2026-02-08 17:44:32
315
原创 4.5 顶点和片元
1) . 顶点表示模型的几何数据 , 是组成三角形网格的点;一个 3D 模型实际上就是由很多三角形拼接而成的 , 而三角形的角就是顶点a . 作用是网格的框架点 , 决定了模型的形状b . 着色器的顶点着色器对顶点进行处理和计算 , 将模型的空间的顶点转换到裁剪空间 , 屏幕空间2).片元表示光栅化阶段产生的, 候选的像素点;当三角形被投影到屏幕后, 会覆盖一片像素区域, 每个像素位置对应一个片元, GPU会为它准备一份数据(位置, UV, 颜色等)a.作用。
2026-02-07 17:23:31
155
原创 2.1 链式法则
1).法则前提a.函数u = g(x)在x处可导b.函数y = f(x)在u = g(x)处可导则复合函数y = f(g(x))在x处可导, 且导数满足链式法则2) . 两种核心表达形式a . 微分形式2) . 函数复合形式。
2026-02-07 15:17:17
221
原创 30. 异步和多线程
a.多线程: 像是你同时请了多个工人(线程)干活, 每个工人独立执行自己的任务, CPU需要在这些工人之间切换调度;这是并发执行的一种实现方式b.异步: 是一种编程模式/思想, 核心是"非阻塞" —— 当遇到耗时操作(比如: IO、网络请求)时, 当前线程不会傻等, 而是去处理其他任务, 等耗时操作完成后再回来处理结果;异步不一定需要创建新线程1).IO密集型最典型的就是"文件读写, 数据库操作, 网络请求"等, 这类操作的耗时主要花在等待外部设备(硬盘/网络)响应, 而非占用CPU;
2026-02-06 09:53:48
277
原创 4.2 OverDraw
1).OverDraw定义OverDraw表示GPU在同一帧内, 对屏幕上的同一个像素位置, 绘制了超过1次可以用画画做比喻: 你在一张纸上画一幅画, 正常情况是一个位置只涂一次颜料(1次绘制, 无OverDraw)如果先涂红色、再在红色上面涂蓝色, 最后再涂黄色(同一个位置涂3次), 那这个位置的OverDraw次数就是3次关键前提:a.不透明物体默认不会产生OverDraw, GPU有深度测试/深度剔除机制, 先画的不透明物体会占据像素的深度信息, 后画的不透。
2026-02-04 15:59:01
154
原创 26. Mipmap
1).什么是MipmapMipmap可以理解为同一纹理的"分辨率套餐"a.导入一张2048 * 2048的纹理, 启用Mipmap后, Unity会自动生成一系列分辨率逐级减半的纹理版本(1024 * 1024, 512 *512....直到1 * 1)b.这些不同分辨率的纹理层级被打包在一起, 形成一个Mipmap链核心逻辑: 当3D物体离相机很远时, Unity会自动选择"低分辨率的Mipmap层级来渲染, 而不是强行缩放原始高分辨率纹理"2).为什么用Mipmapa.解决视觉问题。
2026-02-04 15:10:44
216
原创 29. Texture和Sprite
1).纹理(Texture) —— 最基础的"图片素材"纹理是Unity里最基础的图像资源, 就是导入的图片本身, 只负责存储像素信息比如你从网上下载的PNG/JPG图片, 自己画的角色贴图, 游戏背景图, 导入Unity后, 默认就是以"纹理"的形式存在的纹理本身只是"一堆像素数据", 就像一张打印好的海报, 它只是个静态的图片文件, 没法直接在2D场景里当角色、道具用,比如没法直接调整它的锚点、碰撞体, 也没法被2D物理系统识别。
2026-02-02 15:25:20
202
原创 28. 图集
图集的作用a.核心: 降低 DrawCallGPU渲染时, 每切换一次纹理就要重新绑定纹理资源, 这个过程会产生一次DrawCall;图集把多个小纹理合并成一张大纹理,渲染时只需要绑定一次图集纹理, 就能渲染所有来自该图集的精灵/UI 元素, 大幅减少DrawCall(尤其是UI、2D精灵这类小图密集的场景)b.次要价值: 优化内存与管理- 减少纹理元数据开销: 每个纹理对象都有自身的元数据(如格式、mipmap、包装模式等), 多个小图合并成1张图集后, 只需要1份元数据, 降低内存占用。
2026-02-02 13:33:12
88
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1