Как увеличить количество видеопамяти для встройки на примере Ryzen 7 8845H с Radeon 780M
Как увеличить объём видеопамяти для встроенной видеокарты
Обладатели встроенной видеокарты, возможно замечали, заходя в диспетчер задач или какую-нибудь игру, что количество выделенной видеопамяти составляет всего 1 или 2 ГБ, а то и вовсе 512 МБ. Многие наверняка задавались вопросами вроде "а не мало ли это?", "а как увеличить?", "а влияет ли на производительность?". Давайте разбираться.
Я пишу эту статью в основном для владельцев ноутбуков без дискретки, которые хотят иногда поиграть в несильно требовательные игры (владельцы, а не ноутбуки :)). Сразу оговорюсь, что не являюсь профессионалом в сфере компьютерных наук, устройство и работу вычислительных средств представляю на уровне "чуть выше среднего". Так что буду признателен за поправки и комментарии (конечно же конструктивные), если где-то ошибся. Также хочу обратить внимание на сноску со звёздочкой. Этот тезис требует дополнительных разъяснений.
реклама
Все манипуляции буду проводить на своём личном ноутбуке Lenovo IdeaPad Slim 5 14AHP9, он же XiaoXin 14 2024 с процессором Ryzen 7 8845H, встройкой у которого является Radeon 780M. Оперативной памяти в моём случае 16 ГБ стандарта LPDDR5X со скоростью 6400 MT/s. Если у вашего ноутбука оперативной памяти всего 8 ГБ, то настоятельно не рекомендую выделять встройке более 1 ГБ, особенно на системах с Windows 11.
Обратите внимание, что выделенная под видеобуфер память не сможет использоваться системой для других целей. Например, если у вас 16 ГБ ОЗУ и вы выделяется под видео 4 ГБ, то при загрузке ОС у вас будет доступно только 12 ГБ в качестве ОЗУ. Выбирайте размер этой области в зависимости от ваших задач. При этом ничего страшного не произойдёт, если вы оставите системе мало оперативки. Это не значит, что ваш ноутбук теперь навсегда лишится 4 гигов ОЗУ. Все изменения можно будет откатить.
Сначала немного теории. Затем я покажу, как выделить больше VRAM (видеопамяти) вашей встройке, ну и в конце сравним производительность в играх до/после, и ответим на вопрос, а стоит ли это того?
реклама
Разберёмся в чём главное отличие.
Небольшое отступление для тех, кто не сильно в теме. У обычной дискретной видеокарты есть своя собственная, физическая память (например, GDDR 5 или 6). Она быстрая и заточена именно под работу с графикой. А встроенная видеокарта своей памяти не имеет. Поэтому она просто забирает себе часть более медленной оперативной памяти (ОЗУ) компьютера. Как правило это DDR с цифрой 3/4/5 и без буквы G в начале. Ну, не совсем забирает. Правильнее сказать, что операционная система выделяет для неё определённую область, скажем, 2 ГБ, и встройка использует этот объём как видеопамять.
А что происходит, когда этих выделенных 2 ГБ не хватает? Например, в тяжёлой игре.
Видеокарта пытается использовать оперативную память дальше, но делает это медленнее. Данные начинают сбрасываться в другую область, которая физически хоть и относится к той же ОЗУ, но задержка при обращении к ним увеличивается*1. Примерно, как если бы вы работали за своим столом, и всё необходимое для работы было на нём, а теперь вам нужно бегать за какими-то бумагами в другой конец офиса. Может не очень удачный пример, но смысл, думаю, вы уловили.
реклама
Из-за этого начинаются тормоза. ФПС в игре проседает, изображение дёргается. Текстуры могут подгружаться с задержкой - сначала видишь расплывчатые объекты, которые через секунду-другую становятся чёткими. Всё потому, что видеокарте не хватает скорости доступа к данным, и она тратит время на их поиск в общей памяти.
Два верхних абзаца - это обобщённый пересказ процесса по данным из разных источников, в том числе авторитетных российских блогеров. Однако, как мы увидим далее, не всё так однозначно.
Пошаговое руководство
Переходим от слов к делу. Перед тем, как пользоваться специальной программой, проверьте - вдруг вы сможете выделить необходимое количество видеопамяти прямо из БИОС. Для этого необходимо при включении ноутбука, до начала загрузки операционной системы зайти в БИОС (спасибо кэп). Как правило, делается это с помощью клавиши F2 или Del, но лучше прогуглить в соответствии с моделью вашего ноутбука.
После того, как вы зашли в BIOS нужно найти пункт Configuration или Advanced (зависит от модели ноутбука). Там нам нужен параметр UMA Frame Buffer Size. В моём случае он находится здесь. Так как функции создания скриншотов у меня в биосе нет, далее будут фотографии шакального качества (на самом деле всё читаемо).
реклама
Как видим, на выбор предлагают 512 МБ, 1 или 2 ГБ. Что ж, не густо. В вашем случае список может быть больше или меньше. Если вас такой объём устраивает, выбираете его и сохраняете настройки, нажав клавишу F10. На этом статью можно закрывать, ну или хотя бы пролистывать до тестов.
Если же результат вас не устраивает, и вам нужно выделить 4/8/16 ГБ, либо такой опции нет, то идём более сложным путём. Нам потребуется программа Smokeless_UMAF. Скачать её можно с гитхаба набрав в поиске "UMAF".
Нужная нам страница первая в поиске
ВНИМАНИЕ: Я не несу ответственности за любой ущерб, который может возникнуть в результате использования программы. ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК.
Вот, что пишет сам автор: Изменение настроек может привести к блокировке вашего устройства, поэтому обращайтесь с ними осторожно. Убедитесь, что сможете восстановить устройство, если что-то пойдет не так. Для большинства случаев подойдет очистка bios, однако для некоторых "наиболее опасных настроек" может потребоваться перепрошивка.
Предупреждён - значит вооружён. Идём дальше. Нажимаем на ссылку и попадаем на GitHub. Теперь нужно нажать на зелёную кнопку с надписью "<> Code".

