Gnome 3.34修复了影响Ubuntu 19.04的各种性能错误

侏儒3.34

几天前它是做的 Ubuntu论坛上的帖子,他规范的开发人员已经注意到,桌面环境 “侏儒壳” 在Ubuntu 19.04版中, 基于Gnome 3.32, 它明显比其他桌面环境慢。

最初的原因是使用JavaScript, 但是事实证明,在Gnome Shell和Mutter窗口管理器的组合中,JavaScript仅占代码的百分之十,而这实际上并不能解决所观察到的缓慢问题。

下一个假设是该软件使CPU​​或图形卡超载。 但是测量表明情况并非如此。 相反,出现的是处理器被迫闲置了太长时间。

这里要注意的重要一点是,大多数源代码都在Mutter项目中,而不是Gnome Shell中。 因此,总的来说,考虑使用Mutter时,只有大约10%的Gnome Shell是用JavaScript编写的,而大约90%是用C编写的。

因此, 开发人员能够将他们的研究重点放在时间测量上, 在本文中称为“实时”。 因为Gnome和Mutter处理了一个事件循环 将Glib放在单个线程中, 他们很容易拖延。

更长的延迟可能会导致其中一帧被跳过 组成显示器上的图像。 对于监视器上的用户,这表现为明显的滞后。

通过测量各种延迟,开发人员发现不少于Gnome 3.34中修复的Gnome错误。

第一个错误导致跳帧,因为在将帧调度延迟几毫秒之后,错误地计算了必须重建帧的时间。

但是纠正此错误(并非总是会发生)使演示更加流畅。

第二,我开发人员发现X.org上几乎所有帧都被延迟 因为表计算设置得太早。 在60 Hz的帧频下,屏幕延迟了16 ms。

在这种情况下,Wayland不会受到影响。 另一个错误仅涉及Wayland。 问题是在Mutter中,显示鼠标指针的速度设置为60Hz,如果刷新率不同,这可能会导致CPU使用率高达100%的问题。

穆特还有另一个问题,到目前为止只有部分解决了。 结果,所有输入事件都延迟到下一帧,即在16 Hz时最多延迟60 ms。

另一个延迟是由于X.org上Nvidia专有驱动程序的修复引起的,现在不再需要这些修复程序。

另一个问题也得到了强调,它确定了影响鼠标指针的因素,在其中进行了OpenGL调用,这会产生极大的影响,并且由于CPU和GPU之间的必要同步而导致额外的等待时间。

结果是, Gnome 3.34的速度明显更快。 Ya 至少还有两个尚未解决的已知问题。

  1. 当使用多台显示器时,Wayland后端的崩溃会导致严重的延迟。 应该根据Gnome 3.36的开发人员,以及Ubuntu 20.04的开发人员,对此进行修复。
  2. 第二个问题是尚未解决Mutter的所有延迟问题。 本文以解决故障时应避免的错误以及结束时的下一步工作的提示作为结束。

最佳化 Gnome应该适用于Ubuntu20。04进行了许多改进 他们应该关注什么? 在现代,快速的硬件上。 在Ubuntu 20.10中需要解决并解决影响较早和较慢计算机的其余问题。

如果您想进一步了解该出版物, 您可以检查以下链接。 


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。