在Electron中模糊/闪烁的文本渲染

时间:2017-03-18 18:30:56

标签: visual-studio-code electron atom-editor text-rendering

在这一点上,我只能猜测,电子(或其某些组成部分)的责任在于模糊文本,这些文字在Atom中还会轻柔地闪烁。通过鼠标点击将编辑重点放在编辑器中,瞬间锐化文本,但在大约1-2秒的时间内逐渐柔化成模糊。

以下代码段中的各种值组合(在Atom中使用 styles.less 实现)无效:

atom-text-editor,
atom-text-editor.editor,
html {
    -webkit-font-smoothing: subpixel-antialiased;
    text-rendering        : optimizeLegibility;
}
  1. Visual Studio Code 1.10.2(Shell 1.4.6): Visual Studio Code 1.10.2

    process.versions输出:

    • ares:“1.10.1-DEV”
    • atom-shell:“1.4.6”
    • chrome:“53.0.2785.143”
    • 电子:“1.4.6”
    • http_parser:“2.7.0”
    • modules:“50”
    • node:“6.5.0”
    • openssl:“1.0.2h”
    • uv:“1.9.1”
    • v8:“5.3.332.47”
    • zlib:“1.2.8”
  2. Atom 1.15.0 x64: Atom 1.15.0 x64

    process.versions输出:

    • ares:“1.10.1-DEV”
    • atom-shell:“1.3.13”
    • 铬: “52.0.2743.82”
    • 电子:“1.3.13”
    • http_parser:“2.7.0”
    • modules:“49”
    • 节点:“6.5.0” openssl:“1.0.2h”
    • uv:“1.9.1”
    • v8:“5.2.361.43”
    • zlib:“1.2.8”
  3. Windows 10 Home 64位(最新),1080p 60Hz显示屏,Nvidia GTX 980M(驱动程序最新),无自定义显示缩放。

    从何处开始解决此问题?

2 个答案:

答案 0 :(得分:5)

我有一个英特尔高清内置显卡,最后想出了导致问题的原因。

内部图形用户

  1. 打开Intel HD控制面板
  2. 转到3D设置
  3. 关闭保守的形态抗锯齿
  4. 重新启动应用程序并进行修改
  5. <强>其他

    1. 检查抗锯齿设置中的设置
    2. 启用时禁用
    3. 重新启动应用程序并进行修改。

答案 1 :(得分:2)

Windows和Electron在字体渲染的所有物中是一种“爆炸混合物”。 Windows目前存在一些硬件加速问题,不仅适用于字体,还适用于其他非Microsoft技术,例如:的OpenGL。

如GitHub上的this问题所述,Electron和Chrome(Google)的开发人员都知道这个问题,必须由Microsoft解决。

我的项目也存在这个问题,这些问题在Linux上正确呈现,而在Windows上没有我的AMD和nVIDIA显卡。

正如@Slaiyer所提到的,“主要”电子应用程序有一种解决方法,即VS代码或Atom,Code.exe --disable-gpu分别为atom.exe --disable-gpu