1

Недавно я приобрел новую видеокарту и надеялся увидеть повышение производительности моих игр. Несмотря на значительное увеличение производительности, я все еще страдаю от сбоев графики (прерывистые вторые длинные паузы в обновлениях кадров), которые беспокоят меня до бесконечности.

Разочарованный, я подошел к проблеме, как настоящий профессионал - я посмотрел видео на YouTube и скачал какую-то случайную программу, на которую меня проинструктировали. Смысл программы в том, чтобы очистить кэш памяти Windows 10 - (в моем случае, уменьшить его с 16 ГБ до ~ 300 МБ).

Я думал, что это никак не сработает - конечно, тяжелая графическая работа выполняется на моей выделенной карте, а большие текстуры будут храниться там в VRAM. Не говоря уже о том, что у меня осталось более 20 ГБ свободной памяти, поэтому я не думаю, что есть проблема с пространством / подкачкой.

К моему большому удивлению, запуск программы действительно сработал. Моя игра шла невероятно плавно при желаемой частоте кадров, без заиканий и сбоев.

Может кто-нибудь объяснить, почему очистка моего кеша памяти (по крайней мере, я надеюсь, что случайная программа больше ничего не сделала) исправила бы проблемы с производительностью моей игры?

Перед запуском программы:

После запуска программы:

Игра не запущена (но память ранее очищалась с помощью программы:

Запуск игры:

1 ответ1

0

Очень хорошее объяснение резервной памяти можно найти в статье Microsoft
Куда делась вся моя физическая память? ,

Короче говоря, это в основном кеш Windows, в котором хранятся копии дисковых блоков, которые использовались процессами, в том смысле, что при перезапуске этих процессов требуемые блоки можно быстро найти без чтения с диска.

Эти блоки не являются проблемой, поскольку они немедленно освобождаются, когда программе требуется больше памяти, чем имеется в свободной памяти.

Причиной для игр является то, что если игра хочет выделить столько памяти, сколько доступно, для хранения максимально возможного количества данных в памяти, она спрашивает Windows, сколько памяти свободно. Windows вернет объем свободной памяти, но за исключением резервной памяти.

Затем игра будет выделять меньше памяти, чем могла бы просить. Если бы он запросил больше памяти, чем сообщенный объем, он был бы выделен из резервной памяти без помех. Проблема в том, что игра не знает, сколько она действительно могла бы запросить.

Программа Empty Standby List делает что-то очень простое: она запрашивает всю память, ничего не читает в нее, а затем освобождает ее. Таким образом, резервная память фактически очищается, и вся память теперь помечена как свободная и доступная для игры.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .