自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 3.1 File

【代码】3.1 File。

2026-01-09 17:07:54 77

原创 10. CPU-GPU协作渲染

【代码】10. CPU-GPU协作渲染。

2026-01-09 15:05:39 92

原创 1.4 Unity运行时路径

【代码】1.4 Unity运行时路径。

2026-01-09 13:26:44 98

原创 1.3 Unity特殊文件夹

【代码】1.3 Unity特殊文件夹。

2026-01-08 15:06:20 189

原创 1.2 Unity资源分类

【代码】1.2 Unity资源分类。

2026-01-08 14:30:06 168

原创 3.2 常量缓冲区

【代码】3.2 常量缓冲区。

2026-01-07 15:50:29 70

原创 3.1 DrawCall

DrawCall表示 "CPU准备渲染指令, 让GPU进行渲染的过程"1).配置"渲染状态"(告诉GPU渲染规则)CPU会把当前渲染需要的"规则"整理成数据, 发给GPU的渲染管线:a.深度测试/模板测试规则b.混合模式c.裁剪模式这些都是小量的状态标识/数值(比如用1/0表示开启/关闭深度测试), 不是"拷贝数据", 而是"设置GPU的寄存器/状态位"2).绑定"GPU资源句柄"(告诉GPU用哪个显存资源)

2026-01-07 15:45:00 119

原创 09. CPU, GPU, 内存, 显存, 硬盘传递数据

a.硬盘: 永久保存游戏字体(模型, 纹理, Shader, 场景), 相当于公司仓库b.内存: 缓存硬盘加载的资源, 供CPU/GPU快速访问, 相当于办公桌(放当前工作文件)c.CPU: 调度任务, 准备数据, 逻辑计算, 相当于办公人员d.GPU: 渲染画面, 并行计算, 相当于专业工作室(配专属工作台)e.显存: 存储GPU正在使用的定点数据, 纹理, Shader代码, 相当于工作室专属工作台。

2026-01-07 14:49:42 134

原创 22. 数学符号

【代码】22. 数学符号。

2026-01-06 20:42:55 134

原创 1.1 Unity资源生命周期管理与内存机制

【代码】1.1 Unity资源生命周期管理与内存机制。

2026-01-05 21:39:09 230

原创 3.4 坐标映射和线性变换

【代码】3.4 坐标映射和线性变换。

2026-01-04 17:07:17 195

原创 3.5 线性变换的度量

【代码】3.5 线性变换的度量。

2026-01-04 16:51:22 187

原创 3.3 一般向量空间

【代码】3.3 一般向量空间。

2026-01-01 11:01:36 146

原创 17. 纹理压缩

【代码】17. 纹理压缩。

2025-12-31 15:08:47 109

原创 08. DMA

DMA(Direct Memory Access, 直接内存访问)是计算机体系中核心的"解放CPU"技术 ——它允许外设(如 GPU、硬盘、网卡、音频设备)不经过CPU中转, 直接读写系统内存, 从而让CPU从繁琐的数据拷贝工作中解脱, 专注于游戏逻辑、AI 计算、物理模拟等核心任务没有DMA时, 外设与内存的通信必须经过CPU, 就像:- CPU是游戏公司的CEO(负责核心逻辑: AI、物理、剧情触发)- 内存是文件柜(存储纹理、模型、音频等资源)

2025-12-31 14:09:44 196

原创 07. 系统总线和PCIe 总线

【代码】07. 系统总线和PCIe 总线。

2025-12-31 10:23:42 212

原创 3.2 空间变换

T : V → W , 存在一个变换将向量空间V中的向量变换到向量空间W中a.V是定义域, W是值域b.Kernel(T)简称Ker(T), 表示V中经过变换T后, 会被映射到W的零向量的向量集合c.Range(T): V是变换的定义域, 里面的所有向量经过T后, 会"投射"到W中的某些点;W中这些被T投射到的所有点(向量)的集合, 就是Range(T) —— 它是W的一个子空间(相当于W里被T"覆盖到的区域")

2025-12-29 14:25:09 97

原创 01. 真值, 原码, 补码

【代码】01. 真值, 原码, 补码。

2025-12-28 21:16:25 182

原创 3.1 线性变换简介

Ax = b可以看为A的列向量的线性组合, 从另一个角度看Ax = b, 矩阵A将x从一个向量空间转换到另一个向量空间(b)a.b不等于0, 将x从R^n空间变换为A的列空间(R^m)b.b等于0, 将x从A的零空间变换为0矩阵A将x从一个向量空间转换到另一个向量空间称为变换 , 变换类似于函数 , 输入一个向量 , 得出另一个向量;若满足下面的条件称为线性变换。

