共计 779 个字符,预计需要花费 2 分钟才能阅读完成。
AntV G6 是一款图可视化与剖析开源引擎。《AntV G6 的坑之——XXX》系列文章继续更新中,总结常见问题及神坑解决方案。任何问题可在 GitHub Issue 中发问,求 GitHub Star ⭐️https://github.com/antvis/g6
原文链接:https://g6.antv.antgroup.com/…
G6 4.x 依赖的渲染引擎 @antv/g@4.x 版本反对了部分渲染,带了性能晋升的同时,也带来了图形更新时可能存在渲染残影的问题。比方拖拽节点时,节点的文本会留下轨迹。因为目前 @antv/g 正在进行大版本的降级(到 5.x),可能不思考在 4.x 彻底修复这个问题。当咱们遇到这个问题的时候,思考通过上面几种办法解决:
- 查看节点中的图形,包含文本图形,款式配置中是否存在非法值,例如
null
、NaN
等; - 尽量应用整数作为数值型的款式值,例如
r
、width
、height
、fontSize
等; - 应用浏览器字体作为
labelCfg.style.fontFamily
或留下残影的文本图形的fontFamily
属性; - 给文本减少红色描边,如:
// 节点 / 边 / combo 的文本配置
labelCfg: {
style: {
stroke: '#fff',
lineWidth: 4
}
}
// 自定义节点 / 边 / combo 中的文字图形
group.addShape('text', {
attrs: {
// ... other attributes,
stroke: '#fff',
lineWidth: 4,
},
// 在 G6 3.3 及之后的版本中,必须指定 name,能够是任意字符串,但须要在同一个自定义元素类型中放弃唯一性
name: 'text-shape'
})
- 以上办法都不见效,敞开部分渲染
graph.get('canvas').set('localRefresh', false)
。这个办法可能导致性能有所升高。
正文完
发表至: javascript
2022-12-30