长期以来,大多数英特尔显卡游戏运行不佳,原因是游戏过程中驱动程序编译,导致帧数大幅下降。Mesa 17.1 及以上版本应该具有缓存编译着色器的功能。根据我通过谷歌搜索到的信息,着色器存储在其中.cache/mesa
,这确实可以加快游戏速度。
因此,我从反向移植版安装了它,但.cache/mesa/
文件夹没有出现,游戏表现得好像没有着色器缓存一样。我从源代码(版本 1.17.3)编译了它,用来glxinfo
检查它是否真的存在,但它似乎是正确的。我尝试了更多游戏,但没有出现着色器缓存的证据。我在 Fedora 上使用它的朋友运行了 Lightsmark,他的.cache/mesa
文件夹中充满了编译好的着色器。当我这样做时,什么也没发生。
我正在使用 Ubuntu 16.04 64 位。这是glxinfo
有关此信息:
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Intel Open Source Technology Center (0x8086)
Device: Mesa DRI Intel(R) HD Graphics 620 (Kaby Lake GT2) (0x5916)
Version: 17.3.0
Accelerated: yes
Video memory: 3072MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 4.5
Max compat profile version: 3.0
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 620 (Kaby Lake GT2)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.3.0-devel (git-8e9e339c53)
答案1
台面17.3.0驱动程序目前不将共享缓存存储在磁盘上。
请参阅此补丁程序以使用磁盘上的共享缓存。
https://lists.freedesktop.org/archives/mesa-dev/2017-October/173828.html
答案2
该功能已适用于 AMD 卡,但已推迟适用于 Intel 卡。
自发布此内容以来,它已发布以供审查(出于某些原因,审查版本对我来说不起作用)并被接受到主分支。它现在作为 Mesa 1.17.4 工作版本的一部分提供。(在 github 上,因此需要手动编译)。需要通过设置环境变量来激活它MESA_GLSL_CACHE_DISABLED=0
(因为作为测试功能,它默认是禁用的)。
现在它会创建一个mesa
文件夹,.cache
并且视频游戏的速度会更快。