2025-12-27 12:36:25 180

原创 06. 提高缓存命中率

【代码】06. 提高缓存命中率。

2025-12-26 14:16:32 251

原创 05. CPU从内存中读取数据的流程

CPU从内存中读取数据的核心是通过"地址总线, 数据总线, 控制总线"的协同配合, 结合CPU多级缓存的优化, 完成地址寻址-> 指令传输 -> 数据读取 -> 缓存存储的全过程用一个通俗的类比理解: 把CPU比作工厂的加工车间, 内存比作仓库, 数据比作零件, 总线就是连接车间和仓库的运输管道。

2025-12-26 13:36:24 225

原创 16. 普通函数调用开销

【代码】16. 普通函数调用开销。

2025-12-25 17:30:35 141

原创 2.9 预热Shader

【代码】2.9 预热Shader。

2025-12-25 10:58:05 120

原创 2.8 预渲染

在游戏运行前或加载时, 提前将需要渲染的资源(如模型、纹理、着色器等)上传到GPU, 从而避免在游戏运行时首次使用该资源时出现卡顿1).问题来源:a.当游戏运行时, 一个模型(包括网格、纹理、材质等)第一次被渲染时, CPU需要准备数据并上传到GPU;这个过程包括:- 将网格数据(顶点、索引等)上传到GPU的顶点缓冲区和索引缓冲区- 将纹理数据上传到GPU的纹理资源- 编译着色器(如果之前没有编译过)并创建GPU上的着色器资源- 设置常量缓冲区等。

2025-12-25 10:46:39 161

原创 12. 自动向量化

【代码】8. 自动向量化。

2025-12-24 15:25:34 134

原创 04. 常见的内存知识

【代码】04. 常见的内存知识。

2025-12-24 14:38:28 118

原创 03. 内存屏障

【代码】03. 内存屏障。

2025-12-24 13:42:14 180

原创 2.7 资源加载优化

【代码】2.7 资源加载优化。

2025-12-24 13:01:35 205

原创 2.6 禁用未使用的脚本和对象

【代码】2.6 禁用未使用的脚本和对象。

2025-12-24 11:08:16 92

原创 2.5 GameObject优化和容器选择

【代码】2.5 GameObject优化和容器选择。

2025-12-24 11:00:23 178

原创 21. 三角函数

【代码】21. 三角函数。

2025-12-23 21:42:37 226

原创 2.4 本机到托管的桥接

1).本机到托管的桥接简介本机到托管的桥接表示"unity引擎底层代码(通常是c/c++)与托管代码(c#)之间的交互机制"a.本地代码(Native Code)- 主要是用c++编写的- 包括unity引擎的核心部分: 渲染引擎, 物理引擎, 音频系统等- 直接编译成机器码, 运行效率高- 与操作系统和硬件直接交互b.托管代码(Managed Code)- 主要是开发者编写的c#脚本- Unity IL2CPP模式下的C# 运行在 .net虚拟机(mono或il2cpp)

2025-12-23 13:10:57 255

原创 2.3 代码优化技巧

【代码】2.3 代码优化技巧。

2025-12-22 10:42:41 122

原创 2.2 频繁内存分配和垃圾回收对于CPU性能的影响

【代码】2.2 频繁内存分配和垃圾回收对于CPU性能的影响。

2025-12-19 17:33:35 209

原创 2.1 CPU脚本性能优化简介

【代码】2.1 CPU脚本性能优化简介。

2025-12-19 13:49:30 251

原创 1.17 并行集合

【代码】1.17 并行集合。

2025-12-19 11:08:46 171

原创 1.16 PLINQ

PLINQ是LINQ的并行扩展, 核心是通过AsParallel()启用并行查询, 自动将查询任务分发到多线程池, 利用多核CPU提升效率a.PLINQ依赖System.Linq命名空间, 支持内存集合(如List<T>、IEnumerable<T>),不支持LINQ to SQL/EF 等数据库查询b.启用并行(AsParallel), 调用后LINQ查询从"串行"转为"并行"执行// 数据源:1~10000 的整数集合// 【普通 LINQ(串行)】筛选偶数并乘以 2。

2025-12-18 16:28:49 130

原创 02. 缓存行

【代码】02. 缓存行。

2025-12-18 14:09:44 191

原创 15. 纹理尺寸是4的倍数

【代码】15. 纹理尺寸是4的倍数。

2025-12-16 20:40:00 193

原创 01. 内存对齐

【代码】01. 内存对齐。

2025-12-16 20:29:43 134

空空如也

空空如也

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

TA关注的人

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