Как уменьшить потребление видеопамяти

Обновлено: 21.11.2024

При разработке компьютерных игр и игре в них на Windows/WDDM часто возникают зависания (неравномерное время кадра) при включении графических функций или увеличении разрешения экрана. Есть много возможных основных причин заикания; одним из наиболее распространенных является чрезмерное выделение видеопамяти, которое происходит, когда приложение использует больше видеопамяти, чем физически доступно на графическом процессоре. В этой статье я опишу метод, который мы использовали в NVIDIA, чтобы определить, происходит ли перераспределение видеопамяти и вызывает ли оно какие-либо зависания в Windows Vista, 7, 8 или 8.1. (Метод, описанный в этой статье, может не применяться к Windows 10/WDDMv2, в которой используется другая модель резидентности памяти.)

Я предполагаю, что у вас уже есть способ отслеживать время кадра процессора и графического процессора в игровом движке (и/или вы используете FRAPS для измерения времени кадра процессора), и вы определили, что ваша игра сильно тормозит на в каком-то месте, на определенном графическом процессоре, с определенными настройками графики. В статье в блоге и в выступлении на GDC 2015 Иэн Кэнтли рассказал, как можно количественно оценить заикание с помощью процентилей времени кадра. Различные возможные причины и способы устранения заикания обсуждались Джемом Чебенояном на GDC China 2012, Джоном Макдональдом на GDC 2014 и Иэном Кэнтлеем на GDC 2015. Чрезмерная нагрузка на видеопамять — одна из наиболее распространенных причин заикания.

Теперь вы можете подозревать, что некоторое заикание может быть вызвано чрезмерным выделением видеопамяти, и вы можете не знать, как лучше всего доказать эту гипотезу. Мониторинг объема используемой видеопамяти для каждого графического процессора с помощью такого инструмента, как GPU-Z, снижение качества текстур (для уменьшения объема видеопамяти) или тестирование с использованием графического процессора с большим объемом видеопамяти могут дать вам подсказки. Однако по разным причинам счетчик GPU-Z «Используемая память» может быть ниже объема доступной выделенной видеопамяти, но на самом деле приложение все еще может чрезмерно выделять видеопамять. Таким образом, в целом, одного взгляда на используемую видеопамять недостаточно, чтобы понять, не перерасходуете ли вы ресурсы.

Обратите внимание, что в этом контексте термин «зафиксированный» эквивалентен «ссылочному», то есть ресурсу, «используемому» (или связанному) в любом вызове рендеринга (вызов очистки, копирования, отрисовки или отправки). Только ресурсы, на которые есть ссылка в фактическом вызове рендеринга, считаются помещенными в (выделенную) видеопамять. Ресурсы, которые только что созданы, но никогда не используются ни в одном вызове рендеринга, никогда не будут зафиксированы в видеопамяти.

Компания NVIDIA разработала метод определения того, использует ли какое-либо графическое приложение Windows/WDDM избыточное выделение видеопамяти, с помощью GPUView. GPUView — это бесплатный инструмент, предоставляемый Microsoft как часть Windows Performance Toolkit (который поставляется с Windows 8.1 SDK). Его можно использовать со всеми приложениями GL и D3D в Windows Vista и более поздних версиях. Если вы еще не знакомы с этим инструментом, введение в GPUView доступно на веб-сайте Мэтью Фишера и в презентации Джона Стори на GDC 2012. Инструмент также поставляется с файлом справки, который я рекомендую проверить.

Как обнаружить переполнение видеопамяти

Чтобы определить, не хватает ли приложению Windows видеопамяти, первое, что я делаю, — это записываю трассировку GPUView (см. Приложение) из запуска, в котором постоянно происходят заикания. Затем я открываю трассировку в GPUView и:

  1. Проверьте аппаратные очереди графического процессора
  2. Проверьте контекстные очереди ЦП
  3. Проверьте наличие событий EvictAllocation

В этой статье я возьму пример приложения DX11, работающего на GeForce GTX 680 (с 2 ГБ выделенной видеопамяти) в Windows 8, и буду использовать сборку GPUView из Win 8.1 SDK. . Я захватил 3 трассировки GPUView из одного и того же места в игре с разными разрешениями экрана и настройками суперсэмплинга: 1920x1200 и 2560x1600 без суперсэмплинга и 2560x1600 + 120% суперсэмплинг (то есть эффективное разрешение 3072x1920).

Шаг 1. Проверка аппаратных очередей графического процессора

Вот как аппаратные очереди графического процессора выглядят ближе к концу трассировки GPUView во временных интервалах, содержащих шесть пакетов Present. В обоих случаях верхняя аппаратная очередь — это графическая очередь для приложения, которая содержит хэшированные пакеты Present и другие графические пакеты, а самая нижняя аппаратная очередь — это очередь Copy Engine, которая содержит красные пакеты пейджинга.

Рис. 1. Очереди GPU в трассировке 1920x12v00. Нет заикания.

Рис. 2. Очереди GPU в трассировке 3072x1920. Сильное заикание.

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

В трассировке 1920 x 1200 очередь графики была занята на 100 % времени, поэтому проблем на уровне очереди не было.

В трассировке 3072x1920 очередь графики была занята только 54,1% времени, и в очереди были большие пробелы переменной длины. На практике каждый из этих пробелов графического процессора в очереди графики графического процессора приводит к заиканию времени кадра графического процессора.

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

Давайте увеличим масштаб до первого кадра на рис. 2 — после первого пакета Present и до следующего пакета Present. В этом кадре очередь графики занята только 22,9% времени. Если мы выберем самый большой разрыв очереди графики в этом кадре, мы увидим, что он занимает 66 мс, как показано в правом нижнем углу окна GPUView:

Рис. 3. Большой разрыв в 66 мс в графической очереди графического процессора в трассировке 3072 x 1920.

Шаг 2. Проверка контекстных очередей ЦП

Если мы прокрутим вниз в GPUView и посмотрим на очередь CPU Graphics из приложения (того, которое имеет хешированные пакеты Present и правильное имя процесса), мы увидим, что очередь CPU всегда содержит от одного до двух пакетов Present. (В этом случае ожидается максимум два, потому что это приложение ограничивает количество кадров в очереди не более чем двумя, используя запросы событий. Мы случайно узнали об этом из разговора с разработчиком приложения — подробности использования запросов событий не указаны явно. видно из самой трассировки GPUView.) Дело в том, что очередь CPU Graphics никогда не бывает пустой; если бы он был пуст, это указывало бы на проблему.

Рис. 4. Очереди ЦП и ГП для одного кадра ГП в трассировке 3072 x 1920.

Теперь мы знаем, что большие пробелы в очереди графики графического процессора не вызваны какой-либо точкой синхронизации ЦП-ГП или приложением, привязанным к ЦП. В противном случае очередь ЦП в какой-то момент станет пустой.

Шаг 3. Проверьте наличие событий EvictAllocation

События EvictAllocation можно просмотреть, выбрав Сервис -> Список событий и выбрав события «DxgKrnl EvictAllocation» в списке GUID.