После этого скачиваем zip-архив, щёлкнув по соответствующей иконке.

Открываем архив с помощью WinRAR, 7-ZIP или любого другого архиватора. (В Win11 можно это делать напрямую, может быть и в Win10 тоже). В архиве будет несколько файлов и папок. Нам нужна папка с названием UMAF_BETA. Открываем её и извлекаем содержимое в любое удобное место. Эти файлы понадобятся нам чуть позже.

Теперь нужно подготовить флэшку. В принципе, подойдёт любая. Нужно отформатировать её в файловую систему FAT32. Для этого необходимо открыть проводник, выбрать флэшку правой кнопкой мыши и в выпадающем окне нажать "форматировать". 
Убедитесь, что выбрана файловая система FAT32, размер кластера можно выставлять любой, но я поставил стандартный. Называть флэшку как-то по особому не нужно, можете оставить своё название. После этого нажимаем "Начать". Внимание: форматирование удалит все файлы с накопителя. Так что, если необходимо, сделайте резервные копии.
Примечание (для интересующихся): схема разметки дисков (MBR или GPT) роли не играет.
После того, как флэшка отформатирована перекидываем на неё содержимое папки UMAF_BETA. Именно содержимое, саму папку перекидывать не нужно. Таким образом у вас должно получится что-то подобное, только без текстового файла SREP.
Теперь вставляем флэшку в ноутбук и перезагружаем его (или включаем питание, если он был выключен). Заходим в БИОС или сразу в менеджер загрузки (Boot manager). В моём случае это кнопка F12. Теперь выбираем в качестве загрузочного носителя свою флэшку.
Нужное нам окно
В моём случае вот она.
Если у вас вдруг открывается чёрное окно, в котором есть вариант только загрузки Windows, значит нажмите Esc и попробуйте ещё раз нажать на F12/Del или другую клавишу, в зависимости от вашей модели ноутбука.
Это не нужное нам окноИ вот нам открылся интерфейс программы UMAF.

Не буду объяснять значение всех пунктов, оно нам здесь и не нужно. Просто переходим в любой из Device Manager. Разницы действительно нет. В открывшемся окне выбираем AMD CBS.
Теперь листаем стрелками до NBIO Common Options и нажимаем клавишу Enter.

Здесь нас интересует пункт GFX Configuration. Выбираем его.

Находим пункт iGPU Configuration и переводим его со значения Auto на UMA_SPECIFIED.

