请引擎组大佬注意@jare
2.0.9正式版已经合并了这个,但依然字体依然模糊不清,IOS更严重,而且第一次渲染文本比以前的版本卡
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:上面的代码只是一种尝试,还未进行各种情况的测试(如变更透明度之类的)