关于游戏【文字不显示】问题

昨天 00:4825 浏览
下面是测试结果已反馈给官方,看一下官方怎么反馈和修复
关键观察:
按钮形状/背景色/图片 全部正常显示
只有文字 完全不渲染(不是某些字不显示,是ALL文字)
日志无任何错误(字体加载成功,游戏逻辑正常运行)
问题根因
这不是 Laya 的 getImageData 浮点数问题。 UrhoX 使用 NanoVG(C层矢量渲染),文本渲染流程是:
stb_truetype 光栅化字形 → 写入字体图集纹理(Font Atlas)
OpenGL 用该纹理渲染文字四边形
问题出在 步骤1→2之间:在部分 GPU 驱动(Mali-G系列/Adreno 特定版本)上,字体图集纹理创建或采样静默失败。这是引擎 C 层的 NanoVG/OpenGL 实现问题,Lua 层无法修复。
你的代码层面能做什么
我检查了 UI 库的文本渲染代码,所有关键尺寸已经用了 math.max(1, ...) 和 math.ceil() 保护(不存在 Laya 那种浮点传给 getImageData 的问题):
Label.lua:447 — breakWidth = math.max(1, contentW)
Label.lua:462 — math.ceil(textH)
从 Lua 层无法解决此问题。 这是引擎级 bug。
建议行动
向 SCE/星火编辑器团队反馈 — 提供这3台设备型号+截图,说明"NanoVG 字体图集在 Mali/Adreno GPU 上渲染失败"
等引擎更新 — 引擎团队可能需要更换字体图集纹理格式(从 GL_ALPHA/GL_R8 改为 GL_RGBA)或添加 GPU 黑名单 fallback
当前状态 — 大部分设备正常,仅少数 GPU 驱动有问题,属于引擎适配范围
TapTap
嗒啦啦截图
1
2