Почти готово, теперь выбираем необходимый объём буфера.
Для систем с 16 ГБ оперативной памяти лучше не выделять более 4 ГБ. Если у вас 32 ГБ ОЗУ, то смело можете выставлять 8 или даже 16 гигов. Конечно, в зависимости от того, для чего вы используете свой ноутбук.
После того, как вы выбрали нужный объём, несколько раз жмём Esc, пока программа не предложит сохранить новые значения. Нажимаем клавишу Y (сокращённо от Yes). Или, если вы передумали, нажмите N.
Снова попадаем в начальное меню и нажимаем Continue. После этого загрузится ваша система.
Поздравляю, теперь вы стали хакером (нет). Но научились выделять больше памяти, чем это было предусмотрено производителем вашего устройства. В этой программе есть множество других "скрытых" настроек, но лезть туда без соответствующих знаний не советую. В скором времени я разберу ещё одну, которая должна повысить производительность в играх, но об этом в следующий раз.
Теперь переходим к тестам.
Тестирование в играх
Да простят меня гуру Overclockers и подобных сайтов за то, что нарушаю канон, но я не буду расписывать здесь всю методику тестирования, тестовый стенд и т.п. Нам ведь важен лишь ответ на вопрос "а есть ли профит?". В качестве тестовой игры выбрана Shadow of the Tomb Rider, вышедшая в 2018 году.
Почему именно она? Потому что в ней есть встроенный бенчмарк, который позволит произвести замеры в плюс-минус одинаковых условиях, да и системные требования не слишком высоки.
Общие настройки экрана
Так как ноутбук имеет разрешение экрана 1920x1200, то на нём и буду тестировать. Масштабирование отключено. Только натив, только хардкор. VSync вырублена, сглаживание SMAA.
Конфигурация графики "Максимальная"
В настройках графики выбран пресет "Максимальный", хотя некоторые параметры можно вручную докрутить до более высоких. Но я оставил как есть. Температура в комнате 23 градуса по Цельсию. Перед запуском бенча ноутбук в каждом случае сначала просто стоял в течении 5 минут, дабы устаканились все Windows-процессы, затем "прогревался" первым бенчмарком, чтобы исключить влияние запуска "на холодную" и только после этого я запускал второй тест.
Переходим к результатам. А они, признаюсь, меня удивили.
Видеопамять - 512 МБ
Видеопамять - 4 ГБ
Казалось бы вот оно, эффект действительно есть - целых 1,5% к производительности! Однако, радость в данном случае преждевременна и весь выигрыш находится на уровне погрешности.
А может посмотрим на график времени кадра и P0.1% ФПС? Вдруг увеличение буфера избавило нас от микрофризов и статтеров? Обязательно посмотрим, только взгляните сначала на таблицу в бенчмарке. Несмотря на чуть большее количество отрисованных кадров в случае 4 GB VRAM, значение ГП Мин. на 7% выше именно в случае с буфером 0,5 ГБ (30 вместо 28 FPS). То есть минимальная частота кадров (не совсем понятно как именно игра её считает, скорее всего это P1%) получилась выше при использовании меньшего объёма видеобуфера.
Взглянем на график фреймтайма.

График получился ровный, никакой "пилы" не наблюдается. Как и в случае с 4 ГБ видеопамяти. При этом игра потребляет 3,5 ГБ VRAM (здесь этого скриншота нет), то есть нельзя придраться к тому, что в обоих случаях выделенного нами объёма ей хватает. Не хватает. И здесь напрашивается 2 вывода.
Выводы
1. Windows умеет грамотно работать с памятью и динамически выделять недостающий массив адресов ОЗУ под VRAM, и это не приводит к увеличению задержек. В общем-то это не новость. Так оно и есть, как минимум с десятки, а то и раньше. Но где же обещанные микрофризы из-за обращения GPU в другие области памяти? Сомневаюсь, что версия Windows имеет большое значение, а потому считаю, что эти утверждения лишь байки, которые, если и были в старых системах, к современным не относятся.
2. Предположим, что ситуация с фризами реальна, однако я не смог её воспроизвести в данной игре и на данной системе. Вероятно, ключевым фактором является скорость "видеопамяти", а точнее ОЗУ. Всё-таки LPDDR5X с частотой 6400 MT/s гораздо быстрее той же DDR4 даже с настроенными таймингами. Поэтому никаких задержек и не было заметно.
Слева - скорости LPDDR5X, справа - DDR4Чтобы это выяснить необходимо провести дополнительные тесты в более тяжёлых играх, например, RDR2, GOW:R или The last of us Part 2. Интересно было бы посмотреть как будет влиять на производительность выделенный объём при меньшей скорости оперативной памяти. Вот только на 16 гигах этого сделать не получится. Даже Лара 2018 года потребляет в совокупности 14,5 ГБ ОЗУ, а значит - тесты пока откладываются.
Обладателей систем с 32 ГБ памяти и мощной встройкой, приглашаю поделится своими тестами в других играх. Или, если кому-то удалось добиться заметного снижения P1% FPS и поймать "пилу" на графике времени кадра, то также расскажите об этом. Желательно подкрепив вашими скриншотами.
А на этом у меня всё. Если вы не согласны с какими-то доводами или нашли фактическую ошибку в тексте, пожалуйста, напишите об этом и я отредактирую пост.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.

Как увеличить объём видеопамяти для встроенной видеокарты

Комментарии Правила