mirror of
https://github.com/smallmain/cocos-enhance-kit.git
synced 2025-04-20 06:18:40 +00:00
55 lines
2.6 KiB
Markdown
55 lines
2.6 KiB
Markdown
---
|
|
sidebar_position: 3
|
|
description: "一般情况下都不需要了解。"
|
|
---
|
|
|
|
# 破坏性变更
|
|
|
|
在贡献指南中我们提到过会尽量不引入破坏性变更,或任何与原版引擎有不同的地方。
|
|
|
|
但有些变化难以避免,在这里你可以检查所有变更,评估是否会造成巨大的影响。
|
|
|
|
### 默认禁用原生 TTF 渲染器
|
|
|
|
引擎的 Label 在使用 Char 缓存模式并且使用 TTF 字体时,会使用一个原生 TTF 渲染器。
|
|
|
|
这个渲染器理论上能提升原生平台的 Label 性能,但仅在 Char 缓存模式并且还要使用 TTF 字体时才生效,这也导致了在原生平台上字体样式可能与其它平台不一致的问题。
|
|
|
|
在重构 CHAR 缓存模式时考虑到这些因素和人力有限的原因,我们暂时不打算适配这个原生 TTF 渲染器,这个禁用是官方提供的接口,不会造成其它问题。
|
|
|
|
**大部分项目可以不用关心**。
|
|
|
|
```
|
|
cc.macro.ENABLE_NATIVE_TTF_RENDERER = false;
|
|
```
|
|
|
|
### 动态图集的一些变化
|
|
|
|
对动态图集的重构虽然保持了所有原有接口不变,但有些细节和以前不同了。
|
|
|
|
如果你的项目有在细致地管理动态图集,请注意以下几点:
|
|
|
|
- **如果你有手动修改 `cc.dynamicAtlasManager.maxAtlasCount` 属性,请考虑删除**
|
|
|
|
服务包会根据设备最大纹理数和 Char 缓存模式字符图集的相关设置自动调整动态合图的最大图集数量。
|
|
|
|
这不意味着你不能手动调整了,而是建议你阅读新动态图集和新 Char 缓存模式相关的文档后再考虑是否有必要进行调整。
|
|
|
|
关于这个你可以从 [新 UI 渲染批次合并指南](./batcher-guide) 进行了解。
|
|
|
|
- **动态图集重复纹理的判断从 `texture._id` 改为使用 `texture._uuid`**
|
|
|
|
具体的设计原因和原理可前往 [动态图集](TODO) 文档进行了解。
|
|
|
|
- **`cc.dynamicAtlasManager.insertSpriteFrame(spriteFrame)` 不再检查纹理的 `packable` 属性**
|
|
|
|
并不是说 `packable` 属性无效了,而是 `insertSpriteFrame` 现在作为将纹理强制加入动态图集的接口使用。
|
|
|
|
- **如果你的项目依赖动态图集的内部实现细节,请重新检查相关代码**
|
|
|
|
这个就是因为动态图集被重构了,如果你的项目依赖一些未公开的类或者接口(引擎在 `creator.d.ts` 声明了的则是已经公开的),则可能需要重新编写。
|
|
|
|
### 使用 Char 缓存模式的 Label 暂不支持在编辑器中设置材质
|
|
|
|
如果项目中有 Label 使用了 Char 缓存模式并且设置了自定义材质,可能会失效,具体原因可前往 [Char 缓存模式](TODO) 文档进行了解。
|