diff --git a/1Project/图文合批/动态图集.md b/1Project/图文合批/动态图集.md new file mode 100644 index 0000000..4a00a59 --- /dev/null +++ b/1Project/图文合批/动态图集.md @@ -0,0 +1,2 @@ +# 算法 +# 做法 diff --git a/1Project/图文合批/图文合批.md b/1Project/图文合批/图文合批.md new file mode 100644 index 0000000..e69de29 diff --git a/3Resources/游戏开发/性能优化/卡片/Batch.md b/3Resources/游戏开发/性能优化/卡片/Batch.md index 84bd239..5d03284 100644 --- a/3Resources/游戏开发/性能优化/卡片/Batch.md +++ b/3Resources/游戏开发/性能优化/卡片/Batch.md @@ -1 +1,7 @@ +--- +tags: + - Batch +--- + + 把数据加载到显存,设置渲染状态,CPU调用GPU渲染的过程称之为一个Batch。这其实就是渲染流程的运用阶段,最终输出一个渲染图元(点、线、面等),再传递给GPU进行几何阶段和光栅化阶段的渲染显示。一个Batch必然会触发一次或多次DrawCal,目包含了该对象的所有的网格和顶点数据以及材质信息。把数据加载到显存是指把清染所蛋的数据从硬盘加载到内存(RAM),再将网格和纹理等加载到显卡 VRAM),这一步比较释时。设置清染状态就是设置场景中的网格的顶点 Verex)片元(Fragment)着色器,光源属性,材质等。Unitv提供的动态合批(Dvnamic Batching)合并的就是这一过程,将清染状态相同的对象合并成-个Batch,减少DrawCall。 \ No newline at end of file diff --git a/3Resources/游戏开发/性能优化/卡片/DrawCall.md b/3Resources/游戏开发/性能优化/卡片/DrawCall.md index 6f2afe5..56e85b4 100644 --- a/3Resources/游戏开发/性能优化/卡片/DrawCall.md +++ b/3Resources/游戏开发/性能优化/卡片/DrawCall.md @@ -1 +1,7 @@ +--- +tags: + - DrawCall +--- + + CPU每次调用图像编程接口 glDrawElements(0penGl日中的图元清染函数)或者 DrawIndexedPrimitive(Direct中的顶点绘制方法)命令GPU渲染的操作称为一次Draw Cal,Draw Cal就是一次渲染命令的调用,它指向一个需要被渲染的图元(primitive)列表,不包含任何材质信息,glDrawElements 或者 DrawIndexedPrimitive 函数的作用是将CPU准备好的顶点数据渲染出来. \ No newline at end of file diff --git a/3Resources/游戏开发/性能优化/卡片/SetPassCall.md b/3Resources/游戏开发/性能优化/卡片/SetPassCall.md index 66c0b64..bcdab88 100644 --- a/3Resources/游戏开发/性能优化/卡片/SetPassCall.md +++ b/3Resources/游戏开发/性能优化/卡片/SetPassCall.md @@ -1 +1,7 @@ +--- +tags: + - DrawCall +--- + + Shader脚本中一个Pass语义块就是一个完整的渲染流程,一个着色器可以包含多个Pass语义块,每当GPU运行-个Pass之前,就会产生一个SetPassCall,所以可以理解为一次完整的染流程次数。 \ No newline at end of file diff --git a/3Resources/游戏开发/性能优化/卡片/内存碎片如何优化.md b/3Resources/游戏开发/性能优化/卡片/内存碎片如何优化.md index ba94c8c..e47cdd0 100644 --- a/3Resources/游戏开发/性能优化/卡片/内存碎片如何优化.md +++ b/3Resources/游戏开发/性能优化/卡片/内存碎片如何优化.md @@ -1,2 +1,10 @@ +--- +tags: + - 性能优化 + - 内存优化 + - 内存碎片 +--- + + - 大对象尽量复用,比如数组,可以在开头就分配好空间 - new int\[1000] diff --git a/3Resources/游戏开发/性能优化/压缩/ASTC图片压缩.md b/3Resources/游戏开发/性能优化/压缩/ASTC图片压缩.md index 144c993..1a5f658 100644 --- a/3Resources/游戏开发/性能优化/压缩/ASTC图片压缩.md +++ b/3Resources/游戏开发/性能优化/压缩/ASTC图片压缩.md @@ -1,6 +1,9 @@ --- 参考链接: "[ASTC图片压缩技术浅析 - 知乎](https://zhuanlan.zhihu.com/p/1898042738022285491)" 参考链接2: "[深入理解ASTC](https://zhuanlan.zhihu.com/p/707250800)" +tags: + - ASTC + - 压缩 --- # 浅析 diff --git a/3Resources/游戏开发/性能优化/并行计算/CPU/SIMD(单指令多数据).md b/3Resources/游戏开发/性能优化/并行计算/CPU/SIMD(单指令多数据).md index 86dd7c7..e32245a 100644 --- a/3Resources/游戏开发/性能优化/并行计算/CPU/SIMD(单指令多数据).md +++ b/3Resources/游戏开发/性能优化/并行计算/CPU/SIMD(单指令多数据).md @@ -1,3 +1,8 @@ +--- +tags: + - 多线程 + - SIMD +--- - 一个普通加法指令,一次只能对两个数执行一个加法操作。 diff --git a/3Resources/游戏开发/性能优化/并行计算/GPU/Compute Shader.md b/3Resources/游戏开发/性能优化/并行计算/GPU/Compute Shader.md index e69de29..36b9c3e 100644 --- a/3Resources/游戏开发/性能优化/并行计算/GPU/Compute Shader.md +++ b/3Resources/游戏开发/性能优化/并行计算/GPU/Compute Shader.md @@ -0,0 +1,6 @@ +--- +tags: + - 多线程 + - GPU + - ComputeShader +--- diff --git a/3Resources/游戏开发/性能优化/并行计算/GPU/SIMT.md b/3Resources/游戏开发/性能优化/并行计算/GPU/SIMT.md index ce5e621..7856271 100644 --- a/3Resources/游戏开发/性能优化/并行计算/GPU/SIMT.md +++ b/3Resources/游戏开发/性能优化/并行计算/GPU/SIMT.md @@ -1,3 +1,8 @@ +--- +tags: + - SIMT + - 多线程 +--- 单指令多线程 diff --git a/3Resources/游戏开发/性能优化/性能优化-目录.md b/3Resources/游戏开发/性能优化/性能优化-目录.md index 5695846..72920b0 100644 --- a/3Resources/游戏开发/性能优化/性能优化-目录.md +++ b/3Resources/游戏开发/性能优化/性能优化-目录.md @@ -12,4 +12,6 @@ tags: - 代码优化 - 池化 - 复用 - - GC \ No newline at end of file + - GC + - UWA蓝皮书 + - https://blog.uwa4d.com/archives/BlueBook_2025.html \ No newline at end of file diff --git a/卡片数据库.base b/卡片数据库.base new file mode 100644 index 0000000..5c6d85c --- /dev/null +++ b/卡片数据库.base @@ -0,0 +1,19 @@ +views: + - type: table + name: 表格 + filters: + and: + - file.hasTag("性能优化") + order: + - file.name + sort: + - property: file.name + direction: DESC + - type: cards + name: 视图 + filters: + and: + - file.hasTag("性能优化") + cardSize: 150 + image: note.tags + imageAspectRatio: 1.25