如何解决字体有毛刺或边缘模糊的问题
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
在某些应用场景下,比如微信朋友圈,会出现字体边缘有毛刺或模糊的情况,如下图所示:
[SOLUTION]
问题的原因是HWUI与底层GPU driver未统一浮点数精度。
现有一解法,改在HWUI这边,将浮点数精度统一改为高精度
在如下地方做修改:
/php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks/base/libs/hwui/ProgramCache.cpp
const char* gFS_Header =
"precision mediump float;\n\n"; =>将此行中的mediump 改为highp
备注:将精度由medium改为high,GPU的performance降低约2%,对memory 的占用几乎不受影响,因
此改法对整体性能影响不大。
在某些应用场景下,比如微信朋友圈,会出现字体边缘有毛刺或模糊的情况,如下图所示:
[SOLUTION]
问题的原因是HWUI与底层GPU driver未统一浮点数精度。
现有一解法,改在HWUI这边,将浮点数精度统一改为高精度
在如下地方做修改:
/php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks/base/libs/hwui/ProgramCache.cpp
const char* gFS_Header =
"precision mediump float;\n\n"; =>将此行中的mediump 改为highp
备注:将精度由medium改为high,GPU的performance降低约2%,对memory 的占用几乎不受影响,因
此改法对整体性能影响不大。