更新破坏性变更文档

This commit is contained in:
SmallMain 2022-07-04 23:01:14 +08:00
parent b241545287
commit b89bb48ce7

View File

@ -61,3 +61,16 @@ cc.macro.ENABLE_NATIVE_TTF_RENDERER = false;
- **如果你的项目依赖 Char 缓存模式的内部实现细节,请重新检查相关代码** - **如果你的项目依赖 Char 缓存模式的内部实现细节,请重新检查相关代码**
比如你的项目依赖一些 Char 缓存模式未公开的类或者接口(引擎在 `creator.d.ts` 声明了的则是已经公开的),则可能需要重新编写。 比如你的项目依赖一些 Char 缓存模式未公开的类或者接口(引擎在 `creator.d.ts` 声明了的则是已经公开的),则可能需要重新编写。
---
### 材质 Hash 计算的变化
在解决材质本身 Hash 变化不会更新材质变体的 Hash 的问题时,为了兼顾原生平台与 Web 平台,我们采取了使材质本身的 Hash 值不变并且修改变体 Hash 计算方式的方法来解决这个问题。
解决这个问题后,在两个材质变体一样的情况下,无论怎么修改材质,都不会影响该材质的变体进行合批(在这之前,修改材质后生成的变体无法和之前的变体合批,因为 Hash 值问题)。
但这引入了新的问题,这会导致完全相同的两个材质不能合批,比如你复制了一个 `multi-2d-sprite` 材质,分别使用这两个材质的组件不再会进行合批。
我们考虑了性能、影响程度等多方面因素之后采取了这个实现,因为后者比较少见,并且可以手动解决:
你只需要手动设置该材质的 Hash 值为 `multi-2d-sprite` 材质的 Hash 值即可使两个材质合批。