cocos2d ttf部分文字渲染边缘错乱bug

如图,使用普通Text文本(使用ttf 华康圆体W7 dfpyuanw7 24号字),第一次显示正确,当文本重新渲染(包括改变父容器背景控件,再次设置fontSize为24等),边缘会出现一些多余像素,所有用到该文字的地方都会变得错误。
(一个有几个Label的面板与其他几个面板同时打开就会出现,如果在该面板打开的时候加个时间延迟则不会。)

@dumganhar @zilong

显示错乱+1,目测这个bug在3.x时代一直存在(我用过3.6 3.9都有问题),很可能又是坐标精度导致的,麻烦子龙兄有空看看吧

能否整理一个小demo方便我们跟踪调试此问题?谢谢

请大神指教下有解决方案了么?

这个问题,你们有解决方案出来了么?,目前我们也遇到了同样的问题,字体使用的cctyt.ttf,手机实测的时候发现,有时候文字边缘会出现可能是被剪切了字的部分字体的情况

麻烦创建一个最简单的工程,复现出这个问题。我们会跟进的。初步看是精度问题。
可以尝试在label用的shader中修改精度为highp

修改精度无效,怎么将工程发给你

@dumganhar

BugDemo.zip (2.4 MB)

一、上传项目文件为cocos3.10 js工程 基于jsb 由于文件太大,删除了scripts文件夹与simulator模拟器,需要自己构建下

二、重现步骤,运行demo,此时聊天面板左侧按钮文本显示正常,点击聊天面板“发送”按钮,打开新面板,此时聊天面板左侧按钮文本显示错乱。

三、主要是上线边缘,某些标点符号左右边缘也会显现。

四、基本出现在size24与26号字体,如果将app.js中 EngineMgr.uiMgr.ShowPanelByType( RoleHeadPanelExt.PanelName , UIMgr.PANEL_LAYER_TOP ); 头像面板屏蔽或者做延迟打开,则不会出现此bug,因为头像面板中组件labNormalMonster使用了24号字体,将labNormalMonster删除或者改下字体size也不会出现此bug。

目前我只能暂时将头像面板延迟打开处理,但是游戏中内容太多,运行太久后也不知道是哪里有类似冲突,依然会出现该问题,希望能得到彻底解决。

这个demo能够复现你说的问题么?
我在v3.14,mac上测试了一下,并没有出现文字异常。
你是在哪个平台重现出此问题的?

我运行后如下截图,没有发现异常。

我也碰到,我用的是方正黑体24号,显示数字9的时候头被截断了一些,有些字下边会出现白色的横线,用22号就没问题,哎……现在只能把有问题的换成22号……

你是通过xcode运行的吗?是的话我尝试一下3.14好了。
我在mac用xcode, windows下用simulator,以及打包android iOS都会存在该问题。

然而在win下用PrebuiltRuntimeJs运行则没问题。

是用xcode 跑的。嗯,你试试。

解决了,在v3.11下是OK的。
看来应该是3.10及之前的版本才存在问题。

1赞

可是现在使用的是cocos3.3 版本的老项目了,这个问题就解决不了了?