Linux 7.3 получит первые улучшения управления видеопамятью для игр

· Linux и open source
Наталья Фок из графической команды Valve добилась включения в ядро Linux 7.3 патчей, которые делают игры на видеокартах с ограниченным объёмом vRAM заметно комфортнее. Работа продолжается.

cover.svg

В начале года Наталья Фок из графической команды Valve по Linux предложила серию патчей, призванных улучшить игровой опыт на системах со скромным объёмом видеопамяти. Теперь эта работа над управлением vRAM доходит до ядра: первые изменения уже помещены в ветку DRM-Next и должны войти в состав Linux 7.3. Но останавливаться разработчица не собирается — впереди новые улучшения, прежде всего для драйвера AMDGPU.

Что сделано

В свежей записи в блоге Фок подробно разбирает тонкости управления видеопамятью, механику вытеснения данных (eviction) и результаты тестирования. Показательный эксперимент проводился на игре Indiana Jones: The Great Circle: настройки выкрутили так, чтобы игра пыталась занять 9 ГБ видеопамяти при доступных лишь 8 ГБ. Несмотря на перерасход в целый гигабайт, игра оставалась вполне играбельной на 8-гигабайтной видеокарте.

Вытеснение — дело тонкое

Вывод, к которому приходит автор, звучит осторожно-оптимистично. По её словам, даже когда часть данных вытесняется в системную оперативную память, потеря производительности зачастую оказывается удивительно небольшой — иногда можно сохранить значительную часть кадров, выгрузив гигабайт и больше. Но это, разумеется, благоприятный сценарий: стоит попасть «не тому» блоку в оперативную память, и просадки становятся ощутимыми. Вытеснение сложно настроить идеально, а некоторое замедление неизбежно. Если игра и без того еле держит 30 кадров при всех данных в vRAM, дополнительная выгрузка может просто не дать удержать эту планку.

Главная мысль записи, впрочем, в другом: переполнение видеопамяти — не такая катастрофа, какой кажется на первый взгляд. Драйвер (в первую очередь ядерный) способен сделать overcommit максимально быстрым, да и сами приложения могут помогать, координируя свои действия с драйверным стеком, чтобы смягчить последствия вытеснения своих данных.

Где уже можно попробовать

Эти наработки уже поставляются в ядре SteamOS — как в стабильном, так и в предварительном каналах. Помимо базового набора для Linux 7.3, дальнейшие улучшения пока готовятся к включению в одну из будущих версий основного ядра. Всем, кто хочет попробовать их прямо сейчас за пределами мира SteamOS, доступна ветка vramstuff-rebase со всеми патчами.


Источник: Phoronix

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.