Инженер Valve удивила сообщество Linux прорывным решением для 8 ГБ видеокарт
Проблема нехватки видеопамяти (VRAM) становится всё более острой в современных требовательных играх. Карточкам с 8 ГБ или меньше памяти сложно обеспечивать плавный геймплей. Для пользователей Linux инженер Valve Натали Вок предложила новое решение, оптимизирующее использование VRAM и дающее заметный прирост производительности.
Вок, входящая в команду разработчиков графических драйверов Valve для Linux, создала набор патчей для ядра и две утилиты. Их суть в том, чтобы дать операционной системе чёткое понимание, какая программа (например, игра на переднем плане) имеет приоритет на использование видеопамяти. Если VRAM начинает заполняться, данные фоновых задач будут вытеснены в оперативную память раньше, чем данные игры.
Ранее, когда игра потребляла слишком много VRAM, Linux мог переместить её данные в системную память, чтобы избежать сбоев. Проблема в том, что ядро не всегда правильно определяет приоритеты и может выгрузить из видеопамяти игру ради фонового браузера. Это приводит к просадкам FPS и микрофризам.
Протестировав Cyberpunk 2077 на видеокарте с 8 ГБ памяти, Вок обнаружила, что 1,37 ГБ данных игры были вытеснены в GTT (Graphics Translation Table), который указывает GPU искать данные в ОЗУ. При этом сама игра использовала лишь около 6 ГБ VRAM, хотя могла бы задействовать почти все доступные 8 ГБ. Предложенные патчи как раз решают эту проблему.
Основное решение называется dmemcg-booster (Device Memory Control Groups). Оно сообщает Linux, какую программу нужно «защитить» в данный момент, то есть не выгружать из VRAM. Если фоновой задаче потребуется видеопамять, именно её данные будут перемещены в более медленную системную память, чтобы игра работала без помех.
Речь идёт об оптимизации распределения, а не о прямом снижении потребления VRAM. Например, на карте с 12 ГБ недостаток 8 ГБ не был бы заметен из-за большего буфера. Теперь же даже GPU с меньшим объёмом памяти может раскрыть свой потенциал. После применения исправлений Cyberpunk 2077 начала использовать почти 7,4 ГБ VRAM, а объём данных в GTT упал до 650 МБ.
Вторая утилита — plasma-foreground-booster — автоматически сообщает среде KDE, какое окно активно, чтобы приоритезировать для него VRAM. В настоящее время патчи интегрируются в дистрибутив CatchyOS и ожидают включения в основную ветку ядра Linux. Пользователи могут скачать и применить их в любой сборке, однако важно помнить, что они работают только с видеокартами AMD, поскольку у Nvidia управление памятью реализовано в закрытых драйверах.
Источник: Tomshardware.com







0 комментариев