Трассировка 1920 x 1200 не содержит событий EvictAllocation во время игры. Напротив, трассировка 3072 x 1920 содержит 244 таких события в текущем временном интервале:

Рис. 5. События EvictAllocation, подтверждающие переполнение видеопамяти.

В GPUView каждое из этих выбранных событий визуализируется красной вертикальной полосой на временной шкале. Как показано на рис. 5, таких событий на кадр несколько, и эти события коррелируют с пропусками в очереди графического процессора и с активностью в dxgmms1.sys — диспетчере видеопамяти ОС.

Если мы уменьшим масштаб и посмотрим на 40-секундный интервал этой трассировки, мы увидим, что повсюду есть события EvictAllocation:

Рис. 6. События EvictAllocation в трассировке 3072 x 1920 за 40-секундный интервал.

Наконец, в разрешении 2560 x 1600 без включения суперсэмплинга по-прежнему существуют пробелы в очереди графического процессора и события EvictAllocation, коррелирующие с пробелами в очереди графического процессора. Таким образом, приложение использует 2 ГБ видеопамяти не только в разрешении 3072 x 1920, но и в меньшей степени в разрешении 2560 x 1600.

Рис. 7. События EvictAllocation в трассировке 2560 x 1600, вызывающие заикание.

Обзор

В целом, вы знаете, что чрезмерное использование видеопамяти вызывает заикание, если:

  1. В очереди графики графического процессора есть большие промежутки (> 1 мс) переменной длины.
  2. В очереди графики процессора игры нет пробелов.
  3. Во время игры происходят события DxgKrnl EvictAllocation.
  4. События EvictAllocation коррелируют с пробелами в очереди графики графического процессора.

СОВЕТ. Первое, что вы можете сделать при открытии трассировки GPUView, — включить все события DxgKrnl EvictAllocation в списке событий. Если вы не видите таких событий, значит, у вас нет чрезмерного использования видеопамяти.

Приложение: Использование справочной таблицы GPUView

Всякий раз, когда создается ресурс, наш драйвер заполняет массив «предпочитаемых сегментов», которые используются диспетчером видеопамяти ОС для принятия решения о том, следует ли продвигать ресурс или удалять его из видеопамяти в любое время.

GPUView позволяет визуализировать процент ссылок на ресурсы, которые в настоящее время находятся в их предпочтительном сегменте (также известном как «P0»), а также в их резервных сегментах (P1, P2 и т. д.). Чтобы включить эту визуализацию, вы можете перейти в меню «Графики» и нажать «Переключить справочные диаграммы». Это добавляет справочную диаграмму под каждой очередью контекста ЦП, например:

Рис. 8. Справочная диаграмма для очереди CPU Graphics в трассировке 3072x1920.

СОВЕТ. На практике, если вы видите какой-либо ненулевой процент P2 в каких-либо справочных диаграммах для вашего приложения, вы знаете, что выделяете больше видеопамяти.

Обратите внимание, что это не обязательное условие: если ссылок P2 нет, возможно, вы по-прежнему выделяете избыточную видеопамять и можете проверить пропуски простоя графического процессора и события EvictAllocation, чтобы убедиться в этом. Тем не менее, приятно иметь возможность подтвердить, что происходит перераспределение видеопамяти, используя другую точку данных.

Приложение: Мониторинг доступной видеопамяти

Обратите внимание, что объем видеопамяти, который в настоящее время доступен любому приложению во всей системе, можно запросить с помощью функции NvAPI_GPU_GetMemoryInfo из NVAPI.

Вот пример вспомогательного класса, который это делает:

Счетчики selectedVideoMemory и availableDedicatedVideoMemory являются постоянными, а availableDedicatedVideoMemory может быть меньше выделенного VideoMemory.

Что касается счетчика curAvailableDedicatedVideoMemory, то он является переменным и зависит от графических приложений, работающих в данный момент в системе. Если вы видите, что значение этого счетчика становится ниже 50 МБ, значит, вы, вероятно, перераспределяете видеопамять (или собираетесь это сделать в ближайшее время), и можете проверить, так ли это, с помощью GPUView. Вы можете запрашивать его каждый кадр и отображать его на экране в сборках QA.

Приложение. Как захватить трассировку GPUView

Я предполагаю, что в вашей системе достаточно оперативной памяти (обычно 16 ГБ должно быть достаточно), поэтому запись трассировки в память не должна существенно влиять на производительность системы. Если у вас достаточно оперативной памяти, трассировка должна хорошо отражать основные проблемы.

Использование одного компьютера

Для удобства я использую пакетный файл, содержащий одну строку:

cmd /K "cd C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\gpuview"

И я запускаю этот пакетный файл, щелкнув правой кнопкой мыши -> «Запуск от имени администратора». (Если вы не запустите эту командную строку от имени администратора, запись в журнал может завершиться ошибкой.)

Чтобы зафиксировать трассировку, я обычно делаю следующее:

  1. Введите «log light» в командной строке GPUView (чтобы начать захват трассировки)
  2. Запустите игру в полноэкранном режиме и перейдите к месту воспроизведения.
  3. Подождите 20 секунд (в идеале не двигайте камеру, чтобы получить более стабильные результаты).
  4. Нажав клавишу ALT, вернитесь к командной строке GPUView и введите «log» (чтобы остановить запись)
  5. Запустите «GPUView.exe Merged.etl», чтобы открыть трассировку GPUView.

Обратите внимание, что можно начать захват после запуска игры. Однако мы обнаружили, что очереди ЦП не захватываются правильно при выполнении этого в Win8. Запуск захвата перед запуском игры (что я и рекомендую) не имеет этой проблемы с повреждением. Недостатком этого является создание более крупных трасс, но это позволяет избежать любых потенциальных сомнений или путаницы.

Использование двух компьютеров

Этот метод предполагает, что у вас есть второй доступный компьютер, подключенный к той же сети, что и основной компьютер, с которого вы хотите получить трассировку GPUView. На втором компьютере вы можете загрузить пакет PsExec и запустить эту командную строку:

PsExec \\ИмяВашегоКомпьютера -s -u ВашДомен\ИмяПользователя cmd /K "cd C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\gpuview"

Это откроет удаленную командную строку на вашем локальном компьютере. Затем вы можете ввести «log light», чтобы начать ведение журнала, и «log», чтобы остановить ведение журнала.

Аргумент «-s» PsExec необходим для запуска удаленной командной строки от имени администратора.

Есть ли способ изменить объем ОЗУ, который Windows 10 выделяет в качестве общей видеопамяти? В частности, я хотел бы изменить его с 31 ГБ на 8 ГБ или 0 ГБ.

Мы будем очень признательны за любую помощь.

Эта тема заблокирована.Вы можете подписаться на вопрос или проголосовать за него как полезный, но вы не можете отвечать в этой теме.

Сообщить о нарушении

