Blurry/flickering Electron 中的文本渲染
Blurry/flickering text rendering in Electron
在这一点上,我只能推测是 Electron(或其某些组件)造成了在 Atom 中柔和闪烁的模糊文本。通过鼠标单击将焦点置于编辑器中的代码会使文本瞬间锐化,但在大约 1-2 秒的时间内逐渐变得模糊。
以下代码段中的各种值组合(在 Atom 中可以使用 styles.less)无效:
atom-text-editor,
atom-text-editor.editor,
html {
-webkit-font-smoothing: subpixel-antialiased;
text-rendering : optimizeLegibility;
}
Visual Studio 代码 1.10.2 (Shell 1.4.6):
process.versions
输出:
- 战神:“1.10.1-DEV”
- atom-shell: "1.4.6"
- chrome: "53.0.2785.143"
- 电子:“1.4.6”
- http_parser: "2.7.0"
- 模块:“50”
- 节点:“6.5.0”
- openssl:“1.0.2h”
- uv: "1.9.1"
- v8:“5.3.332.47”
- zlib: "1.2.8"
原子 1.15.0 x64:
process.versions
输出:
- 战神:“1.10.1-DEV”
- atom-shell: "1.3.13"
- chrome:"52.0.2743.82"
- 电子:“1.3.13”
- http_parser: "2.7.0"
- 模块:“49”
- 节点:“6.5.0”
openssl:“1.0.2h”
- uv: "1.9.1"
- v8:“5.2.361.43”
- zlib: "1.2.8"
Windows 10 Home 64 位(最新),1080p 60Hz 显示屏,Nvidia GTX 980M(驱动最新),无自定义显示缩放。
关于从哪里开始解决这个问题的线索?
Windows和Electron一起在字体渲染方面属于"explosion mixture"。 Windows 目前在硬件加速方面存在一些问题,不仅针对字体,还针对其他非 Microsoft 技术,例如OpenGL.
如 GitHub 上的 this 问题所述,Electron 和 Chrome (Google) 的开发人员都知道这个问题,必须由微软
我的项目也有这个问题,我的 AMD 和 nVIDIA 显卡在 Linux 上正确渲染,在 Windows 上渲染不正确。
正如@Slaiyer 提到的,"major" Electron 应用程序有一个解决方法,即 VS Code 或 Atom,Code.exe --disable-gpu
分别为 atom.exe --disable-gpu
。
我有一个intel HD内置显卡,终于弄明白是什么问题了。
内部图形用户
- 打开英特尔高清控制面板
- 转到 3D 设置
- 关闭保守形态anti-aliasing
- 重新启动应用程序并修改
其他
- 检查anti-aliasing设置
中的设置
- 如果启用则禁用
- 重新启动应用程序并修改。
OMFG,谢谢你们,这个问题困扰了我很多年,为什么他们不解决这个问题?!?!
Discord、Franz、Dezzer,基本上任何使用 electron 的东西都会导致字体在失去焦点后立即开始逐渐模糊,直到现在我才明白它是什么,这很有意义。
如果您不想弄乱您的视频设置,请按照我的操作进行操作(与上面的海报基本相同)
查找导致问题的应用程序图标,Franz.exe、Discord.exe、Deezer.exe,现在编辑它并在命令行末尾添加 --disable-gpu快捷方式,完成!
我的头终于不会再因为模糊而痛了,我终于可以证实我不会失明了。
FFS Electron 认真修复了这个问题。
非常感谢大家在话题中的帮助
在这一点上,我只能推测是 Electron(或其某些组件)造成了在 Atom 中柔和闪烁的模糊文本。通过鼠标单击将焦点置于编辑器中的代码会使文本瞬间锐化,但在大约 1-2 秒的时间内逐渐变得模糊。
以下代码段中的各种值组合(在 Atom 中可以使用 styles.less)无效:
atom-text-editor,
atom-text-editor.editor,
html {
-webkit-font-smoothing: subpixel-antialiased;
text-rendering : optimizeLegibility;
}
Visual Studio 代码 1.10.2 (Shell 1.4.6):
process.versions
输出:- 战神:“1.10.1-DEV”
- atom-shell: "1.4.6"
- chrome: "53.0.2785.143"
- 电子:“1.4.6”
- http_parser: "2.7.0"
- 模块:“50”
- 节点:“6.5.0”
- openssl:“1.0.2h”
- uv: "1.9.1"
- v8:“5.3.332.47”
- zlib: "1.2.8"
原子 1.15.0 x64:
process.versions
输出:- 战神:“1.10.1-DEV”
- atom-shell: "1.3.13"
- chrome:"52.0.2743.82"
- 电子:“1.3.13”
- http_parser: "2.7.0"
- 模块:“49”
- 节点:“6.5.0” openssl:“1.0.2h”
- uv: "1.9.1"
- v8:“5.2.361.43”
- zlib: "1.2.8"
Windows 10 Home 64 位(最新),1080p 60Hz 显示屏,Nvidia GTX 980M(驱动最新),无自定义显示缩放。
关于从哪里开始解决这个问题的线索?
Windows和Electron一起在字体渲染方面属于"explosion mixture"。 Windows 目前在硬件加速方面存在一些问题,不仅针对字体,还针对其他非 Microsoft 技术,例如OpenGL.
如 GitHub 上的 this 问题所述,Electron 和 Chrome (Google) 的开发人员都知道这个问题,必须由微软
我的项目也有这个问题,我的 AMD 和 nVIDIA 显卡在 Linux 上正确渲染,在 Windows 上渲染不正确。
正如@Slaiyer 提到的,"major" Electron 应用程序有一个解决方法,即 VS Code 或 Atom,Code.exe --disable-gpu
分别为 atom.exe --disable-gpu
。
我有一个intel HD内置显卡,终于弄明白是什么问题了。
内部图形用户
- 打开英特尔高清控制面板
- 转到 3D 设置
- 关闭保守形态anti-aliasing
- 重新启动应用程序并修改
其他
- 检查anti-aliasing设置 中的设置
- 如果启用则禁用
- 重新启动应用程序并修改。
OMFG,谢谢你们,这个问题困扰了我很多年,为什么他们不解决这个问题?!?!
Discord、Franz、Dezzer,基本上任何使用 electron 的东西都会导致字体在失去焦点后立即开始逐渐模糊,直到现在我才明白它是什么,这很有意义。
如果您不想弄乱您的视频设置,请按照我的操作进行操作(与上面的海报基本相同)
查找导致问题的应用程序图标,Franz.exe、Discord.exe、Deezer.exe,现在编辑它并在命令行末尾添加 --disable-gpu快捷方式,完成!
我的头终于不会再因为模糊而痛了,我终于可以证实我不会失明了。
FFS Electron 认真修复了这个问题。
非常感谢大家在话题中的帮助