【Unity】各种操作触发 GC 情况 【Unity】各种操作触发 GC 情况 在 Update 中持续执行下列操作,统计每帧触发 GC 的情况,仅首帧触发 GC 的情况不计入。 使用 Linq 处理数据 基本上使用就会分配内存,所以不要用。 利用 Foreach 遍历容器 不会分配内存,可以用,但根据不同的迭代器实现,速度可能不如 For 循环。 将值类型装箱 会触发内存分配,不要使用。 使用 enum 做键的字典 使用 enum 作 2024-02-04 框架使用 > Unity
【Unity】图形渲染瓶颈与批处理优化 【Unity】图形渲染瓶颈与批处理优化 图形渲染 工作方式 显卡的工作方式并非连续的,一般分三步。 上传更新渲染数据至显存 设置显卡的渲染管线状态 启动绘制并等待绘制结果 性能瓶颈 由于显卡是大规模并行计算,绘制几个或几千个三角面在速度上基本没有区别,这时候瓶颈就容易出现在工作方式中第一第二点上。 内存到显存的传输是有代价的 如果对比过 Unity 的作业系统就会发现一点,对应一些数据量大 2024-02-04 框架使用 > Unity
【Unity】未来技术路线 【Unity】未来技术路线 新旧更替 UnityEngine.Mathf->Mathematics UnityEngine.Input->InputSystem UnityEngine.UI.Text->TextMeshPro Build-in RenderPipeline->URP ParticleSystem->VisualEffectGraph Surface 2025-12-23 框架使用 > Unity
【Unity】热更新原理与 Xlua 配置 【Unity】热更新原理与 Xlua 配置 热更新 直接理解即是让代码可以像资源包一样被运行时更新。当然它其实还一个名称叫热修复,即实现不重新打包项目也能把 Bug 修好,这也正是它常用的地方。 原理 C# 无法直接热更新 C# 是编译型语言,需要先编译成 IL 再送到虚拟机里才可运行。部分平台不支持 C# 编译器的使用,所以没法通过直接重新编译 C# 代码来实现热更新。 lua 可以轻松 2024-02-04 框架使用 > Unity
【Unity】脚本生命周期 【Unity】脚本生命周期 执行顺序 现象 Start,Update 全部按批执行 Awake 在场景初始化回调前触发 后拖入场景的脚本先执行 结论 Awake 被认为是一种初始化,而 Start 不是 创建 AddComponent | Instantiate | 现象 Awake 在物体创建后立即触发 Start 必在当前帧被执行 只要在当前帧的 Update 之前创建,Update 肯 2025-12-23 框架使用 > Unity
【Unity】骨骼动画 【Unity】骨骼动画 蒙皮模型 蒙皮模型的结构 直接将蒙皮模型拖进场景中并观察其子节点,最简单的蒙皮模型中由骨架和蒙皮网格两部分组成。 骨架 由一堆空物体组成,每个空物体代表一根骨骼。 蒙皮网格 蒙皮网格相比普通网格多了一些数据: 一组模型空间转骨骼空间矩阵,每个矩阵对应一个骨骼。 每个顶点所要跟随的骨骼矩阵索引。 每个顶点所要跟随的骨骼矩阵权重。 为了支持这些新属性,蒙皮网格需要使 2025-12-23 框架使用 > Unity
VSCode 插件开发笔记 VSCode 插件开发笔记 VSCode 的插件实质 VSCode 在设计之初就考虑了扩展性,甚至很多 VSCode 的核心功能也是基于扩展的方式编写的,并且使用的扩展 API 也是一样的。 VSCode 的源代码基本都是用 TS 编写的,所以他的扩展编写也基本一样,使用 TS 或 JS 开发。 VSCode 插件其实就是一个 node.js 包,插件的各种配置信息也都存在包中的 package. 2025-12-23 框架使用 > VSCode
【技术美术】D3D中GPU渲染管线流程详解 【技术美术】D3D中GPU渲染管线流程详解 基本术语 基元、图面: 网格中所使用的顶点数据布局,常见的如点、线、三角面等,特殊的甚至包括一些带邻近基元的基元类型。 参数语义 语义是附加到着色器输入或输出参数的字符串,用于传达给系统有关参数的预期用途的信息。 用户语义 由用户在 IA 阶段定义的语义。用于描述传入的数据类型,以便系统在 VS 阶段分配输入参数;同时也用于在其他着色器中标记要在 2024-03-14 技术堆栈 > 技术美术 > 渲染管线
【技术美术】GPU渲染管线概述 【技术美术】GPU渲染管线概述 GPU渲染管线的名称由来 GPU渲染管线指代GPU渲染图形的工作过程及其环境。 GPU的工作方式和狭义上分时的CPU不同,GPU类似早期的批处理系统: 工作前需提前配置好输入和工作参数,运行时不可修改,直到工作结束; 因为GPU一般是为了渲染像素这样的特定任务,其工作流程固定且有多道工序。 这些特征很像工厂中的流水线,也因此便获得了“渲染管线”的名号,前缀GPU 2025-12-23 技术堆栈 > 技术美术 > 渲染管线
【技术美术】GPU绘制画面的基本原理 【技术美术】GPU绘制画面的基本原理 GPU是如何在屏幕上绘制画面的? GPU是计算机的一部分,自然是基于数学的,也只有数学能足够严谨精确的去描述画面。那问题便可以抽象为“如何用数学表示一幅2D图像?”。 定位画面 上过初中的都知道,直角坐标系嘛。比如我和画画的人约定好,待会他要画一个三角形,那我只要告诉他三个顶点的坐标,那他100%就能在我期望的位置画出三角形。 当然,光一个三角形太简单了,我希 2025-12-23 技术堆栈 > 技术美术 > 渲染管线