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 编译的性能要差得多”。
理想情况下,大多数 LibreOffice 7.0 用户将使用 Skia 提供的 Vulkan 加速功能,但是对于使用较旧/不受支持的驱动程序或硬件的用户,基于 CPU 的加速功能就显得十分重要。下面的视频展示了使用 Clang(上半部分)与使用 Microsoft MSVC 构建的 LibreOffice 的性能差异对比。
由于这种巨大的性能差异,LibreOffice 现在要求使用 Clang 来在 Windows 平台上进行构建。如果 Skia 仅在其他平台上使用时,可能会在 Linux 等平台上看到 Clang 的硬件要求,而目前这只是一个建议——除非 Skia 代码或 GCC 编译器有了更好的优化,从而无需 Clang 也能带来更好的性能。
最后,使用 Skia 渲染代码和包含 Vulkan 支持的 LibreOffice 7.0 将于8月发布。