Ожидаемое изменение в драйвере Mesa Radeon Vulkan "RADV" приводит к значительному снижению использования системной оперативной памяти для некоторых игр, использующих множество библиотек графического конвейера Vulkan (GPL). Игра, вызвавшая эту проблему, была Dota 2 от Valve на RADV, и сейчас наблюдается снижение использования системной оперативной памяти на 85% этим драйвером Radeon Linux с открытым исходным кодом.
Известный разработчик графических драйверов Valve Linux Майк Блюменкранц (Mike Blumenkrantz), написал в блоге о недавней работе над проблемой Dota 2, которая вызывала чрезмерное использование системной памяти с RADV. Он наблюдал использование драйвером RADV более 3 ГБ памяти в системной оперативной памяти при запуске Dota 2... Затем было установлено, что это связано с включенной поддержкой библиотеки графического конвейера RADV (GPL), которая, вероятно, будет установлена по умолчанию в следующем квартальном выпуске Mesa 23.1.
Radeon + системная оперативная память
Самуэль Питоисет (Samuel Pitoiset), тоже из команды Valve по разработке драйверов GPU для Linux, отследил проблему, как отмечается в блоге Майка, и, в свою очередь, рассматриваемое изменение привело к сокращению использования системной оперативной памяти на 85%.
Изменение заключается в использовании сериализованного NIR для графических библиотек с флагом RETAIN. Питоисет объяснил в коммите:
"Клонирование шейдеров NIR потребляет слишком много оперативной памяти, и это может легко привести к взрыву памяти в играх, которые создают тонну графических библиотек. Использование сериализованных NIR шейдеров значительно помогает.
Это уменьшает использование оперативной памяти в dota2 с GPL с 3GiB до 400MiB".
Это изменение драйвера RADV теперь работает на Mesa, что станет очень интересным релизом Mesa 23.1 в следующем квартале с массой улучшений графических драйверов.
Изменение драйвера RADV приводит к значительному снижению использования системной оперативной памяти в некоторых играх
29 марта 202329 мар 2023
6
1 мин