Skia 在龙芯搭景嘉微显卡设备 某些字体会渲染相互覆盖

news/2025/11/12 7:29:18/文章来源:https://www.cnblogs.com/lindexi/p/19212117

以下是我的一个 Avalonia 应用上的文本渲染效果。使用 HarmonyOS Sans SC 鸿蒙字体,在龙芯 Loongson-3A6000 搭配景嘉微 JM9100 显卡的设备上,将渲染出的字体相互渲染覆盖的情况。如下图所示,可见 j 字符覆盖了 d 字符

具体的设备信息如下

$ lspci
08:00.0 VGA compatible controller: Jingjia Microelectronics Co Ltd JM9100 (rev 01)
...
$ cat /proc/cpuinfo
system type             : generic-loongson-machine
processor               : 0
package                 : 0
core                    : 0
cpu family              : Loongson-64bit
model name              : Loongson-3A6000
CPU Revision            : 0x00
FPU Revision            : 0x00
CPU MHz                 : 2500.00
BogoMIPS                : 5000.00
TLB entries             : 2112
Address sizes           : 48 bits physical, 48 bits virtual
isa                     : loongarch32 loongarch64
features                : cpucfg lam ual fpu lsx lasx crc32 lvz lbt_x86 lbt_arm lbt_mips
hardware watchpoint     : yes, iwatch count: 8, dwatch count: 4
...
$ cat /proc/gpuinfo_0
Vendor                      : Changsha JingJia Microelectronics Co.
Vendor ID                   : 0731
Device ID                   : 9100
GPU                         : JM9100
Bus Type                    : PCIE3.0 x8
Number of Stream Processors : 256
Memory Type                 : LPDDR4
Memory Size                 : 2048 MB
Memory Remain Size          : 382 MB
Memory Bit Wide             : 64
Memory Frequence            : 800 MHz
Memory Transfer Rate        : 3200 MB/s
Core Frequence              : 560 MHz
2D Frequence                : 1200 MHz
Kernel Version              : 1.5.7
Firmware Version            : jm9100lpfirmware-1.2.0-20230325.0004
ODM Manufacture             : Yeston
Realtime Temperature        : 57.92 Degree Centigrade
...

显卡驱动版本是 1.5.7-0kylin1

核心出现问题的代码是设置了 SKFontEdging.SubpixelAntialias 给到 SKFont 导致的

解决方法:

最佳解决方法是更新显卡驱动。我的伙伴 SeWZC 联系了景嘉微厂商,拿到了更新的 1.5.11-YK.u1-0kylin1 驱动版本,安装之后稍微解决部分问题

以下是安装之后的显卡驱动版本

mwv207-dev                                          1.5.11-YK.u1-0kylin1                      loongarch64  MWV207 driver for Xorg and GL package. Build by ChangSha JingJia Micro Company.

如无法更新显卡驱动,可以尝试更改 SKFontEdging 选项为非 SubpixelAntialias 枚举值。如果使用 Avalonia 框架,则这部分是改不动的。详细请看 https://github.com/AvaloniaUI/Avalonia/blob/dfd3b8864dd1abc06995eabf2ab225a85c00deb2/src/Skia/Avalonia.Skia/GlyphRunImpl.cs#L65