Домогательство – это любое поведение, направленное на то, чтобы побеспокоить или расстроить человека или группу людей. К угрозам относятся любые угрозы самоубийства, насилия или причинения вреда другому человеку. Любой контент на тему для взрослых или неуместный для веб-сайта сообщества. Любое изображение, ссылка или обсуждение наготы. Любое поведение, которое является оскорбительным, грубым, вульгарным, оскверняет или демонстрирует неуважение. Любое поведение, которое может нарушать лицензионные соглашения с конечными пользователями, включая предоставление ключей продукта или ссылок на пиратское программное обеспечение. Незапрашиваемая массовая рассылка или массовая реклама. Любые ссылки на вирусы, шпионское ПО, вредоносное ПО или фишинговые сайты или их пропаганда. Любой другой неприемлемый контент или поведение, как это определено Условиями использования или Кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другим жестоким обращением с детьми или их эксплуатацией.

Ответы (13) 

* Попробуйте уменьшить номер страницы.

* Пожалуйста, вводите только цифры.

* Попробуйте уменьшить номер страницы.

* Пожалуйста, вводите только цифры.

Intel(R) Core(TM) i7-5930K не имеет встроенной HD-графики на чипе, поэтому у вас есть только видеокарта GTX 1080, у которой много встроенной памяти

В то время как Windows будет выделять ОЗУ в качестве общей видеопамяти, если вашим приложениям на ПК когда-либо потребуется больше ОЗУ, Windows освободит необходимую ОЗУ, это выполняется вашей ОС динамически, поэтому объем, первоначально установленный Windows, является произвольным и будет меняться. по мере необходимости . . .

Вы испытываете трудности из-за нехватки оперативной памяти в вашей системе, у вас есть 64 ГБ, что является огромным объемом, и вы никогда не должны исчерпать память, независимо от количества запущенных приложений. . .

Сила разработчика!

MSI GV72 — 17,3", i7-8750H (Hex Core), 32 ГБ DDR4, 4 ГБ GeForce GTX 1050 Ti, 256 ГБ NVMe M2, 2 ТБ на жестком диске

Сообщить о нарушении

Домогательство – это любое поведение, направленное на то, чтобы побеспокоить или расстроить человека или группу людей. К угрозам относятся любые угрозы самоубийства, насилия или причинения вреда другому человеку. Любой контент на тему для взрослых или неуместный для веб-сайта сообщества. Любое изображение, ссылка или обсуждение наготы. Любое поведение, которое является оскорбительным, грубым, вульгарным, оскверняет или демонстрирует неуважение. Любое поведение, которое может нарушать лицензионные соглашения с конечными пользователями, включая предоставление ключей продукта или ссылок на пиратское программное обеспечение. Незапрашиваемая массовая рассылка или массовая реклама. Любые ссылки на вирусы, шпионское ПО, вредоносное ПО или фишинговые сайты или их пропаганда. Любой другой неприемлемый контент или поведение, как это определено Условиями использования или Кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другим жестоким обращением с детьми или их эксплуатацией.

10 человек считают этот ответ полезным

Был ли этот ответ полезен?

Извините, это не помогло.

Отлично! Благодарим за отзыв.

Насколько вы удовлетворены этим ответом?

Спасибо за ваш отзыв, он помогает нам улучшить сайт.

Насколько вы удовлетворены этим ответом?

Спасибо за отзыв.

Да, у меня возникают проблемы из-за нехватки оперативной памяти, когда она используется примерно на 50%. Windows вообще не должна совместно использовать оперативную память с графической картой.

Сообщить о нарушении

Домогательство – это любое поведение, направленное на то, чтобы побеспокоить или расстроить человека или группу людей. К угрозам относятся любые угрозы самоубийства, насилия или причинения вреда другому человеку. Любой контент на тему для взрослых или неуместный для веб-сайта сообщества. Любое изображение, ссылка или обсуждение наготы. Любое поведение, которое является оскорбительным, грубым, вульгарным, оскверняет или демонстрирует неуважение. Любое поведение, которое может нарушать лицензионные соглашения с конечными пользователями, включая предоставление ключей продукта или ссылок на пиратское программное обеспечение. Незапрашиваемая массовая рассылка или массовая реклама. Любые ссылки на вирусы, шпионское ПО, вредоносное ПО или фишинговые сайты или их пропаганда. Любой другой неприемлемый контент или поведение, как это определено Условиями использования или Кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другим жестоким обращением с детьми или их эксплуатацией.

21 человек считает этот ответ полезным

Был ли этот ответ полезен?

Извините, это не помогло.

Отлично! Благодарим за отзыв.

Насколько вы удовлетворены этим ответом?

Спасибо за ваш отзыв, он помогает нам улучшить сайт.

Насколько вы удовлетворены этим ответом?

Спасибо за отзыв.

Здравствуйте, Marched,
Ваша проблема может быть не связана с общей оперативной памятью.
При возникновении проблем покажите часть памяти на вкладке "Производительность" монитора задач.

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

Сообщить о нарушении

Домогательство – это любое поведение, направленное на то, чтобы побеспокоить или расстроить человека или группу людей. К угрозам относятся любые угрозы самоубийства, насилия или причинения вреда другому человеку.Любой контент на тему для взрослых или неуместный для веб-сайта сообщества. Любое изображение, ссылка или обсуждение наготы. Любое поведение, которое является оскорбительным, грубым, вульгарным, оскверняет или демонстрирует неуважение. Любое поведение, которое может нарушать лицензионные соглашения с конечными пользователями, включая предоставление ключей продукта или ссылок на пиратское программное обеспечение. Незапрашиваемая массовая рассылка или массовая реклама. Любые ссылки на вирусы, шпионское ПО, вредоносное ПО или фишинговые сайты или их пропаганда. Любой другой неприемлемый контент или поведение, как это определено Условиями использования или Кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другим жестоким обращением с детьми или их эксплуатацией.

2 человека сочли этот ответ полезным

Был ли этот ответ полезен?

Извините, это не помогло.

Отлично! Благодарим за отзыв.

Насколько вы удовлетворены этим ответом?

Спасибо за ваш отзыв, он помогает нам улучшить сайт.

Насколько вы удовлетворены этим ответом?

Спасибо за отзыв.

Сообщить о нарушении

Домогательство – это любое поведение, направленное на то, чтобы побеспокоить или расстроить человека или группу людей. К угрозам относятся любые угрозы самоубийства, насилия или причинения вреда другому человеку. Любой контент на тему для взрослых или неуместный для веб-сайта сообщества. Любое изображение, ссылка или обсуждение наготы. Любое поведение, которое является оскорбительным, грубым, вульгарным, оскверняет или демонстрирует неуважение. Любое поведение, которое может нарушать лицензионные соглашения с конечными пользователями, включая предоставление ключей продукта или ссылок на пиратское программное обеспечение. Незапрашиваемая массовая рассылка или массовая реклама. Любые ссылки на вирусы, шпионское ПО, вредоносное ПО или фишинговые сайты или их пропаганда. Любой другой неприемлемый контент или поведение, как это определено Условиями использования или Кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другим жестоким обращением с детьми или их эксплуатацией.

