Инженер Valve потряс Linux-сообщество революционным «VRAM hack» для видеокарт на 8 ГБ

Vram Linux Valve оптимизация ядро Gpu tomshardware.com

Натали Вок, разработчик команды графических драйверов Linux в Valve, представила новые исправления, оптимизирующие использование VRAM для игр в Linux. Ранее любая фоновая задача могла заставить ОС вытеснить игровые данные из VRAM в системную память, но теперь система сможет корректно приоритизировать игру, запущенную на переднем плане. — tomshardware.com

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

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Похожие новости: