2.4.7~ 已知问题收集,希望官方关注并维护一个稳定、易用的版本,还有好多人坚守2.x;

2.4.7 Label 已知问题:

  1. BITMAP模式,文字会重复占用动态图集的BUG:
    关闭界面就是隐藏,打开就是重新显示,没对关闭的界面进行销毁,重复打开几次后BITMAP模式的文字出现在动态图集里面有多个重复的,打开次数越多,重复越多。而且描边的文字一定会重复出现2个,每次打开就会多两个。

  2. Android原生端,Label 勾选斜体或粗体会导致TTF无效的BUG,会变成默认字体。

  3. Android原生端,Label 使用Char模式的字体会变得模糊粗糙。

  4. Char模式下使用粗体、斜体、下划线时,效果不起作用(官方已确定:就是这么设计的)。

  5. Char模式缓存占满后无法显示新的内容,需要切换场景或收动清理缓存,希望官方进一步优化(比如动态替换不使用或使用率较低的缓存字体)。

  6. 原生端,LabelShadow 添加阴影效果无效。(官方知道这个问题,但不知为何一直就是不处理?)。

  7. 原生端,使用图集时,勾选上Premultiply Alpha,游戏运行时会闪退。原贴:使用图集时,勾选上Premultiply Alpha,游戏运行时会闪退

  8. 2.4.7 截图时半透明节点会导致不透明的背景变成半透明,是BUG吗,还是使用姿势不对?

@jare

@zzf_Cocos

我在2.4.7的label里面设置cachemode为char的时候粗体也是无效

Char模式下粗体、斜体、下划线都是无效的,就是这么设计的。

因为不好处理

char模式设置这些是为了每个label创建出的图片状态一致,方便合批

前面几个原帖回复过了

2 建议换成自带粗体或者斜体样式的 ttf 试一下,否则应该就是 fallback 了。
7 我们会跟进处理。

其它问题,有一些属于历史遗留的功能缺失、或者缺陷,我们会继续在后续 3.x 版本中完善。人力有限,没办法无限制优化老版本,非常抱歉!

我用的TTF本来就够粗的了,但有些地方需要用到斜体,要找一个默认是斜体而且还合适的的字体根本找不到啊还浪费资源和内存,这个BUG很难处理吗?不能安排几个人常驻跟进2.x的版本修复吗?是BUG的就修复一下吧,功能缺失的我们不用就是了。但现在字体相关的问题挺让人无奈的,还是安排人处理一下吧,谢谢。

3.x版本我们期待着,也会尝试去用,但现有的项目不能直接上啊,现在看到的3.x还有许多问题,正式项目不敢随意升到3.x版本。你们承诺的2.x会维护,现在我提出的这些问题,从你回答的好像几乎都不处理了?心凉。

其实这个问题自始至终都存在,无论哪个版本,官方很明显是不打算修复这个bug​:joy:,既然是不打算修复这个bug,那就应该在文档中写明白不支持,不要让人误以为是bug而来来回回的提交帖子,这才是负责人的做法。

2赞

我感觉这些问题要处理Label 基本要重构才有希望 不行就现在自己写一个富文本来处理吧

2.4.x是大本营,还是希望能维护好,3.x可以作为探索,大本营搞不好可真是劝退了

3赞

怎么不能安排少量的人手处理优化2.x版本呢,想不通,2.x版本只要把基础的功能弄好了,大本营就塌不了。3.x版本的可以慢慢做,想要跟Unity3d\UE4正面较量可不是一时半会的事儿。

1赞

1和2,一定要先处理啊,你们一定有办法解决的,我等着你哦。 :grinning:

3.x 都出来一年了…… 怎么得出的 3.x 现在还有很多问题的结论呢?那你觉得什么时候你会愿意升级到 3.x 呢?

我们承诺 2.x 会维护,可是只到今年啊…… 2.4.7 年底刚发完,不可能赶在 2021 年 12 月 31 号再发一个版本,我们发版本测试周期通常要一个月。2.4.8 明年 Q1 应该会发布。但是原有 2.4.7 的功能缺失部分,会一直在 2.x 缺失下去,在 3.x 进行补完。

例如 ttf,如果要对不带样式的字体手动添加支持斜体、粗体,这是需要渲染引擎专门做适配,进行描边和倾斜的,引起字符尺寸的改变,这又势必影响到原有的 CHAR 缓存模式啥的,字符宽度、画布宽度计算就可能出问题,不是调个参数那么简单。

你尝试一下 NONE 模式,如果还不行,就用带倾斜样式的字体(很多字体自带了专门的样式可供切换),应该就可以了。

2 上面解释过了。这属于底层问题,没办法在 2.x 进行如此大的调整。3.x 也是会做为新功能评估优先级的。
1 最早就解释过了,这是设计如此,不是 bug。就算要做也对合图算法影响很大(我再举个例子,重新显示后,由于层级的改变,导致渲染顺序变了,就需要对批次进行重新合图。此时即便之前已经合图过,但是原有的合图可能无法匹配新的渲染批次了。引擎是不可能确保一个 label 移除场景,再添加回来,或者显示、隐藏的过程中,层级绝对不变的,此时就应该用 NONE 模式,这也是 NONE 存在的意义)因此不可能添加到 2.x 去影响到稳定性的。万一出 bug 到时候说 bug 多的也是你们。

因为 BITMAP 是合图模式,显示、隐藏的话都有可能影响合图。合图如果要做复用,复杂度比较高。如果你想要确保文字不会重绘,请使用 NONE 模式。

怎么就没安排呢?这不就是安排后的结果吗?不然今年 4 个 2.x 版本是如何放出来的?更新列表看了吗?看不到慢慢的诚意吗?你去看看引擎的仓库,2.4.6 - 2.4.7 引擎的优化绝对不止更新列表那么一点,只是很多改动没有全部贴上去而已。

关于label,建议走位图字体,省心 :laughing:

可以把2.x的编辑器bug修修好,引擎问题可以自己改