cocos creator2.0.9的label比1.9.3模糊的严重!!!

请引擎组大佬注意@jare

@kenshin @cary

这个问题已经优化过了,看这个PR
https://github.com/cocos-creator/engine/pull/3949

2.0.9正式版已经合并了这个,但依然字体依然模糊不清,IOS更严重,而且第一次渲染文本比以前的版本卡

2.0.9正式版,用模拟器下面字体也是这样看上去很脏

bug+1 用系统的字体模糊不清

从1.4使用至今,没有一个版本让我们开发者满意过,一直说优化了Label渲染性能,优化RichText的渲染,2.09只能说没有最卡,只有更卡,垃圾的不能在垃圾,连基本的文字都处理不好,真是郁闷要死


文字的性能渲染是一个方面,处理也不到位啊,这是加描边之后的字体显示,丑到爆,无法直视

有没有啥解决办法?@kenshin

现在效果就是这样的,感觉字体边有一个黑色的描边,在手机上显示。怎么能解决下?

+1+1+1

+1+1+1+1+1

+1+1+1+1+1+1

严重同意,一般人看一个游戏画面是否精美、清晰,首当其冲就是看字,可惜了。拉低了整个游戏的画质。

是的,纠结~

修改引擎,采用内存换清晰度的方式,能够解决这个问题。

置顶 希望引擎组能尽快出个新版本

加描边后 调一下字体高度

关于label的显示模糊问题,我有一个建议:
把Label的Font Size设置大一点,比如比想要的大小大个1倍
然后再把Node里的Scale缩小到你想要的文字大小,可以解决模糊问题

这个描边的感觉,很像是贴图的预乘alpha没有处理到位导致的。

我看了下CCLabel.js的实现,ttf字体是预渲染到一个Texture2D上的,是否这张图的预乘alpha有问题?

下面的一行文字,是在ios上,使用ttf字体的情况(CCLabel无包边)

上面的一行文字,是印证我之前的猜想(ttfTexture的预乘alpha有问题)
强行hack了代码:
let _material = label["_material"];
if (_material) {
var pass = _material._mainTech.passes[0];
pass.setBlend(
32774,
cc.macro.BlendFactor.ONE, cc.macro.BlendFactor.ONE_MINUS_SRC_ALPHA,
32774,
cc.macro.BlendFactor.ONE, cc.macro.BlendFactor.ONE_MINUS_SRC_ALPHA
);
_material.updateHash();
}

目前的结论是,在native模式下,ttfTexture在alpha渲染上的确有问题
需要调整blend模式进行修复
PS:上面的代码只是一种尝试,还未进行各种情况的测试(如变更透明度之类的)