This commit is contained in:
zzzisfunnyboy
2025-08-10 23:44:07 +08:00
parent 46c0e35419
commit b73da8d702
2 changed files with 53 additions and 29 deletions

16
1Project/理财.md Normal file
View File

@@ -0,0 +1,16 @@
- 整理
- 每个月的计划
- 收入
- 主动收入:工作
- 被动收入:投资基金等收入
- 支出
- 固定支出:吃住行
- 弹性支出:娱乐开销等
- 做两张借记卡,一张存固定支出的钱,一张存弹性支出的钱,剩下的钱拿去理财
- 信用卡每月需要做
-
- 股票怎么玩
-

View File

@@ -1,31 +1,39 @@
- UGUI # UGUI优化
- 降低UI刷新的频次 - HUD刷新
- HUD刷新 - 可以在代码逻辑中做一定的延迟
- 可以在代码逻辑中做一定的延迟 - 颜色不同导致无法合批
- 颜色不同会导致无法合批 - 可以用MaterialPropertyBlock解决
- 可以用MaterialPropertyBlock解决 - UGUI的shader中虽然有顶点颜色但是却从来没有使用过提交顶点颜色也依赖CanvasRender无法使用顶点色
- Canvas下**网格的变化**会引起**Canvas.BuildBatch的调用** - Canvas下**网格的变化**会引起**Canvas.BuildBatch的调用**
- 解決 - 減少Canvas下网格顶点的变换例如UI元素的**Transform变动**
- 減少Canvas下网格顶点的变换例如UI元素的**Transform变动**
- FGUI的处理方式
- 自动合并相邻组件
- UGUI无法做到的原因是因为依赖底层的动态合并以及静态合并但FGUI只处理UI
- 顶点数据重组
- 将多个组件的顶点UV颜色数据合并到单个顶点缓冲区一次性提交到GPU
- 文本处理:
- 将某几个字的纹理和图片的纹理打到同一个图集
- 动态变更字体的时候,往图集里更新新的字体,避免发生材质重建
- 颗粒度不同
- UGUI的Canvas下元素被设置Dirty后会导致整个CanvasReBuild
- FGUI的局部更新更高效
- TextMeshPro
-
- 合并批次 - 合并批次
- 问题 - **无法合批**的情况
- **无法合批**的情况 - 不同Canvas|图集交叉|深度交叉
- 同Canvas|图集交叉|深度交叉 -一个Canvas,同一图集深度,但无法合批的情况
- 同一个Canvas同一图集深度但无法合批的情况 - **动态合批未通过超过顶点限制缩放不为1**
- **动态合批未通过超过顶点限制缩放不为1** - 对于Alpha为0的Image需要勾选其CanvasRender组件上的Cull Transparent Mesh选项否则依然会产生DrawCall且容易打断合批。
- 对于Alpha为0的Image需要勾选其CanvasRender组件上的Cull Transparent Mesh选项否则依然会产生DrawCall且容易打断合批。
- - FGUI的处理方式
- 自动合并相邻组件
- UGUI无法做到的原因是因为依赖底层的动态合并以及静态合并但FGUI只处理UI
- 顶点数据重组
- 将多个组件的顶点UV颜色数据合并到单个顶点缓冲区一次性提交到GPU
- 文本处理:
- 将某几个字的纹理和图片的纹理打到同一个图集
- 动态变更字体的时候,往图集里更新新的字体,避免发生材质重建
- 颗粒度不同
- UGUI的Canvas下元素被设置Dirty后会导致整个CanvasReBuild
- FGUI的局部更新更高效
## 改变颜色是否能合批的本质原因
- UGUI 将颜色存储在材质属性层级
+ FGUI 将颜色存储在顶点数据层级
## FGUI的字体与图片合批
- FGUI的字体图片合批
本质是Texture2DArray字体纹理与图集纹理形成
- 字符纹理生成
- 与动态图集差不多
- 申请一张512\*512的贴图
- 如果动态图集里没有这个字的图调用系统字体渲染API
- 写入数据兵返回uv顶点数据