17 человек считают этот ответ полезным

Был ли этот ответ полезен?

Извините, это не помогло.

Отлично! Благодарим за отзыв.

Насколько вы удовлетворены этим ответом?

Спасибо за ваш отзыв, он помогает нам улучшить сайт.

Насколько вы удовлетворены этим ответом?

Спасибо за отзыв.

Это не функция Windows. Он может быть установлен либо в BIOS, либо в настройках драйвера, но обычно производители не хотят добавлять такие настройки, так как это не даст никакой пользы, но может запутать пользователей.
Пожалуйста, обратитесь в службу поддержки NVidia, возможно, они подскажут решение.

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

Сообщить о нарушении

Домогательство – это любое поведение, направленное на то, чтобы побеспокоить или расстроить человека или группу людей. К угрозам относятся любые угрозы самоубийства, насилия или причинения вреда другому человеку. Любой контент на тему для взрослых или неуместный для веб-сайта сообщества. Любое изображение, ссылка или обсуждение наготы. Любое поведение, которое является оскорбительным, грубым, вульгарным, оскверняет или демонстрирует неуважение. Любое поведение, которое может нарушать лицензионные соглашения с конечными пользователями, включая предоставление ключей продукта или ссылок на пиратское программное обеспечение. Незапрашиваемая массовая рассылка или массовая реклама. Любые ссылки на вирусы, шпионское ПО, вредоносное ПО или фишинговые сайты или их пропаганда. Любой другой неприемлемый контент или поведение, как это определено Условиями использования или Кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другим жестоким обращением с детьми или их эксплуатацией.

2 человека сочли этот ответ полезным

Был ли этот ответ полезен?

Извините, это не помогло.

Отлично! Благодарим за отзыв.

Насколько вы удовлетворены этим ответом?

Спасибо за ваш отзыв, он помогает нам улучшить сайт.

Насколько вы удовлетворены этим ответом?

Спасибо за отзыв.

Таких настроек нет ни в BIOS, ни в драйвере NVidia. Это определенно «функция» Windows.

Сообщить о нарушении

Домогательство – это любое поведение, направленное на то, чтобы побеспокоить или расстроить человека или группу людей. К угрозам относятся любые угрозы самоубийства, насилия или причинения вреда другому человеку. Любой контент на тему для взрослых или неуместный для веб-сайта сообщества. Любое изображение, ссылка или обсуждение наготы. Любое поведение, которое является оскорбительным, грубым, вульгарным, оскверняет или демонстрирует неуважение. Любое поведение, которое может нарушать лицензионные соглашения с конечными пользователями, включая предоставление ключей продукта или ссылок на пиратское программное обеспечение. Незапрашиваемая массовая рассылка или массовая реклама. Любые ссылки на вирусы, шпионское ПО, вредоносное ПО или фишинговые сайты или их пропаганда. Любой другой неприемлемый контент или поведение, как это определено Условиями использования или Кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другим жестоким обращением с детьми или их эксплуатацией.

19 человек сочли этот ответ полезным

Был ли этот ответ полезен?

Извините, это не помогло.

Отлично! Благодарим за отзыв.

Насколько вы удовлетворены этим ответом?

Спасибо за ваш отзыв, он помогает нам улучшить сайт.

Насколько вы удовлетворены этим ответом?

Спасибо за отзыв.

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

Сообщить о нарушении

Домогательство – это любое поведение, направленное на то, чтобы побеспокоить или расстроить человека или группу людей. К угрозам относятся любые угрозы самоубийства, насилия или причинения вреда другому человеку. Любой контент на тему для взрослых или неуместный для веб-сайта сообщества. Любое изображение, ссылка или обсуждение наготы. Любое поведение, которое является оскорбительным, грубым, вульгарным, оскверняет или демонстрирует неуважение. Любое поведение, которое может нарушать лицензионные соглашения с конечными пользователями, включая предоставление ключей продукта или ссылок на пиратское программное обеспечение. Незапрашиваемая массовая рассылка или массовая реклама. Любые ссылки на вирусы, шпионское ПО, вредоносное ПО или фишинговые сайты или их пропаганда. Любой другой неприемлемый контент или поведение, как это определено Условиями использования или Кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другим жестоким обращением с детьми или их эксплуатацией.

3 человека сочли этот ответ полезным

Был ли этот ответ полезен?

Извините, это не помогло.

Отлично! Благодарим за отзыв.

Насколько вы удовлетворены этим ответом?

Спасибо за ваш отзыв, он помогает нам улучшить сайт.

Насколько вы удовлетворены этим ответом?

Спасибо за отзыв.

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

Сообщить о нарушении

Домогательство – это любое поведение, направленное на то, чтобы побеспокоить или расстроить человека или группу людей. К угрозам относятся любые угрозы самоубийства, насилия или причинения вреда другому человеку. Любой контент на тему для взрослых или неуместный для веб-сайта сообщества. Любое изображение, ссылка или обсуждение наготы. Любое поведение, которое является оскорбительным, грубым, вульгарным, оскверняет или демонстрирует неуважение. Любое поведение, которое может нарушать лицензионные соглашения с конечными пользователями, включая предоставление ключей продукта или ссылок на пиратское программное обеспечение. Незапрашиваемая массовая рассылка или массовая реклама. Любые ссылки на вирусы, шпионское ПО, вредоносное ПО или фишинговые сайты или их пропаганда. Любой другой неприемлемый контент или поведение, как это определено Условиями использования или Кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другим жестоким обращением с детьми или их эксплуатацией.

4 человека сочли этот ответ полезным

Был ли этот ответ полезен?

Извините, это не помогло.

Отлично! Благодарим за отзыв.

Насколько вы удовлетворены этим ответом?

Спасибо за ваш отзыв, он помогает нам улучшить сайт.

Насколько вы удовлетворены этим ответом?

Спасибо за отзыв.

Сообщить о нарушении

Домогательство – это любое поведение, направленное на то, чтобы побеспокоить или расстроить человека или группу людей. К угрозам относятся любые угрозы самоубийства, насилия или причинения вреда другому человеку. Любой контент на тему для взрослых или неуместный для веб-сайта сообщества. Любое изображение, ссылка или обсуждение наготы. Любое поведение, которое является оскорбительным, грубым, вульгарным, оскверняет или демонстрирует неуважение. Любое поведение, которое может нарушать лицензионные соглашения с конечными пользователями, включая предоставление ключей продукта или ссылок на пиратское программное обеспечение. Незапрашиваемая массовая рассылка или массовая реклама. Любые ссылки на вирусы, шпионское ПО, вредоносное ПО или фишинговые сайты или их пропаганда. Любой другой неприемлемый контент или поведение, как это определено Условиями использования или Кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другим жестоким обращением с детьми или их эксплуатацией.

1 человек нашел этот ответ полезным

Был ли этот ответ полезен?

Извините, это не помогло.

Отлично! Благодарим за отзыв.

