LibreOffice 现在倾向于使用 LLVM Clang 而不是其他编译器来构建新的渲染代码。当回退到基于 CPU 的软件光栅化时,考虑到谷歌自己对 Skia 引擎的重视是基于 Clang 的,因此 Clang 生成的代码性能要比其他编译器好得多。所以当构建 Windows 版本的 LibreOffice 7.0 时,现在对使用 Clang 提出了硬性要求。

LubošLuňák 在 LibreOffice 的 Git 代码仓库中进行了更改,以要求 Windows 上的 Skia 必须使用 Clang 编译器进行编译。使用 Skia 进行渲染是 Windows 上的默认设置,在其基于 CPU 的光栅化模式下,与 Clang 相比,“使用 MSVC 编译的性能要差得多”。

Windows 版 LibreOffice 因性能问题要求使用 Clang 进行编译-冯金伟博客园

理想情况下,大多数 LibreOffice 7.0 用户将使用 Skia 提供的 Vulkan 加速功能,但是对于使用较旧/不受支持的驱动程序或硬件的用户,基于 CPU 的加速功能就显得十分重要。下面的视频展示了使用 Clang(上半部分)与使用 Microsoft MSVC 构建的 LibreOffice 的性能差异对比。

Windows 版 LibreOffice 因性能问题要求使用 Clang 进行编译-冯金伟博客园

由于这种巨大的性能差异,LibreOffice 现在要求使用 Clang 来在 Windows 平台上进行构建。如果 Skia 仅在其他平台上使用时,可能会在 Linux 等平台上看到 Clang 的硬件要求,而目前这只是一个建议——除非 Skia 代码或 GCC 编译器有了更好的优化,从而无需 Clang 也能带来更好的性能。

最后,使用 Skia 渲染代码和包含 Vulkan 支持的 LibreOffice 7.0 将于8月发布。