Настройка видеокарты Nvidia для игр
Привет всем! Сегодня очень интересная статья о тонкой настройке видеокарты для высокой производительности в компьютерных играх. Согласитесь друзья, что после установки драйвера видеокарты вы один раз открыли «Панель управления Nvidia» и увидев там незнакомые слова: DSR, шейдеры, CUDA, синхроимпульс, SSAA, FXAA и так далее, решили туда больше не лазить. Но тем не менее, разобраться во всём этом можно и даже нужно, ведь от данных настроек напрямую зависит производительность вашей видеокарты. Существует ошибочное мнение, что всё в этой мудрёной панели настроено правильно по умолчанию, к сожалению это далеко не так и опыты показывают, правильная настройка вознаграждается весомым увеличением кадровой частоты. Так что приготовьтесь, будем разбираться в потоковой оптимизации, анизотропной фильтрации и тройной буферизации. В итоге вы не пожалеете и вас будет ждать награда в виде увеличения FPS в играх.
Темпы развития игрового производства с каждым днем набирают все больше и больше оборотов, впрочем, как и курс основной денежной единицы в России, а поэтому актуальность оптимизации работы железа, софта и операционной системы резко повысилась.
Держать своего стального жеребца в тонусе за счет постоянных финансовых вливаний не всегда удается, поэтому мы с вами сегодня и поговорим о повышении быстродействия видеокарты за счет ее детальной настройки. В своих статьях я неоднократно писал о важности установки видеодрайвера, поэтому шаг со скачиванием и его установкой, думаю, можно пропустить. Я уверен, все вы прекрасно знаете, как это делать, и у всех вас он давно уже установлен.
Итак, для того, чтобы попасть в меню управления видеодрайвером, кликайте правой кнопкой мыши по любому месту на рабочем столе и выбирайте в открывшемся меню «Панель управления Nvidia».
После чего, в открывшемся окне переходите во вкладку «Управление параметрами 3D».
Здесь мы с вами и будем настраивать различные параметры, влияющие на отображение 3D картинки в играх. Не трудно понять, что для получения максимальной производительности видеокарты придется сильно порезать изображение в плане качества, так что будьте к этому готовы.
Итак, первый пункт «CUDA – графические процессоры». Здесь представлен список видеопроцессоров, один из которых вы можете выбрать, и он будет использоваться приложениями CUDA. CUDA (Compute Unified Device Architecture) – это архитектура параллельных вычислений использующаяся всеми современными графическими процессорами для увеличения вычислительной производительности.
Следующий пункт «DSR — Плавность» мы пропускаем, потому что он является частью настройки пункта «DSR — Степень”, а его в свою очередь нужно отключать и сейчас я объясню почему.
DSR (Dynamic Super Resolution) – технология позволяющая рассчитывать картинку в играх в более высоком разрешении, а затем масштабирующая полученный результат до разрешения вашего монитора. Для того чтобы вы поняли для чего эта технология вообще была придумана и почему она не нужна нам для получения максимальной производительности, я попробую привести пример.
Наверняка вы часто замечали в играх, что мелкие детали, такие как трава и листва очень часто мерцают или рябят при движении. Связано это с тем, что, чем меньше разрешение, тем меньше число точек выборки для отображения мелких деталей. Технология DSR позволяет это исправить за счет увеличения числа точек (чем больше разрешение, тем больше число точек выборки). Надеюсь, так будет понятно. В условиях максимальной производительности эта технология нам не интересна так, как затрачивает довольно много системных ресурсов. Ну а с отключенной технологией DSR, настройка плавности, о которой я писал чуть выше, становится невозможна. В общем, отключаем и идем дальше.
Далее идет анизотропная фильтрация. Анизотропная фильтрация – алгоритм компьютерной графики, созданный для улучшения качества текстур, находящихся под наклоном относительно камеры. То есть при использовании данной технологии текстуры в играх становятся более четкие. Если сравнивать антизотропную фильтрацию со своими предшественниками, а именно с билинейной и трилинейной фильтрациями, то анизотропная является самой прожорливой с точки зрения потребления памяти видеокарты.
Данный пункт имеется только одну настройку – выбор коэффициента фильтрации. Не трудно догадаться, что данную функцию необходимо отключать.
Следующий пункт – вертикальный синхроимпульс. Это синхронизация изображения с частотой развертки монитора. Если включить данный параметр, то можно добиться максимально плавного геймплея (убираются разрывы изображения при резких поворотах камеры), однако зачастую возникают просадки кадров ниже частоты развертки монитора. Для получения максимального количества кадров в секунду данный параметр лучше отключить.
Заранее подготовленные кадры виртуальной реальности. Функция для очков виртуальной реальности нам не интересна, так как VR еще далека до повседневного использования обычных геймеров. Оставляем по умолчанию – использовать настройку 3D приложения.
Затенение фонового освещения. Делает сцены более реалистичными за счет смягчения интенсивности окружающего освещения поверхностей, которые затенены находящимися рядом объектами.
Функция работает не во всех играх и очень требовательна к ресурсам. Поэтому сносим ее к цифровой матери.
Кэширование шейдеров. При включении данной функции центральный процессор сохраняет скомпилированные для графического процессора шейдеры на диск. Если этот шейдер понадобится еще раз, то GPU возьмет его прямо с диска, не заставляя CPU проводить повторную компиляцию данного шейдера. Не трудно догадаться, что если отключить этот параметр, то производительность упадет.
Максимальное количество заранее подготовленных кадров. Количество кадров, которое может подготовить ЦП перед их обработкой графическим процессором. Чем выше значение, тем лучше.
Многокадровое сглаживание (MFAA). Одна из технологий сглаживания используемая для устранения «зубчатости” на краях изображений. Любая технология сглаживания (SSAA, FXAA) очень требовательна к графическому процессору (вопрос лишь в степени прожорливости).
Выключаем.
Потоковая оптимизация. Благодаря включению этой функции приложение может задействовать сразу несколько ЦП. В случае, если старое приложение работает некорректно попробуй поставить режим «Авто” или же вовсе отключить эту функцию.
Режим управления электропитанием. Возможно два варианта – адаптивный режим и режим максимальной производительности. Во время адаптивного режима энергопотребление зависит напрямую от степени загрузки ГП. Этот режим в основном нужен для снижения энергопотребления. Во время режима максимальной производительности, как не трудно догадаться, поддерживается максимально возможный уровень производительности и энергопотребления независимо от степени загрузки ГП. Ставим второй.
Сглаживание – FXAA, Сглаживание – гамма-коррекция, Сглаживание – параметры, Сглаживание – прозрачность, Сглаживание — режим. Про сглаживание я уже писал чуть выше.
Выключаем всё.
Тройная буферизация. Разновидность двойной буферизации; метод вывода изображения, позволяющий избежать или уменьшить количество артефактов (искажение изображения). Если говорить простыми словами, то увеличивает производительность. НО! Работает эта штука только в паре с вертикальной синхронизацией, которую, как вы помните, мы до этого отключили. Поэтому этот параметр тоже отключаем, он для нас бесполезен.
Ускорение нескольких дисплеев/смешанных ГП. Настройка определяет дополнительные параметры для OpenGL при использовании нескольких дисплеев и нескольких видеокарт. Один дисплей – режим однодисплейной производительности соответственно. Два и более – многодиспленая производительность (или же режим совместимости в случае возникновения некорректной работы приложений). Две и более видеокарты – режим совместимости.
Фильтрация текстур – анизотропная оптимизация фильтрации.
Включение опции приведет к небольшому ухудшению картинки и увеличению производительности, что нам как раз и нужно.
Фильтрация текстур – качество. Позволяет управлять технологией Intellisample. Это технология предназначена для улучшения качества сглаживания сцен с частично прозрачными текстурами. Выкручиваем на минимум, то есть ставим режим высокой производительности.
Фильтрация текстур – отрицательное отклонение уровня детализации. Технология позволяющая изображать текстуры в приложениях более контрастно.
Для повышения производительности рекомендуется включить.
Фильтрация текстур – трилинейная оптимизация. Включение данной опции позволяет драйверу снижать качество трилинейной фильтрации для повышения производительности.
На этом настройка видеодрайвера Nvidia на производительность подошла к концу. После всех проделанных операций прирост кадров в секунду вас сильно обрадует.
Тесты я специально не стал прикреплять, потому что эффективность настройки напрямую зависит от модели видеокарты. Кому-то настройка принесет те недостающие 10-15 FPS, а кому-то 30-40. На этом я с вами прощаюсь и желаю покорения всех виртуальных вершин!
Статьи по этой теме:
- Как увеличить кадровую частоту (FPS) в играх
- Разгон видеокарты Nvidia
- Как включить NVIDIA Freestyle
- Как сравнивать видеокарты
Опции конфигурации для Render Studio
Опции конфигурации для Render Studio
advanced_rendering_mode
auto*, gpu, cpu
Задает режим рендеринга в реальном времени. Выбор любой из опций вступает в силу в следующей сессии.
auto — выполняет рендеринг Studio в режиме графического процессора (ГП), если оборудование системы поддерживает его, в противном случае запускает приложение в режиме ЦП.
gpu — выполняет рендеринг Studio в режиме ГП и позволяет устранять шумы в режиме рендеринга в реальном времени.
cpu — выполняет рендеринг Studio в режиме ЦП, даже если оборудование может запустить приложение в режиме ГП.
blended_transparency
independent*, yes, no
independent — предоставляет эффект прозрачности, независимой от порядка высокого качества для модели. Этот эффект обеспечивается графическими картами с аппаратным ускорением.
yes — предоставляет эффект смешанной прозрачности низкого качества для модели. Этот эффект обеспечивается программной обработкой, и для его проявления требуется больше времени.
default_scene_filename
<path to scene file>
Определяет полный путь к файлу сцены по умолчанию. Эта опция позволяет пользователю заранее задать настройки освещения, комнат и эффектов для моделирования. Определенные пользователем настройки сохраняются в файле сцены, на который указывает эта опция конфигурации.
denoise_render
yes, no*
Задает эффект подавления шумов перед началом процесса рендеринга в реальном времени. При необходимости можно по-прежнему включать и выключать эффект подавления шумов. Выбор любой из опций вступает в силу в текущей сессии.
yes — включает подавление шумов при запуске рендеринга в реальном времени.
no — выключает подавление шумов при запуске рендеринга в реальном времени.
enable_opengl_shader
yes*, no
Задает графическую среду и ее возможности при использовании ускоренного графического оборудования OpenGL. Если установить для этой опции конфигурации значение yes, активируются следующие расширенные возможности OpenGL:
• Освещение HDRI
• Эффект объемного света
• Эффект независимой от порядка прозрачности
• Отображение усовершенствованных материалов, таких как металл, керамика и резина, в режиме Закраска с отражениями (Shading With Reflections)
enable_ambient_occlusion
yes*, no
Позволяет задать опцию по умолчанию для отображения эффекта объемного света во время рендеринга в реальном времени в начале сессии Creo Parametric.
yes: отображается эффект объемного света. Объемный свет моделирует эффект света из реальной модели посредством затемнения закрытых областей.
no: эффект объемного света не отображается.
enable_transparent_text_bg
yes, no*
Yes — отображение текста с прозрачным фоном.
No — отображение текста с непрозрачным фоном.
graphics_library_dir
Valid path
Позволяет задать другое расположение для папки graphic-library. Эта папка, содержащая системные библиотеки для сцен и образов, доступна по умолчанию в папке <loadpoint>. Чтобы изменить расположение этой библиотеки, задайте для опции graphics_library_dir нужную папку. Например, если папка graphic-library доступна в C:\ptc\graphiclib\graphic-library, задайте для graphics_library_dir значение C:\ptc\graphiclib.
Папка graphic-library должна содержать следующие вложенные папки.
• textures — для системных библиотек редактора размещения образов с файлами изображений.
• materials — для системных библиотек инструментов Коллекция образов (Appearance Gallery) и Диспетчер образов (Appearances Manager) с файлами образов (.dmt), организованными во вложенные папки на основе классов образов.
• adv_material — содержит расширенные библиотеки образов, которые организованы в виде подкаталогов на основании классов образов.
• HDRI — папка с файлами HDRI (.hdr).
• scenes — для галереи по умолчанию (.scn) для вкладки Сцена (Scene) в диалоговом окне Сцены (Scenes).
max_image_dimension
4096*, 1024, 2048, 8192, 16348
Задает максимальный размер изображений, импортируемых в среду Creo Parametric. Например, если значение по умолчанию равно 4096, то изображения, размер которых больше этого значения, при импорте масштабируются до размера 4096. Creo Parametric сохраняет отношение сторон изображения во время изменения масштаба.
pro_colormap_path
Valid path
Задает путь для файлов appearance.dmt или файлов color.map, загружаемых с диска. По умолчанию файлы appearance.dmt, указанные в опции конфигурации pro_colormap_path, при загрузке обладают приоритетом перед файлами, указанными в опции color.map.
|
|
Файлы, указанные в опции color. |
save_scene_with_file
yes, no*
yes: обновляет модель с учетом всех изменений, внесенных в активную сцену, при каждом сохранении модели.
no: не обновляет модель с учетом изменений, внесенных в сцену, когда бы ни сохранялась модель.
|
|
Если для опции конфигурации save_scene_with_file задано значение yes, флажок Сохранить сцену с моделью (Save scene with model) в диалоговом окне Scenes остается установленным для сеанса. Снимите этот флажок, если не нужно сохранять сцену с моделью. |
save_texture_with_model
yes, no*
yes: сохраняет изображения текстуры, примененные к модели или к стенкам комнаты, с моделью и сценой.
После сохранения модели или сцены файл текстуры можно удалить.
no: при сохранении модели или сцены не сохраняет изображения текстуры, примененные к модели или к стенкам комнаты.
|
|
• Если для опции конфигурации save_texture_with_model задано значение no, с моделью сохраняется только имя текстуры. В этом случае, при загрузке модели или сцены, текстуры видны с моделью, только если файл текстуры существует в наборе папок, заданных опцией конфигурации texture_search_path. • Задание для опции конфигурации save_texture_with_model значения yes приводит к заметному увеличению размера файлов моделей или сцен, сохраняемых вместе с текстурами. Кроме того, изменения, внесенные в независимые файлы текстуры, не отражаются в соответствующих текстурах, сохраняемых с моделями или сценами. |
shade_quality
3*
Позволяет определить, как много поверхности можно выделить для закраски.
Более высокое значение качества закраски обеспечивает большую гладкость и детализацию поверхности модели. Можно установить значение качества закраски в диапазоне 1-50. Значение качества закраски по умолчанию — 3.
show_persp_type_om
yes, no*
yes — отображать типы перспективы в диалоговом окне Вид (View).
no* — не отображать типы перспективы в диалоговом окне Вид (View).
spherical_map_size
256×256*, 512×512, 1024×1024
Выбирает разрешение изображения карты окружения, используемое для рендеринга в реальном времени. Увеличение разрешения изображения влияет на быстродействие, но повышает качество.
|
|
Эта опция допустима только в графическом режиме OpenGL и для графических карт, которые не поддерживают кубическую карту окружения. |
suppress_appearance_message
yes, no*
При открытии сборок или деталей, созданных в Pro/ENGINEER Wildfire 4.0 или более ранних версий, появляется сообщение, что образы в этих моделях будут преобразованы в новый формат Creo Parametric. Чтобы отключить это сообщение, установите для опции настройки suppress_appearance_message значение yes. По умолчанию используется значение no, при котором сообщение отображается.
texture_search_path
Valid path
Добавляет папку в путь поиска текстур. Можно задать несколько папок.
window_gamma
<float>
Управляет яркостью изображения, для которого выполняется рендеринг. Значения меньше 1 делают изображение темнее. Значения больше 1 делают изображение светлее. Значение по умолчанию равно 1,0.
Детерминированный рендеринг OpenGL между поставщиком графического процессора
спросил
Изменено 11 лет, 3 месяца назадПросмотрено 1к раз
В настоящее время я программирую научное приложение для визуализации с использованием OpenGL.
Я хотел бы знать, должен ли рендеринг OpenGL (с точки зрения извлеченного пикселя из FBO) быть полностью детерминированным, когда мой код (C++ / OpenGL и простой GLSL) выполняется на другом оборудовании (ATI против NVidia, различные поколения NVidia и различные ОС)?
Точнее, мне нужно точно таких же пикселей каждый раз, когда я запускаю свой код на любом оборудовании (которое может работать с базовыми GLSL и OpenGL 3.0)…
Возможно ли это? Есть ли какой-то совет, который я должен учитывать?
Если это невозможно, есть ли видеокарта определенной марки (возможно, Quadro?), которая могла бы это делать при изменении хост-ОС?
- opengl
- рендеринг
- инварианты
1
Из спецификации OpenGL (версия 2.1, приложение A):
Спецификация OpenGL не является точной в отношении пикселей. Следовательно, это не гарантирует точного соответствия между изображениями, созданными разными реализациями GL.
Однако в некоторых случаях в спецификации указаны точные совпадения для изображений, созданных одной и той же реализацией.
Если вы отключите все сглаживание и текстурирование, у вас будет хороший шанс получить согласованные результаты на разных платформах. Однако, если вам нужно сглаживание или текстурирование или 100%-ная гарантия пиксельной точности, используйте только программный рендеринг: http://www.mesa3d.org/
2
Под «Детерминистическим» я предполагаю, что вы имеете в виду то, что вы сказали (а не то, что это слово на самом деле означает): что вы можете получить одинаковые по пикселям результаты на разных платформах.
Нет. Ни за что.
Вы можете изменить результаты рендеринга в пикселях, просто играя с настройками в приложении графического драйвера. Версии драйверов для одного и того же оборудования могут изменить то, что вы получаете.
Спецификация OpenGL имеет и никогда не требовали идеального результата до пикселя.
Сглаживание и фильтрация текстур особенно туманны.
Если вы прочитаете спецификацию OpenGL, то увидите, что существует ряд детерминированных условий, которые должны быть выполнены для того, чтобы реализация соответствовала стандарту, но есть также значительное количество деталей реализации, которые полностью оставлены на усмотрение. поставщик оборудования/разработчик драйверов. Если вы не выполняете рендеринг с невероятно простыми методами, которые подпадают под категории детерминированных/инвариантных (что, как я полагаю, удержит вас от использования фильтрованного текстурирования, сглаживания, освещения, шейдеров и т. д.), стандарт допускает довольно значительные различия между различным оборудованием и даже разными драйверами. на том же оборудовании.
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Пользовательский рендеринг с использованием графического процессора, Direct3D или OpenGL
У меня есть приложение Windows, которое в настоящее время обрабатывает графику в основном с использованием MFC, и я хотел бы изменить его, чтобы лучше использовать возможности графического процессора.
Большая часть графики проста и может быть легко встроена в граф сцены, но некоторые графики могут оказаться очень сложными. В частности, в дополнение к обычным объектам типа сетки я также имею дело с облаками точек, которые могут содержать миллиарды декартовых координат, хранящихся в очень компактном виде, которые используют довольно много пользовательских методов отбраковки для отображения в реальном времени (пример ). Что мне нужно, так это механизм, который выполняет большую часть рендеринга сцены в буфер, а затем предоставляет мне доступ к этому буферу, z-буферу и параметрам камеры, чтобы я мог изменять их перед выводом на дисплей. Мне интересно, возможно ли это с Direct3D, OpenGL или, возможно, с использованием инфраструктуры более высокого уровня, такой как OpenSceneGraph, и что было бы лучшей отправной точкой? Учитывая, что программное обеспечение основано на Windows, я, вероятно, предпочту использовать Direct3D, так как это, вероятно, приведет к наименьшему количеству проблем с драйверами, которых я стремлюсь избежать.
OpenSceneGraph, кажется, обеспечивает индивидуальную отбраковку с помощью октодеревьев, которые близки, но не идентичны тому, что я использую.
Редактировать: Чтобы уточнить немного больше, в настоящее время у меня есть следующее;
Список отображения/сцена в памяти, которая обычно содержит до нескольких миллионов треугольников, линий и фрагментов текста, которые я отбраковываю в программном обеспечении и вывожу в растровое изображение, используя низкопроизводительные примитивы рисования
Облако точек в памяти, которое может содержать миллиарды точек в сильно сжатом формате (~4,5 байта на трехмерную точку), которые я отбрасываю и вывожу в одно и то же растровое изображение
Информация о курсоре, которая добавляется к растровому изображению перед выводом
Камера, z-буфер и буферы атрибутов для навигации и выбора
Медленный бит — это выделенная часть раздела 1, которую я хотел бы заменить каким-либо видом графического рендеринга.
Решение, которое я вижу, состоит в том, чтобы создать сцену для графического процессора, визуализировать ее в растровое изображение (с соответствующим z-буфером) на основе моих текущих параметров камеры, а затем добавить мое облако точек перед выводом.
В качестве альтернативы я мог бы перейти к платформе на основе сцен, которая управляла бы камерами и навигацией для меня и предоставляла точки обзора в виде сфер или пятен на основе объема и уровня детализации во время цикла рендеринга. В этом сценарии мне также нужно иметь возможность добавлять информацию о курсоре в представление.
В любом случае приложением размещения будет MFC C++ на основе VS2017, изменение которого потребует слишком много усилий для целей этого упражнения.
- визуализация
- direct3d
- openscenegraph
Трудно сказать точно, исходя из вашего описания сложной проблемы.
OSG, вероятно, может сделать то, что вы ищете.
В зависимости от ваших временных рамок я бы рассмотрел возможность отказа от OpenGL (OSG) и DirectX в пользу более нового Vulkan 3D API.
map, используются в качестве файлов образов в версиях, предшествующих выпуску Pro/ENGINEER Wildfire.
Однако в некоторых случаях в спецификации указаны точные совпадения для изображений, созданных одной и той же реализацией.