Насколько вы удовлетворены этим ответом?

Спасибо за ваш отзыв, он помогает нам улучшить сайт.

Насколько вы удовлетворены этим ответом?

Спасибо за отзыв.

Я уверен.
Я общаюсь с разработчиками Windows с 1995 года - как один из лучших бета-тестеров до 2009 года, когда программа была закрыта, как MVP в 2005-2017 годах,
включая номинацию Windows System & Performance и как Теперь член Windows TAP. Так что у меня достаточно глубокие познания в Windows, и вы можете мне доверять.
Общая видеопамять не используется при нормальной работе. Эта фраза означает, что видеодрайвер может использовать основную память, если видеопамяти недостаточно. Эта функция была введена много лет назад. Она все еще поддерживается, но бесполезна, поскольку GPU обращается к общей памяти как минимум в 10 раз медленнее, чем к выделенной памяти. Таким образом, такое использование значительно снижает производительность видео, и видеодрайверы стараются никогда не использовать общую память. И эта память не резервируется. При нормальной работе система имеет к нему полный доступ.

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

Сообщить о нарушении

Домогательство – это любое поведение, направленное на то, чтобы побеспокоить или расстроить человека или группу людей. К угрозам относятся любые угрозы самоубийства, насилия или причинения вреда другому человеку. Любой контент на тему для взрослых или неуместный для веб-сайта сообщества. Любое изображение, ссылка или обсуждение наготы. Любое поведение, которое является оскорбительным, грубым, вульгарным, оскверняет или демонстрирует неуважение. Любое поведение, которое может нарушать лицензионные соглашения с конечными пользователями, включая предоставление ключей продукта или ссылок на пиратское программное обеспечение. Незапрашиваемая массовая рассылка или массовая реклама. Любые ссылки на вирусы, шпионское ПО, вредоносное ПО или фишинговые сайты или их пропаганда. Любой другой неприемлемый контент или поведение, как это определено Условиями использования или Кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другим жестоким обращением с детьми или их эксплуатацией.

Для решения различных проблем с ПК мы рекомендуем Restoro PC Repair Tool:
Это программное обеспечение устраняет распространенные компьютерные ошибки, защищает вас от потери файлов, вредоносных программ, сбоев оборудования и оптимизирует работу вашего ПК для достижения максимальной производительности. Решите проблемы с ПК и удалите вирусы за 3 простых шага:

  1. Загрузите Restoro PC Repair Tool, который поставляется с запатентованными технологиями (патент доступен здесь).
  2. Нажмите «Начать сканирование», чтобы найти проблемы Windows, которые могут вызывать проблемы с ПК.
  3. Нажмите «Исправить все», чтобы устранить проблемы, влияющие на безопасность и производительность вашего компьютера.
  • В этом месяце Restoro скачали 0 читателей.

Нет ничего более ужасного, чем когда вы получаете уведомление Ваша память графического процессора заполнена. В свою очередь, это мешает вашему игровому процессу, потому что игра вылетает.

В большинстве случаев люди считают свои устройства неэффективными и начинают думать о приобретении нового устройства с лучшей графикой и большим объемом памяти.

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

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

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

Безопасно ли просто удалить кеш графического процессора?

ГП поставляется с графическими ядрами, которые сшивают воедино графический кадр, отображаемый на экране. Поэтому после рендеринга кадра он остается в виртуальной памяти еще до того, как будет отображен на экране.

Если вы склонны работать с контентом с высоким разрешением или постоянно обрабатываете высококачественные изображения, вам понадобится более высокая память графического процессора.

Удалять кеш графического процессора безопасно только после внесения изменений в файл и их сохранения. В противном случае преждевременное удаление может привести к безвозвратной потере вашей информации.

Как узнать, что мой графический процессор неисправен?

Вот некоторые из основных контрольных признаков, по которым вы можете определить, что он неисправен:

  • Если вы начинаете испытывать некоторые сбои на экране, особенно во время игры или просмотра видео высокого качества, проблема связана с вашей картой. Классическая характеристика этого — когда на экране начинают появляться странные цвета.
  • Некоторые люди могут начать видеть странные артефакты на своем дисплее. Проблема в основном вызвана перегревом, скоплением пыли и чрезмерным разгоном.
  • Существует множество причин, по которым на вашем устройстве появляются ошибки BSOD. Проблема может быть связана с оперативной памятью, видеокартой или жестким диском. Однако если синий экран появляется только тогда, когда вы приступаете к каким-либо ресурсоемким задачам, таким как видеоигры, виновата ваша видеокарта.
  • Заикание и зависание экрана компьютера также указывают на то, что ваш графический процессор требует немедленного внимания. Тем не менее проблема также может быть вызвана проблемами с оперативной памятью, вредоносными программами и устаревшим жестким диском.
  • Если вы начинаете слышать шум вентилятора, это может свидетельствовать о наличии проблемы. Однако это может не означать, что вам нужно заменить видеокарту. Обратите внимание на шум, исходящий от вентилятора, если он громче, чем обычно, это может быть связано с перегревом графического процессора, что приводит к его неисправности. Попробуйте почистить его и посмотреть, успокоится ли вентилятор.

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

Что я могу сделать, чтобы освободить память графического процессора в Windows 11?

1. Настройте параметры файла подкачки для игрового диска

2. Используйте переключатель 3 ГБ

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

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

3. Выполнять обновления программ и игр

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

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

4. Обновите графический драйвер

Совет эксперта. Некоторые проблемы с ПК трудно решить, особенно когда речь идет о поврежденных репозиториях или отсутствующих файлах Windows. Если у вас возникли проблемы с исправлением ошибки, возможно, ваша система частично сломана. Мы рекомендуем установить Restoro, инструмент, который просканирует вашу машину и определит, в чем проблема.
Нажмите здесь, чтобы загрузить и начать восстановление.

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

Более того, мы рекомендуем вам использовать специальную программу, например DriverFix, для автоматического сканирования всех устаревших драйверов.

5. Измените настройки видеокарты

