Система шейдерного кэша Valve может быть чрезвычайно полезной для игр на Linux, однако иногда она также может быть довольно проблематичной, но Valve, возможно, решила большую проблему с ней.
Шейдерный кэш — это различные комбинации шейдеров, скомпилированные заранее в целях оптимизации и избежания заиканий, которые неотвратимо возникают при компилировании налету. Ранее шейдерный кэш хранился в множестве отдельных файлов, а в новой реализации весь набор заключён в один файл. В таком виде кэш занимает в 3 раза меньше места на накопителе, быстрее обрабатывается и намного более удобен для распространения (Steam автоматически загружает кэш под ту или иную игру).
Идея системы заключается в том, что вы должны видеть небольшие регулярные загрузки шейдерного кэша каждой игры, так как Valve продолжает накапливать его и затем распространять среди всех, чтобы помочь улучшить производительность игр на Linux и Steam Deck. Однако на протяжении нескольких лет довольно много людей сообщали о том, что вместо того, чтобы загружаться частями, он продолжает делать полную загрузку всего кэша.
Написав сегодня на GitHub отчет об ошибке от 2021 года, разработчик Valve Пьер-Луп Гриффайс сказал:
Загрузки кэша шейдеров разработаны так, чтобы быть постепенными. Здесь сообщается о ежедневной загрузке полного размера файла кэша шейдеров, что не соответствует ожиданиям — вместо этого ожидается небольшая загрузка и полная запись на диск.
После изучения журналов, которыми поделились в этой теме и в # 9200, мы провели расследование и обнаружили проблему на стороне сервера в системе, которая отслеживает порядок шейдеров в этих обновлениях.
Мы только что выпустили первоначальное исправление и будем продолжать следить за ситуацией. Если проблема сохраняется, пожалуйста, прокомментируйте этот отчет и приложите ваш shader_log[.previous].txt, как указано выше.
Надеюсь, теперь проблема будет наблюдаться у меньшего количества людей (или вообще ни у кого), но все же сообщите об этом в отчете об ошибке, если это произойдет с вами.
Источник: https://www.gamingonlinux.com/