Steam最近一次更新有加入一项颇有实用性的功能:着色器预缓存(Shader Pre-Caching)。Valve表示无论用户的硬件设备如何,都会根据硬件和驱动的不同,为用户的显卡下载预编译(Pre-Compiled)的着色器配置,这会明显改善游戏初次启动的加载时间,并减少游戏的卡顿、带来更流畅的体验。
其实对于游戏玩家来说,无论是着色器,还是对于着色器缓存都不陌生。当我们看到地面、植被和水体的表面栩栩如生的细节,以及明朗清澈的反射效果的时候,其实都是需要着色器的工作。而说到具体的着色器缓存,或许《使命召唤》系列玩家有强烈的印象,因为从大换血的《高级战争》开始,在游戏中都可以找到着色器缓存的选项,虽然可以提高性能,这需要占用相当多的显存,而在去年的《无限战争》甚至需要很长的着色器加载时间。
听起来这对于玩家来说是一项大大的福音,而且应该是对于各种API都有效,不过更新日志当中明确提到的只有OpenGL、Vulkan两者开发的游戏。不过由于需要额外的网络服务,可以想象的是在每次游戏启动后都会上传分析用户着色器的使用报告,这会提高少量的网络带宽要求。
已经更新的Steam用户其实可以在设置当中看到新增的该功能,因为是新功能所以还没有来得及翻译,直接在控制器(Controller)设置的下面显示为“Shader Pre-Caching”,目前没有太多设置,只有开关而已,说明部份写的和更新日志大同小异,意思都是会根据用户的硬件情况下载预缓存的着色器配置。大家可以试试自己的游戏体验是否有足够的不同。