6. Проверьте наличие ненужных фоновых программ

  1. Одновременно нажмите Ctrl + Alt + Delete, чтобы открыть диспетчер задач.
  2. Посмотрите на запущенные процессы и объем выделенной памяти и примите взвешенное решение о том, какие программы следует отменить.
  3. Важно отметить, что несколько приложений автоматически загружаются и продолжают работать, пока ваш компьютер остается включенным, когда бы вы ни включали свое устройство.

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

    7. Настройте разрешение видео в программе

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

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

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

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

    Как VRAM влияет на GPU?

    Многие ошибки, вызванные отсутствием видеокарты, в основном связаны с видеопамятью (VRAM). Это особый тип ОЗУ, который отвечает за хранение информации о графическом процессоре.

    Поэтому он повышает производительность, позволяя графическому процессору получать информацию и передавать ее на экран. Стоит отметить, что VRAM быстрее справляется с задачами, связанными с GPU. Он предназначен для выполнения задач высокой интенсивности.

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

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

    Кроме того, узнайте, как увеличить объем видеопамяти в Windows 10, используя эти 3 метода. Их также могут применять пользователи Windows 11.

    Помогли ли описанные выше исправления решить проблему с видеокартой? Поделитесь с нами своими мыслями в разделе комментариев ниже.

    По-прежнему возникают проблемы? Исправьте их с помощью этого инструмента:

    Что такое выделенная видеопамять? Сколько у вас видеопамяти? Как увеличить VRAM?Вот все, что вам нужно знать.

    Обнаружили ошибки, связанные с выделенной видеопамятью на ПК с ОС Windows? Изо всех сил пытаетесь запускать программы с интенсивным использованием графики, такие как видеоредакторы и новые видеоигры? Вам может понадобиться больше видеопамяти (VRAM).

    Но что это вообще такое и как можно увеличить VRAM? Прочтите все, что вам нужно знать о видеопамяти в Windows 10 и 11.

    Что такое выделенная видеопамять (VRAM)?

    Видео RAM (или VRAM, произносится как "VEE-ram") – это особый тип RAM, который работает с графическим процессором вашего компьютера или GPU.

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

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

    Использование видеопамяти для этой задачи намного быстрее, чем использование вашей системной памяти, потому что видеопамять находится рядом с графическим процессором в видеокарте. Видеопамять предназначена для этой высокоинтенсивной работы и поэтому является «специальной».

    Как проверить видеопамять в Windows 10 и Windows 11

    Вы можете легко просмотреть объем видеопамяти в Windows 10, выполнив следующие действия:

    1. Откройте меню настроек, нажав Win + I.
    2. Выберите запись «Система», затем нажмите «Показать» на левой боковой панели.
    3. Прокрутите вниз и нажмите внизу текст "Дополнительные параметры экрана".
    4. В появившемся меню выберите монитор, для которого вы хотите просмотреть настройки (при необходимости). Затем щелкните текст свойств адаптера дисплея внизу.
    5. В новом окне вы увидите текущую видеопамять, указанную рядом с выделенной видеопамятью.

    Чтобы попасть в это меню в Windows 11, выберите «Настройки» > «Система» > «Экран» > «Расширенный дисплей». Затем выберите дисплей и щелкните Свойства адаптера дисплея.

    В разделе "Тип адаптера" вы увидите название вашей видеокарты Nvidia или AMD, в зависимости от того, какое у вас устройство. Если вы видите AMD Accelerated Processing Unit или Intel HD Graphics (более вероятно), вы используете интегрированную графику. Подробнее об этом мы расскажем ниже.

    Как увеличить видеопамять

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

    Однако, если это не вариант для вас (например, на ноутбуках), вы можете увеличить объем выделенной видеопамяти двумя способами.

    Как увеличить VRAM в BIOS

    Первый способ — настроить распределение видеопамяти в UEFI или BIOS вашего компьютера. Войдите в BIOS и найдите параметр в меню «Дополнительные функции», «Расширенные функции набора микросхем» или аналогичный. Внутри этой категории найдите дополнительную категорию, которая называется «Настройки графики», «Настройки видео» или «Размер общей памяти VGA».

    Они должны содержать параметр для настройки объема памяти, выделяемой графическому процессору. По умолчанию обычно 128 МБ; попробуйте увеличить его до 256 МБ или 512 МБ, если у вас достаточно свободного места.

    Однако не каждый процессор или BIOS имеют эту опцию. Если вы не можете изменить его, есть обходной путь, который может вам помочь.

    Имитация увеличения VRAM в Windows

    Поскольку большинство интегрированных графических решений автоматически подстраиваются под требуемый объем системной оперативной памяти, сведения, отображаемые в окне свойств адаптера, не имеют большого значения. На самом деле для встроенной графики значение Dedicated Video Memory полностью вымышленное. Система сообщает об этом фиктивном значении просто для того, чтобы игры что-то видели, когда проверяли, сколько у вас видеопамяти.

    Таким образом, вы можете изменить значение реестра, чтобы изменить объем VRAM, который ваша система сообщает играм. На самом деле это не увеличивает вашу VRAM; он просто изменяет это фиктивное значение. Если игра отказывается запускаться из-за того, что у вас «недостаточно видеопамяти», увеличение этого значения может исправить ситуацию.

    Откройте окно редактора реестра, введя regedit в меню «Пуск». Помните, что вы можете испортить свою систему в реестре, если измените неправильные значения, поэтому будьте осторожны, находясь здесь.

    Перейдите по следующему адресу:

    Щелкните правой кнопкой мыши папку Intel на левой панели и выберите «Создать» > «Ключ». Назовите этот ключ GMM. Сделав это, выберите новую папку GMM слева и щелкните правой кнопкой мыши внутри правой стороны.

    Выберите «Создать» > «Значение DWORD (32-разрядное)». Назовите этот DedicatedSegmentSize и присвойте ему значение, обязательно выбрав опцию Decimal. В мегабайтах минимальное значение равно 0 (отключение записи), а максимальное — 512. Установите это значение, перезагрузите компьютер и посмотрите, улучшит ли это работу игры.

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

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

    Для каких задач требуется видеопамять?

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

    Существенным фактором, влияющим на потребление видеопамяти, является разрешение вашего монитора (точнее, разрешение, в котором вы запускаете игру). В видеопамяти хранится буфер кадров, в котором хранится изображение до и во время его отображения графическим процессором на экране. Дисплеи более высокого качества (например, монитор 4K HDR) используют больше видеопамяти, поскольку для отображения изображений с более высоким разрешением требуется больше пикселей.

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

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

    Функции украшения, такие как сглаживание (сглаживание неровных краев), также используют больше видеопамяти из-за дополнительных пикселей. Если вы играете на двух мониторах одновременно, это еще сложнее.

    Для некоторых игр также может потребоваться разный объем видеопамяти в зависимости от качества графики. Старая мультяшная игра, такая как Overwatch, не слишком требовательна к графике, но игра с большим количеством продвинутых световых эффектов и детализированных текстур, такая как Cyberpunk 2077, требует больше ресурсов.

    И наоборот, дешевой карты с 2 ГБ видеопамяти (или даже встроенной видеокарты с 8 ГБ и более оперативной памяти) достаточно для игры в компьютерные игры 20-летней давности. В играх того времени не было и близкого современного объема оперативной памяти.

    Даже если вы не интересуетесь играми, для некоторых популярных программ также требуется значительный объем видеопамяти. Программное обеспечение для 3D-дизайна, такое как AutoCAD, особенно интенсивное редактирование в Photoshop и редактирование высококачественного видео — все это пострадает, если у вас недостаточно видеопамяти.

    Сколько видеопамяти мне нужно?

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

    • 1–2 ГБ видеопамяти. Стоимость таких карт обычно не превышает 100 долларов США. Они предлагают лучшую производительность, чем встроенная графика, но не могут справиться с большинством современных игр при настройках выше среднего. Приобретайте карту с таким объемом видеопамяти только в том случае, если вы хотите играть в старые игры, которые не будут работать со встроенной графикой. Не рекомендуется для редактирования видео или работы с 3D.
    • 3–6 ГБ видеопамяти. Эти карты среднего класса подходят для умеренных игр или интенсивного редактирования видео. Вы не сможете использовать ультра-безумные пакеты текстур, но вы можете рассчитывать на то, что сможете играть в современные игры с разрешением 1080p без особых проблем. 6 ГБ — более перспективный вариант, чем 4 ГБ.
    • 8 ГБ–12 ГБ видеопамяти и выше. Видеокарты высокого класса с таким объемом ОЗУ предназначены для серьезных геймеров. Если вы хотите играть в новейшие игры с разрешением 4K, вам понадобится карта с большим объемом видеопамяти.

    Однако к вышеприведенным обобщениям следует относиться с недоверием. Производители видеокарт добавляют соответствующий объем видеопамяти в зависимости от мощности графического процессора.

    Таким образом, дешевая видеокарта за 75 долларов будет иметь небольшой объем видеопамяти, а видеокарта за 500 долларов — гораздо больше. Если слабый графический процессор недостаточно мощный для рендеринга видео, для хранения которого требуется 8 ГБ видеопамяти, то такой объем видеопамяти на карте — пустая трата времени.

    Экстремальность не является проблемой для VRAM. Вам не нужна первоклассная карта стоимостью 800 долларов с 12 ГБ видеопамяти, чтобы играть в 2D-инди-платформеры. На самом деле вам нужно беспокоиться только о том, сколько VRAM нужно получить, когда карта, которую вы хотите купить, доступна в нескольких конфигурациях VRAM. VRAM — не единственный фактор, который должен учитываться при выборе графического процессора.

    Общие проблемы с видеопамятью

    Помните, что, как и в случае с обычной оперативной памятью, больший объем видеопамяти не всегда означает более высокую производительность. Если ваша карта имеет 4 ГБ видеопамяти, а вы играете в игру, которая использует только 2 ГБ, переход на карту на 8 ГБ не принесет ничего заметного.

    И наоборот, нехватка видеопамяти — это огромная проблема. Если VRAM заполнится, система будет полагаться на стандартную оперативную память, и производительность сильно пострадает. Вы будете страдать от более низкой частоты кадров, всплывающих окон текстур и других побочных эффектов. В крайних случаях игра может замедлиться и стать неиграбельной (все, что ниже 30 кадров в секунду).

    Помните, что VRAM — это только один из факторов производительности. Если у вас недостаточно мощный процессор, рендеринг 4K-видео будет длиться вечно. Недостаток системной оперативной памяти не позволяет запускать множество программ одновременно, а использование механического жесткого диска также серьезно ограничивает производительность вашей системы. А некоторые более дешевые видеокарты используют медленную видеопамять DDR3, которая уступает используемым в современных картах DDR6 и DDR5.

    Лучший способ узнать, какая видеокарта и объем видеопамяти вам подходят, — это поговорить со знающим человеком. Спросите друга, который знает о новейших видеокартах, или напишите на форуме, таком как Reddit или Tom's Hardware, с вопросом, подойдет ли конкретная карта для ваших нужд.

    Понимание VRAM со встроенной графикой

    До сих пор в нашем обсуждении предполагалось, что на вашем ПК установлена ​​выделенная видеокарта. Большинство людей, которые собирают свой собственный компьютер или покупают готовый игровой ПК, имеют настольный компьютер с видеокартой. Некоторые более мощные ноутбуки даже оснащены дискретной видеокартой.

    Но бюджетные настольные компьютеры или стандартные ноутбуки не включают видеокарты — вместо них используется встроенная графика.

    Интегрированное графическое решение означает, что графический процессор находится на том же кристалле, что и ЦП, и использует общую системную оперативную память, а не собственную выделенную видеопамять. Это бюджетное решение, которое позволяет ноутбукам выводить базовую графику без необходимости использования места и энергозатратной видеокарты. Но встроенная графика плохо подходит для игр и графически интенсивных задач.

    Насколько производительность вы получите от встроенной графики, зависит от вашего процессора. Новые процессоры Intel с графикой Intel Iris Xe более мощные, чем их более дешевые и старые аналоги, но по-прежнему бледнеют по сравнению с выделенной графикой.

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

    Теперь вы понимаете видеопамять

    Теперь вы знаете, что такое видеопамять, сколько вам нужно и как ее увеличить. В конце концов, однако, помните, что видеопамять — это небольшой аспект общей производительности вашего компьютера. Слабый графический процессор не будет работать хорошо даже с большим количеством видеопамяти.

    Поэтому, если вы хотите повысить игровую и графическую производительность, вам, вероятно, потребуется сначала обновить видеокарту, процессор и/или оперативную память — видеопамять должна разобраться сама, когда вы все это сделаете.

    Эта страница предназначена для предоставления некоторых сведений об использовании памяти внутри REDsdk. Мы рассмотрим различные параметры, о которых важно знать при использовании REDsdk. В связи с тем, что REDsdk представляет собой гибридный движок, способный выполнять рендеринг с помощью ЦП и/или ГП, управление памятью необходимо подробно описать, чтобы получить общее представление о поведении движка.

    Запуск аппаратного, гибридного или программного обеспечения REDsdk

    • Приложения, работающие только с аппаратным обеспечением, будут загружать свои ресурсы на графический процессор: геометрия сохраняется на центральном процессоре и загружается на графический процессор. Изображения хранятся только на графическом процессоре (отсюда и особый рабочий процесс управления изображениями: манипулирование изображениями). Буферы и внеэкранные буферы — это только память графического процессора.
    • Программные приложения загружают свои ресурсы в ЦП: геометрия хранится в ЦП, изображения хранятся в ЦП. Графический драйвер не задействован.
    • Гибридные приложения делают и то, и другое: они хранят свои данные как в ЦП, так и в ГП. Таким образом, гибридные приложения являются самыми требовательными к памяти приложениями.

    Ограничения размера аппаратного образа

    Имейте в виду: некоторые аппаратные системы имеют ограниченный размер изображения; Например, может быть невозможно создать изображение размером 32,768 x 16,384 пикселя на данном графическом процессоре просто потому, что изображение потребляет слишком много памяти для обработки таких больших размеров. Поэтому REDsdk будет молча уменьшать размер изображения перед его загрузкой на GPU, чтобы у него был шанс поместиться в видеопамяти. Затем:

    • Если приложение работает только в аппаратном режиме, запрос размера изображения вернет размер этого изображения, уменьшенный с помощью графического процессора. Если это изображение будет сохранено, например, в файле .red, оно будет сохранено с уменьшенным разрешением. Исходное изображение больше не существует.
    • Если приложение работает в гибридном режиме, запрос размера изображения вернет исходный размер образа ЦП. Процессорная часть REDsdk сохранит исходное изображение, пока его версия с пониженной версией загружается на графический процессор. При сохранении изображения в файл .red сохраняется исходное изображение.

    Последние графические процессоры редко страдают от этой проблемы, так как максимальный размер изображения, который они могут обрабатывать, обычно составляет 16,384 или больше.

    Превышение доступной видеопамяти

    REDsdk предлагает вам несколько способов уменьшить потребление памяти. Мы рассмотрим их ниже:

    Обработка кода возврата RED_DRV_ALLOC_FAILURE

    Вызов RED::IWindow::FrameDrawing может вернуть RED_DRV_ALLOC_FAILURE. Если это произойдет, первое, что нужно знать, это то, что это не фатально для приложения. Приложение по-прежнему работает нормально, но ему не удалось завершить рендеринг кадра из-за нехватки доступных ресурсов графического процессора. Поэтому нам нужно уменьшить использование памяти графическим процессором и снова начать рендеринг.

    Для этого мы можем изменить несколько параметров:

    • Если при рендеринге используются карты теней (подробное отображение теней), мы можем уменьшить максимальное разрешение карты теней. Это сэкономит память, используемую промежуточными буферами.
    • Если при рендеринге используются составные изображения (Композитные изображения), разрешение экрана имеет значение, поскольку каждое составное изображение представляет собой изображение размером с экран. Составные HDR-изображения, визуализируемые в больших окнах, наверняка могут занять некоторое количество памяти, поэтому, возможно, здесь можно немного сэкономить.
    • Если для рендеринга требуется слишком много геометрий, включение рендеринга в режиме немедленного просмотра может привести к разгрузке памяти графического процессора. Подробнее см. ниже.
    • Если в какой-то момент есть ожидающие обработки бесполезные геометрии, их можно удалить из графического процессора. См. все подробности ниже.

    Включение рендеринга геометрии в немедленном режиме

    С помощью параметра RED::OPTIONS_IMMEDIATE_MODE можно настроить REDsdk для рендеринга геометрии с использованием графики OpenGL старого стиля посредством вызовов режима немедленной обработки. Каждая геометрия будет обрабатываться ЦП с использованием последовательностей glBegin(), glVertex(.), glEnd(). Это сильно замедляет рендеринг, но в этом случае видеопамять не задействуется при рендеринге геометрии.

    REDsdk может решить для каждого материала, использовать ли рендеринг в режиме немедленного режима или нет. Это определяется как параметром, так и вызовом RED::IMaterial::SetImmediateMode.

    Сброс геометрии из графического процессора

    Этот механизм можно использовать для уменьшения объема видеопамяти, используемой геометрией на графическом процессоре. Иногда может быть полезно, чтобы приложение хранило геометрию вне какого-либо графа сцены: подумайте о геометрии, которую необходимо визуализировать при определенном событии, или о геометрии, которая была предварительно загружена, но еще не отображена. По умолчанию REDsdk загружает все эти геометрии в графический процессор, чтобы они были готовы к рисованию после привязки к камере через граф сцены. Таким образом, загруженная геометрия будет использовать видеопамять, даже если она еще не обработана.

    Можно удалить геометрию из графического процессора, вызвав RED::IShape::RemoveFromGPU. Удаленные геометрические объекты не будут занимать видеопамять до тех пор, пока они не будут снова отрендерены после повторной привязки к отображаемому графу сцены.

    Инструменты анализа памяти

    Классы RED::MemoryAllocator и RED::MemoryLeakTracker можно использовать для поиска нежелательных выделений памяти или для получения глобальной статистики по памяти, используемой REDsdk в какой-то момент жизни приложения.

    Накладные расходы на драйвер оборудования

    Драйвер OpenGL, предоставляемый поставщиками оборудования, также использует часть памяти. Это может быть проблемой для аппаратных или гибридных приложений REDsdk. Спецификация OpenGL обязывает драйвер OpenGL сохранять копию данных, которыми он управляет, чтобы он мог выполнять подкачку с помощью графического процессора, когда это необходимо, или чтобы он мог отвечать на запросы обратно к вызывающему приложению. Об этом использовании памяти следует помнить при установлении глобального объема памяти приложения. Хотя это и не является частью самого приложения, оно имеет эффект.

    Уменьшение памяти данных на графическом процессоре

    Объем данных, загружаемых в движок, может стать критическим для больших наборов данных, которые должны учитывать миллионы треугольников для рендеринга одного кадра. Если мы рассмотрим простой набор данных с вершинами, нормалями и набором UV-координат, основной объем памяти, который он будет иметь на GPU, будет примерно соответствовать следующему уравнению:

    АтрибутРазмер в байтах
    Вершина12 байт (координаты вершины) +
    12 байт (нормальные координаты) +
    8 байт (значения UV).
    Треугольник12 байт (индексы для P0, P1 и P2).
    Сумма44 байта.

    Итак, если мы предположим, что наша структура данных представляет собой примерно 1 вершину для 1 треугольника (модели с твердыми телами, такие как модели САПР, будут использовать меньше вершин, модели со многими поверхностями будут использовать больше вершин, но в среднем мы считаем, что это соотношение является хорошей отправной точкой), мы можем хранить следующие наборы данных для данной видеопамяти ниже:

    ВидеопамятьКоличество треугольников
    128 Мб2,9 миллиона< /td>
    256 Мб5,8 млн
    512 Мб11,6 млн< /td>
    1 Гб23 миллиона

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

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

    Redsdk можно точно настроить, чтобы уменьшить объем памяти, используемый загружаемыми данными, двумя способами:

    • Изменить точность нескольких каналов данных,
    • Используйте сетки ограниченного размера.

    Уменьшение точности геометрических каналов

    Многим приложениям не нужны каналы с полной точностью, поскольку они визуализируют большие наборы данных в режиме реального времени и не используют высококачественные шейдеры. Следовательно, мы можем сэкономить много памяти за счет снижения точности наших входных каналов. Мы рассмотрим пример нормалей. Обычно нормали загружаются с использованием 3 поплавков. Мы можем загрузить их, используя беззнаковый байт (см. список поддерживаемых аппаратных средств для форматов каналов ниже) после переназначения их значений:

    Затем можно использовать пару вершинных и пиксельных программ для декодирования этих параметров:

    Потеря качества в результате такого сжатия практически незаметна для большинства моделей. Затем это уменьшает стоимость вершины с 44 до 36 байтов, экономя 8 байтов на вершину (нам нужно поддерживать 4 байта без знака на вершину для выравнивания памяти, иначе производительность упадет!).

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

    В большинстве случаев тот же метод можно применить к UV-развертке. Если UV ограничены — что бывает очень часто — тогда мы можем снова рассмотреть возможность использования коротких значений или байтов без знака, чтобы уменьшить объем памяти, занимаемой одной вершиной данных.

    Уменьшение пробела в индексе треугольника

    REDsdk использует внутреннюю неявную оптимизацию для всех сеток, имеющих менее 65 536 вершин. Массивы индексов загружаются с использованием (unsigned short) значений на GPU, а не с использованием значений (int). Это может разделить объем памяти, хранящийся в индексах, на 50%.

    Читайте также: