diff --git a/1Project/项目管理.md b/1Project/项目管理.md new file mode 100644 index 0000000..e69de29 diff --git a/3Resources/游戏开发/性能优化/关于Unity加载优化,你可能遇到这些问题 - 知乎.md b/3Resources/游戏开发/性能优化/关于Unity加载优化,你可能遇到这些问题 - 知乎.md index b2af29b..e04453c 100644 --- a/3Resources/游戏开发/性能优化/关于Unity加载优化,你可能遇到这些问题 - 知乎.md +++ b/3Resources/游戏开发/性能优化/关于Unity加载优化,你可能遇到这些问题 - 知乎.md @@ -1,3 +1 @@ -[关于Unity加载优化,你可能遇到这些问题 - 知乎](https://zhuanlan.zhihu.com/p/23733044)400 Model Not Exist - -sk-da030f4a28444c8094d9db8b7655b4f7 \ No newline at end of file +[关于Unity加载优化,你可能遇到这些问题 - 知乎](https://zhuanlan.zhihu.com/p/23733044) diff --git a/3Resources/游戏开发/性能优化/性能优化-面试.md b/3Resources/游戏开发/性能优化/性能优化-面试.md new file mode 100644 index 0000000..c1a57b9 --- /dev/null +++ b/3Resources/游戏开发/性能优化/性能优化-面试.md @@ -0,0 +1,31 @@ +- UGUI + - 降低UI刷新的频次 + - HUD刷新 + - 可以在代码逻辑中做一定的延迟 + - 颜色不同会导致无法合批 + - 可以用MaterialPropertyBlock解决 + - Canvas下**网格的变化**会引起**Canvas.BuildBatch的调用** + - 解決 + - 減少Canvas下网格顶点的变换,例如UI元素的**Transform变动** + - FGUI的处理方式 + - 自动合并相邻组件 + - UGUI无法做到的原因是因为依赖底层的动态合并以及静态合并,但FGUI只处理UI + - 顶点数据重组 + - 将多个组件的顶点UV颜色数据合并到单个顶点缓冲区,一次性提交到GPU + - 文本处理: + - 将某几个字的纹理和图片的纹理打到同一个图集 + - 动态变更字体的时候,往图集里更新新的字体,避免发生材质重建 + - 颗粒度不同 + - UGUI的Canvas下元素被设置Dirty后会导致整个CanvasReBuild + - FGUI的局部更新更高效 + - TextMeshPro + - +- 合并批次 + - 问题 + - **无法合批**的情况 + - 不同Canvas|图集交叉|深度交叉 + - 同一个Canvas,同一图集深度,但无法合批的情况 + - **动态合批未通过:超过顶点限制,缩放不为1** + - 对于Alpha为0的Image,需要勾选其CanvasRender组件上的Cull Transparent Mesh选项,否则依然会产生DrawCall且容易打断合批。 + +- \ No newline at end of file