namespace Avalonia.Skia
{internal class GlyphRunImpl : IGlyphRunImpl{public GlyphRunImpl(...){...// Ideally the requested edging should be passed to the glyph run.// Currently the edging is computed dynamically inside the drawing context, so we can't know it in advance.// But the bounds depends on the edging: for now, always use SubpixelAntialias so we have consistent values.// The resulting bounds may be shifted by 1px on some fonts:// "F" text with Inter size 14 has a 0px left bound with SubpixelAntialias but 1px with Antialias.using var font = CreateFont(SKFontEdging.SubpixelAntialias);...}}
}

要么就是修改字体大小,让字体大小大于 48 号。即使是 48.001 也是可以规避此问题的

要么是更换字体,自己测试哪个字体不会存在相互覆盖的问题,且干掉斜体效果。此问题和 HarmonyOS Sans SC 鸿蒙字体没有强关系,其他多个字体也能复现问题

此问题我也在 Avalonia 报告,详细请看 https://github.com/AvaloniaUI/Avalonia/issues/20035

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/962885.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git命令提交

Git代码提交完整指南:从基础命令到高级技巧 Git代码提交的核心流程 Git代码提交的标准流程可以概括为四个关键步骤:修改文件 → 暂存变更 → 提交到本地仓库 → 推送到远程仓库。根据搜索结果和最佳实践,以下是完整…

习题解析之:求数列前n项的平方和

习题解析之:求数列前n项的平方和【问题描述】现有数列:1,2,3,4,……,n,计算并输出其前n项的平方和,即求:11+22+33+……+nn的和。 输入输入一个正整数 n 输出数列前n项的平方和 示例输入3输出14 【编程思…

应用安全 --- vp加固 之 jar字节码加密

应用安全 --- vp加固 之 jar字节码加密https://gitee.com/null_465_7266/vp-reinforcement 这里是加密样本 他会将class文件的魔术改为BABECAFE8000,这里的8表示加密文件,同时将每个方法的字节码按位加密

习题解析之:出租车计费

习题解析之:出租车计费【问题描述】某城市出租车计费标准如下:(1)起步里程为3公里(含3公里),起步费13元;(2)载客里程3~15公里范围的,除起步费外,超过3公里的部分按基本单价2.3元/公里计算;(3)载客里程超过…

画家的命运

挪威奥斯陆是一座很美丽的城市,它有大海,有蓝天,还有各种可爱的男孩与女孩。某个夜晚,星空璀璨,一个来自月球的外星人驾驶他的宇宙飞船,降临此地。他步姿优雅地从飞船下来,摇着他的白色手杖,朝着地面一指,瞬时…

从微软应用商店外部获取直链下载程序包的方法

访问 https://store.rg-adguard.net在链接输入框中输入微软应用商店应用链接 例如 https://apps.microsoft.com/detail/9p1wcd1p597r从下拉列表中选择 Retail 以获取稳定版本 说明:这里下拉列表有 4 个选项,释义参考…

侧载安装 .msixbundle 程序包的两种方法

重要提示:操作前请保存当前正在进行的工作! 方式 1:通过 PowerShell 脚本安装 运行脚本 解压缩下载的 .zip 文件,右键单击 install.ps1,选择 使用 PowerShell 运行。授权安装证书 按 回车 键继续,并同意弹出窗口…

致敬杰克逊的音乐

黑暗灯光的舞台 女孩为什么偷偷笑我 仿佛有个男孩的影子 就是他 可爱哦,可笑哦,可怜哦,可悲哦,可恨哦…… 但上面这行文字偏偏与他无关 因为怹太了不起了 诗画乐初恋 The Mass 他邀请你阅读他写的武侠小说,神幻六…

基于和声搜索(Harmony Search, HS)的多中心点选址优化算法matlab仿真

1.程序功能描述 基于和声搜索(Harmony Search, HS)的多中心点选址优化算法matlab仿真。可以设置多个不同的中心点。 2.测试软件版本以及运行结果展示 matlab2022a/matlab2024b版本运行 设置2个中心点设置4个中心点 设置…

基于GA遗传优化的电动汽车光储充电站容量配置

1.程序功能描述 基于GA遗传优化的电动汽车光储充电站容量配置算法matlab仿真。通过运行基于 GA 的光储充电站容量配置算法,得到了最优的容量配置方案。与传统的容量配置方法相比,该方案在降低投资成本和运行成本方面…

OU 的类人话集

收录了一些 OU 在 O 群、OSU! 群发送的非学术的有点像人话的语言。 有删改。 11.12 最近正在尝试写点不是学科题解的文字。 可能已经有两三年没有写过这种,和学术无关的文字了。 甚似怀恋这种感觉。

ADV 记录

2025 年 11 月 正在玩紫社的《天津罪》。 大概还是 251 推荐的来着。 op 在很久之前就听过了,op2 是批评空间上排名挺高的曲目。我听过这个排名,对这个曲子影响深刻,画面很绚丽,曲子也有一种强劲、沉重感。 不得不…

2025.11.11 第十一届中国大学生程序设计竞赛 女生专场

诈尸咯Solved: 9/12 Rank: 5 (现场)/ 12(ucup)A. 环状线 签到题。 #include<bits/stdc++.h> using namespace std; int main() {int n, a, b;cin >> n >> a >> b;int x = 1;if (b < a) …

the future of American universities

one day USA will redefine Universities. Harvest U, best friend for The worlds richest men. Not a black, indeedly. MIT, the home of sons of ministers. Not a yellow, indeedly. MAYBE. maybe. And RANK 1,2,…

its not Chinese cheat

its the Chinese students in USA PAID BASED SYSTEM.

2025 年 11 月电缆厂家权威推荐榜:国标/国网入围/南网入围/铜芯/纯铜/铝合金/光伏/新能源/控制/拖链/铠装电缆厂家精选

2025 年 11 月电缆厂家权威推荐榜:国标/国网入围/南网入围/铜芯/纯铜/铝合金/光伏/新能源/控制/拖链/铠装电缆厂家精选 行业背景与发展趋势 电线电缆作为国民经济建设的重要配套产业,被誉为国民经济的"血管&quo…