Настройки "глобальных параметров" драйвера для видеокарт NVidia. Настройки драйвера


Настройки "глобальных параметров" драйвера для видеокарт NVidia - Rig'n'Roll

Anisotropic filtering (Анизотропная фильтрация) - ставим значение Application-controlled (Управление от приложения). Проверьте значение в самом приложении. Желательно не более 8х.

Анизотропная фильтрация нужна для повышение четкости изображения 3д объектов относительно камеры (персонажа, машины и т.д). Выставляем значение Application-controlled (Управление от приложения) - это означает, что приложение будет автоматически выбирать нужный режим анизотропной фильтрации или же фильтрация управляется в самом приложении (программе, игре), чем выше значение фильтрации, тем четче будет изображение. На производительность практически не влияет.

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

Antialising - Gamma correction (Сглаживание - гамма- коррекция) - ставим значение On (Вкл)

  "Сглаживание гамма коррекции" сглаживает гамму при переходе от светлого тона к темному или же наоборот. Включение дает возможность сглаживать моменты, например, при "свечении" лица персонажа в лучах света (прямой пример игра Devil May Cry 4 с отличной игрой светлый и темных тонов). На производительность не влияет.

Antialising Mode (Сглаживание - режим) - ставим значение Application-controlled (Управление от приложения)

Очень важный параметр, включения режима сглаживания дает возможность избавления от эффекта лесенок на трехмерном объекте. Выставляем значение Application-controlled (Управление от приложения). - это означает что приложение будет автоматически выбирать нужный режим сглаживания или же сглаживание будет управляется в самом приложении (программе, игре), чем выше значение сглаживание, тем меньше эффекта лесенок будет изображение, тем ниже будет производительность приложения, тем меньше будет кадров в секунду. На производительность влияет негативно.  Для каждого приложения данный параметр можно настроить отдельно (вкладка программные настройки), при этом вам станет доступен пункт Antialising Setting (Сглаживание - параметры), где вы сможете вручную задать уровень сглаживания от 2х до 16х. Даже если приложение не поддерживает сглаживание, это будет делать за него сам драйвер видеокарты.

Anti-aliasing Setting (Сглаживание - параметры) - автоматическое значение Application-controlled (Управление от приложения). Проверьте значение в самом приложении. Желательно не более 4х.

  При включении предыдущего пункта Anti-aliasing Mode (Сглаживание - параметры) - Application-controlled (Управление от приложения) текущее значение будет неактивно, активно лишь в том случае если значение Anti-aliasing Mode (Сглаживание - параметры) - Enhance the application setting) (Замещение настроек приложения или увеличение настроек приложения).   Для каждого приложения данный параметр можно настроить отдельно (вкладка программные настройки), получив более высокое качество, если приложение не поддерживает или некорректно обрабатывает Anti-aliasing (сглаживание). Читайте пункт выше.

  Anti-aliasing - Transparency (Сглаживание - прозрачность) ставим значение Off (Выкл)

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

Conformant texture clamp (Соответствующая привязка текстуры) - параметр Use hardware (Используются аппаратные средства)

  Как видно из названия выбор метода текстурирования, конечно же оптимальным в качестве и производительности выбираем на уровни железа - Use hardware (Используются аппаратные средства) - что естественно производительней чем софтвенный (программный) режим.

Error reporting (Сообщения об ошибках) - значение Off (Выкл)

  Бессмысленный параметры, включение которого дает возможность при случае ошибки драйвера отправлять все данные о ошибке и конфигурацию ПК разработчикам NVidia.   (Один из бессмысленных параметров, выключение которого позволит сделать безлимитный доступ драйверу к коду приложения при обработке графики, естественно все ограничения снимаем значением Off (Выкл))

Force mipmaps (Включение масштабируемых текстур) - значение None (Нет)

Устаревшие значение работы 3д приложений. Отключаем так как приложения уже не используют данный метод, значение - None (Нет).

Maximum pre-render frames (Максимальное количество заранее подготовленных кадров) - значение 1 или 2 (выбирайте в зависимости от мощности вашего ЦП)

  Максимально количество кадров после первого, которые может подготовить ЦП, для дальнейшей обработки ГП видеокарты. При одном кадре, от 1 до 8 кадров будут подготавливаться на перед, загружаться в память, нагружая ваш ЦП во время подготовки этих кадров. Ставим значение 1 или 2, это позволит капитально увеличить скорость обработки графики в реальном времени. Кол-во кадров выберете сами, но все же рекомендую не более 3. Ориентируйтесь исходя из мощность вашего ЦП (центральный процессор, не путайте с ГП - графическим процессором).

Multi-display/mixed - GPU acceleration (Ускорение нескольких дисплеев/смешанных ГП)- значение Single display performance mode (Режим однодисплейной производительности)

  Проще говоря, если выставлен режим Multi display performance mode (Режим многодисплейной производительности) - то графический процессор (ГП) вашей видеокарты отрисовывает изображение для обоих портов видеокарты. А если выставлен режим Single display performance mode (Режим однодисплейной производительности), то сигнал будет идти только на один из портов.    Так что если у вас одна видеокарта и один монитор, то ставьте в обязательном порядке Single display performance mode (Режим однодисплейной производительности).   Заметьте, что когда вы установили новые драйвера на видеокарту, по умолчанию стоит режим Multi display performance mode (Режим многодисплейной производительности) это означает ,что будь у вас два монитора, то подключив его к второму видеовыходу на него тоже бы шел рендеринг изображения. Теряется производительность где то на 5-15%. В общем режим Single display performance mode (Режим однодисплейной производительности) повышает производительность за счет рендеринга на один видеовыход). Увеличивает производительности в 3д приложениях.

Texture filtering - Anisotropic sample optimization (Фильтрация Текстур - анизотропная оптимизация по выборке ) - значение Off (Выкл)

  Фильтрация текстур - Анизотропная оптимизация, данный параметр выставляется значением Off, так как данный параметр увеличивает производительность в 3D приложениях за счет ухудшения конечной картинки при рендеринге видеокартой. Но так как мы стремимся к скорости без потери качества, то нам этот параметр не нужен. (Если в параметре Texture filtering (Фильтрация текстур - качество) выставлено - Hight quality (Высокое качество), то данный параметр будет неактивен, выключен.)

Texture filtering - Negative LOD bias (Фильтрация текстур - отрицательное отклонение УД) - значение Clamp (Привязка)

  Фильтрация текстур с использованием негатива с масштабируемым уровнем детализации, выставляем значение Clamp (Привязка), что позволит оптимизировать текстурные процедуры путем привязки. Это позволит получить дополнительные 2-3 ФПС в производительности рендеринга, без потери качества. Увеличивает производительности в 3д приложениях.

Texture filtering (Фильтрация текстур - качество) - значение Quality (Качество) или Hight quality (Высокое качество). (Выбирайте в зависимости от мощности вашей видеокарты)

  Фильтрация текстур, позволяет улучшить качество картинки, четкость изображения без понижения производительности в рендеринге, соответственно ставим значение Hight quality (Высокое качество). На производительность практически не влияет.

Texture filtering - Trilinear optimization (Фильтрация текстур - трилинейная оптимизация) - значение Off (Выкл)

  Фильтрация текстур - трилинейная оптимизация, данный параметр выставляется значением Off, если параметр Texture filtering - Quality (Фильтрация текстур - качество) стоит на значении High quality (Высокое качество), то данный параметр будет неактивен.    О параметре Texture filtering - Trilinear optimization (Фильтрация текстур - трилинейная оптимизация) хочу отметить, что он увеличивает производительность в 3д приложениях за счет ухудшения конечной картинки при рендеринге видеокартой. Но так как мы стремимся к скорости без потери качества, то нам этот параметр не нужен, к тому же Trilinear filtering (Трилинейная фильтрация) намного старше и у неё есть свои минусы, так же как и у двулинейной (билинейной) фильтрации. Тем более Anisotropic filtering (Анизотропная фильтрация) "практически" включает в себя оба этих метода фильтрации текстур с некоторой доработкой.

Threaded optimization (Потоковая оптимизация) - значение On (Вкл). (Включайте только если у вас многоядерный процессор, если нет, поставьте "Авто")

  Оптимизация драйвера видеокарты под многоядерные процессоры, лакомый кусочек для обладателей 2х - 4х ядерных процессоров. По умолчание значение стоит Auto (Авто), но судя по проведенным тестам в приложениях автоматически выставлялось Off (Выкл), но так как мы стремимся увеличить производительность, то выставляем значение On (Вкл). Увеличивает производительности в 3д приложениях.

Triple buffering (Тройная буферизация) - значение Off (Выкл)

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

Vertical sync (Вертикальный синхроимпульс - значение Force off (Отключить)

  Вертикальная синхронизация кадров, через вертикальный синхроимпульс синхронизируется количество кадров в секунду с частотой обновления вашего монитора, тем самым убирая некий эффект "разрыва картинки" (на экране это будет выглядеть, например, при резком повороте камеры, будто верхняя часть экрана чуть уехала в сторону, по отношению к нижней), при быстрой смене кадров. При этом, за частую сильно падает FPS (кол-во кадров в секунду), оно не столь значительно падает, только если у вас монитор обновляется с частотой выше 100-120 Гц в секунду, но даже при такой частоте все равно FPS снижается на 10-15%. Ставим значение Off (Выкл), тем самым отключая ненужную вертикальную синхронизацию. На производительность влияет негативно.

Ambient occlusion - Значение "Выкл"

   Ambient occlusion - модель затенения, используемая в трёхмерной графике и позволяющая добавить реалистичности изображению за счёт вычисления интенсивности света, доходящего до точки поверхности. Ambient occlusion чаще всего вычисляется путём построения лучей, исходящих из точки поверхности во всех направлениях, с последующей их проверкой на пересечение с другими объектами.Этот процесс очень прилично нагружает видеокарту, так что смотрите сами, если видеокарта мощная, можете включить. А если нет, то лучше выключить. В целом же, на мой взгляд, не стоит этот эффект того, что поедает =) Особой разницы вы все равно не увидите, она есть, но минимальна и заметна только, если внимательно присматриваться и знать, что искать =)   

www.playground.ru

Как настроить видеокарту Nvidia? Как настроить драйверы видеокарты Nvidia?

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

как настроить видеокарту nvidia

Определение модели графики

Определить модель используемой в системе видеокарты можно разными способами. Самый простой из них:

  1. Кликам по рабочему столу правой кнопкой мышки, выбираем самый нижний пункт "Разрешение экрана".
  2. Жмем на "Дополнительные параметры".
  3. В появившемся окне будет выведена информация о видеокарте. Вкладка "Адаптер" покажет название модели.

Также точно определить модель позволит программа Aida64. Она распространяется платно в интернете, но есть и бесплатная версия с урезанными функциями. Нам бесплатная версия вполне подойдет. Скачайте ее с официального сайта и установите. Запустите, и во вкладке "Графический процессор" будет указана модель вашей карты.

как правильно настроить видеокарту nvidia

Установка правильного драйвера

Перед тем как настроить видеокарту Nvidia, обязательно нужно установить соответствующий драйвер. Мы узнали модель нашей графики, поэтому теперь сможем скачать для нее нужный драйвер. Обязательно качать его нужно с официального сайта. Где, выбрав раздел "Поддержка", необходимо кликнуть на "Драйверы". Там нужно указать "Тип продукта" (в нашем случае GeForce), операционную систему, а также серию и семейство. Все это мы знаем из названия видеокарты, которое только что определили.

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

Как настроить драйверы видеокарты Nvidia?

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

как настроить видеокарту nvidia geforce

Обычно центр управления Nvidia открывается с рабочего стола. Жмем правой кнопкой по рабочему столу и выбираем "Панель управления Nvidia". Там нам необходимо выбрать пункт "Управление 3D-параметрами". В этом разделе находятся ключевые настройки видеокарты Nvidia, такие как фильтрация текстур, буферизация, синхронизация и т. д.

Анизотропная оптимизация

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

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

Фильтрации и оптимизации

Трилинейная оптимизация - эту опцию нужно установить на значение "Выкл". Ее выключение позволяет драйверу понижать качество трилинейной фильтрации, и это оказывает хорошее влияние на увеличение производительности. Данная фильтрация представляет собой более совершенный вариант билинейной. Но отключение этой опции скажется на визуальной составляющей игры или другого 3D-приложения.

как настроить производительность видеокарты nvidia

Также обращаем внимание на опцию "Анизотропная фильтрация". Она имеет настройку: 2x, 4x, 8x, 16x. Чем выше будет значение, тем более естественно будут выглядеть текстуры в игре. Но, как уже поняли, более высокое значение предполагает больший ресурс графики.

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

В опции "Фильтрация текстур" будут доступны варианты выбора "Качество" и "Производительность". Выбираем "Производительность" - это снизит качество фильтрации текстур, но прибавит в скорости обработки.

как настроить драйверы видеокарты nvidia

Это самые основные настройки, которые позволяют добиться более высокой скорости обработки данных видеокартой. Есть и второстепенные:

  1. Вертикальный синхроимпульс - выбираем значение "Адаптивный".
  2. PhysX - ЦП.
  3. Управление электропитанием - выбираем режим для максимальной производительности.
  4. Сглаживание - выключено.
  5. Потоковая оптимизация - включено.

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

Заключение

Да, качество картинки в играх сильно упадет, но чем-то приходится жертвовать. Пользователи, которые знают, как настроить видеокарту Nvidia GeForce, никогда не отрубают все опции сразу. И вы тоже сразу не отключайте все указанные выше параметры. Испытывайте их по одному и смотрите, насколько сильно поднимается FPS в игре, исчезают ли "фризы" и "тормоза". Если после отключения двух-трех параметров вы сможете добиться нормальной работы игры без зависаний, то отключать остальные параметры в ущерб графике не стоит.

Теперь вы знаете, как правильно настроить видеокарту Nvidia, и сможете это сделать самостоятельно.

fb.ru

Путеводитель по контрольной панели драйвера NVIDIA — МИР NVIDIA

Введение

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

Главное окно панели

Главное окно представлено на иллюстрации:

Вид главного окна

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

 

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

Категория «Параметры 3D»

Регулировка изображений с просмотром

 Доступны следующие настройки:

  • Настройки согласно 3D приложению — данная опция позволяет управлять качеством и скоростью отображения средствами 3D приложений. Однако, включенные по умолчанию оптимизация трилинейной фильтрации и оптимизация выборки при анизотропии сохраняется при любых настройках приложения.
  • Расширенные настройки 3D изображений — используются расширенные настройки драйвера, установленные самими пользователями. Ссылка «Перейти» открывает доступ к вкладке «Управление параметрами 3D». Именно управление дополнительными опциями драйвера позволяет добиться максимального качества изображения.
  • Пользовательские установки с упором на…: — наиболее интересная опция, позволяющая упрощенное управление дополнительными опциями драйвера для начинающих пользователей:

Значение Производительность соответствует максимальной скорости работы и включает в себя настройки:  вертикальная синхронизация выключена, все оптимизации (оптимизация трилинейной фильтрации, оптимизация мип-фильтра при анизотропии, оптимизация выборки при анизотропии) включены, отрицательный уровень детализации: запрет отрицательного уровня — включен, фильтрация текстур — «качество», управление анизотропной фильтрацией и сглаживанием осуществляется приложениями.

Значение Баланс имеет следующие настройки: сглаживание — 2х, анизотропная фильтрация — 4х, все оптимизации (оптимизация трилинейной фильтрации, оптимизация мип-фильтра при анизотропии, оптимизация выборки при анизотропии) включены, отрицательный уровень детализации — включен, фильтрация текстур — «качество», вертикальная синхронизация — управляется приложениями.

Значение Качество имеет следующие настройки: оптимизация трилинейной фильтрации — включена, сглаживание — 4х, анизотропная фильтрация — 8х, отрицательный уровень детализации — разрешен, фильтрация текстур — «качество», вертикальная синхронизация — управляется приложениями.

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

Для более детальной настройки используется окно Управление параметрами 3D.

Управление параметрами 3D
Глобальные параметры

 

 Возможные настройки закладки Глобальные параметры :

Анизотропная фильтрация. Возможные значения — «Выкл.», «Управление от приложения», «2х—16х» (зависит от модели видеоадаптера). Анизотропная фильтрация на сегодня является самой продвинутой техникой компенсирующей искажение пикселей, а в сочетании с трилинейной фильтрацией дает наилучшее качество фильтрации. Активация любого значения кроме «Управление от приложения» позволяет игнорировать настройки приложений. Но не следует забывать, что это очень ресурсоемкая настройка, существенно снижающая производительность.

Вертикальный синхроимпульс. Возможные значения — «Вкл.» и «Выкл», «Использовать настройку 3D приложения». Под вертикальной синхронизацией (совершенно непонятно, зачем NVIDIA отошла от этого термина) понимают синхронизацию вывода изображения с частотой развертки монитора. Включение вертикальной синхронизации позволяет добиться максимально плавного изображения картинки на экране, выключение позволяет получить максимальное кол-во кадров в секунду, нередко приводя к срыву (смещению) изображения из-за того, что видеоадаптер начал прорисовку следующего кадра, тогда как еще не закончен вывод предыдущего. В силу использования двойной буферизации, включение вертикальной синхронизации может вызывать падение количества кадров в секунду и ниже частоты развертки монитора в некоторых приложениях.

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

Затенение фонового освещения. Включение технологии имитации глобального освещения (затенения) Ambient Occlusion. Традиционная модель освещения в 3D графике вычисляет вид поверхности исключительно по её характеристикам и характеристикам источников света. Объекты на пути света отбрасывают тени, но они не влияют на освещение других объектов сцены. Модель глобального освещения увеличивает реалистичность изображения, вычисляя интенсивность света, доходящего до поверхности, причем значение яркости каждой точки поверхности зависит от взаимного расположения других объектов сцены. К сожалению, честный объемный расчет затенения, вызванного объектами, расположенными на пути лучей света, все еще остается за пределами возможностей современного «железа». Поэтому была разработана технология ambient occlusion, позволяющая с помощью шейдеров рассчитывать взаимозатенение объектов в плоскости «виртуальной камеры» при сохранении приемлемой производительности, впервые использованная в игре Crysis. Данная опция позволяет применить эту технологию для изображения игр, не имеющих встроенной поддержки ambient occlusion. Каждая игра требует отдельной адаптации алгоритма, поэтому само включение опции осуществляется в профилях драйвера, а опция панели лишь разрешает использование технологии в целом. Со списком поддерживаемых игр можно ознакомиться на сайте NVIDIA. Поддерживается для графических процессоров G80 (GeForce 8X00) и новее начиная с драйвера 185.81 в Windows Vista и Windows 7. Может снизить производительность на 20-50 %. Возможные значения — «Вкл.» и «Выкл.».

Максимальное количество заранее подготовленных кадров — позволяет ограничить управлять максимальным числом подготовленных центральным процессором  кадров при отлюченном . В случае возникновения проблем с замедленной реакцией мыши или джойстика, необходимо уменьшить значение по-умолчанию (3).  Увеличение значения может помочь достижению более плавной картинки при низкой частоте кадров.

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

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

Режим управления электропитанием. Возможные значения — «Адаптивный» (по-умолчанию) и «Максимальная производительность». С видеокартами GeForce 9X00 и более новыми, имеющими разделение на режимы производительности, для создающих небольшую нагрузку на графический процессор игр и программ драйвер не переводит видеокарту в режим производительности 3D. Это поведение можно изменить, выбрав режим «Максимальная производительность», тогда при любом использовании 3D видеокарта будет переходить в 3D режим. Эти функции доступны лишь при иcпользовании драйвера 190.38 и выше в Windows Vista и Windows 7.

Сглаживание — гамма-коррекция. Возможные значения «Вкл.» и «Выкл.». Позволяет выполнять гамма-коррекцию пикселов при сглаживании. Доступна на видеоадаптерах, основанных на графическом процессоре G70 (GeForce 7X00) и новее. Улучшает цветовую гамму приложений.

Сглаживание — прозрачность. Возможные значения — «Выкл.», «Множественная выборка», «Избыточная выборка». Управляет улучшенной технологией сглаживания, позволяющей уменьшить эффект «лесенки» на краях прозрачных текстур. Обращаем ваше внимание на то, что под словосочетанием «Множественная выборка», скрывается более привычный термин «Мультисэмплинг», а под «Избыточная выборка» — «Суперсемплинг». Последний метод имеет наиболее серьезное влияние на производительность видеоадаптера. Опция работоспособна на видеокартах семейства GeForce 6x00 и новее, при использовании драйверов версии 91.45 и выше.

Сглаживание — параметры. Пункт активен только если пункт «Сглаживание — режим» установлен в значение «Увеличение настройки приложения» или «Замещение настроек приложения». Возможные значения — «Управление от приложения» (что равнозначно значению «Управление от приложения» пункта «Сглаживание — режим»), и от 2х до 16х, включая «фирменные» Q/S режимы (зависит от возможностей видеокарты). Данная установка серьезно влияет на производительность. Для слабых карт рекомендуется использование минимальных режимов. Следует отметить, что для режима «Увеличение настройки приложения» эффект будут иметь только варианты 8x, 16x и 16xQ.

Сглаживание — режим. Включение полноэкранного сглаживания изображения (FSAA). Сглаживание используется для минимизации эффекта «ступенчатости», возникающего на границах трехмерных объектов. Возможные значения:

  • «Управление от приложения» (значение по-умолчанию) — сглаживание работет, только если приложение/игра прямо его запросит;
  • «Нет» — полностью запретить использование полноэкранного сглаживания;
  • «Замещение настроек приложений» — принудительно применить к изображению сглаживание, заданное в пункте «Сглаживание - параметры», независимо от использования или неиспользования сглаживания приложением. «Замещение настроек приложений» не будет иметь эффекта на игры, использующие технологию Deferred shading, и приложения DirectX 10 и выше. Оно также может приводить к искажениям изображения в некоторых играх;
  • «Увеличение настройки приложения» (доступно лишь для видеокарт GeForce 8X00 и более новых) — позволяет улучшить сглаживание, запрашиваемое приложениями, в проблемных местах при меньших, чем при использовании «Замещения настроек приложений» затратах производительности.

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

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

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

 Ускорение нескольких дисплеев. Возможные значения — «Режим однодисплейной производительности», «Режим многодисплейной производительности» и «Режим совместимости». Настройка определяет дополнительные параметры OpenGL при использовании нескольких видеокарт и нескольких дисплеев. Панель управления назначает параметр по умолчанию. В случае проблем с работой приложений OpenGL в конфигурациях с несколькими видеокартами и дисплеями, попробуйте изменить настройку на режим совместимости.

Фильтрация текстур — анизотропная оптимизация фильтрации. Возможные значения — «Вкл.» и «Выкл.». При её включении драйвер форсирует использование точечного мип-фильтра на всех стадиях, кроме основной. Включение опции несколько ухудшает качество картинки и немного увеличивает производительность.

Фильтрация текстур. Возможные значения — «Высокое качество», «Качество», «Производительность», «Высокая производительность». Позволяет управлять технологией Intellisample. Параметр оказывает существенное влияние на качество изображения и скорость:

  • «Высокая производительность» — предлагает максимально возможную частоту кадров, что дает лучшую производительность.
  •  «Производительность» — настройка оптимальной производительности приложений с хорошим качеством изображения. Дает оптимальную производительность и хорошее качество изображения.
  •  «Качество» — стандартная установка, которая дает оптимальное качество изображения.
  • «Высокое качество» — дает наилучшее качество изображения. Применяется для получения изображений без использования программных оптимизаций фильтрации текстур.

Фильтрация текстур — отрицательное отклонение УД (уровня детализации). Возможные значения — «Разрешить» и «Привязка». Для более контрастной фильтрации текстуры в приложениях иногда используется отрицательное значение уровня детализации (LOD). Это повышает контрастность неподвижного изображения, но на движущихся объектах появляется эффект «шума». Для получения более качественного изображения при использовании анизотропной фильтрации желательно настроить опцию на «привязку», чтобы запретить отрицательного отклонение УД.

Фильтрация текстур — трилинейная оптимизация. Возможные значения — «Вкл.» и «Выкл.». Включение данной опции позволяет драйверу снижать качество трилинейной фильтрации для повышения производительности, в зависимости от выбранного режима Intellisample.

Программные настройки

Закладка имеет два поля:

Выберите программу для настройки.

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

 Укажите настройки для этой программы.

В этом поле вы можете изменить настройки для конкретного профиля приложения. Перечень доступных настроек полностью идентичен глобальным параметрам. Кнопка «Добавить» служит для добавления собственных профилей приложений. При её нажатии открывается окно проводника Windows, с помощью которого вы выбираете исполняемый файл приложения. После этого, в поле «Укажите настройки для этой программы»  вы сможете выставить персональные настройки для приложения. Кнопка «Удалить» служит для удаления профилей пользовательских приложений. Обращаем ваше внимание, что удалить/изменить изначально присутствующие профили приложений средствами драйвера нельзя, для этого придется воспользоваться сторонними утилитами, такими как nHancer.

Установка конфигурации PhysX

Позволяет включить или отключить обработку физических эффектов с использованием технологии NVIDIA PhysX средствами видеокарты, при условии что она основана на графическом процессоре G80 (GeForce 8X00) или более новом. Поддержка включена по-умолчанию,  отключение может потребоваться при решении проблем с приложениями, некорректно использующими PhysX (например, игрой Mirror`s Edge без патчей). При наличии более одного графического процессора NVIDIA в системе, пользователю предоставляется возможность выбора GPU, на котором будет происходить обработка физических эффектов, если только не используется режим SLI.  Более подробно о особенностях применения NVIDIA PhysX, вы сможете ознакомиться в специальном разделе  FAQ нашего сайта. 

Дополнительно, начиная с версии драйвера 195.62, можно включить отображение индикатора ускорения PhysX в играх. Для этого в верхнем меню «Параметры 3D» отметьте «Показать визуальный индикатор PhysX». Статус ускорения выводится в левом верхнем углу изображения.

Индикатор PhysX

 

nvworld.ru

Настройки Reference драйверов Detonator

Думаю, рассказывать владельцам продукции nVidia что такое Detonator не стоит. Для многих это слово стало синонимом слова "драйвер".

Появился он осенью 1998 года, одновременно с триумфальным чипсетом Riva TNT, и, вероятно, nVidia не предполагала делать его универсальным для всех своих будущих продуктов на несколько лет вперед. Но так уж получилось, что их новый ускоритель Riva TNT2, вышедший весной 1999 года, архитектурно совершенно не отличался от предшественника, поэтому делать отдельные драйвера для него не было никакого смысла. Отсюда, скорее всего, и появилась достаточно оригинальная идея — выпускать единый универсальный драйвер для всех продуктов сразу. Это решение дает несколько важных преимуществ. Во-первых, у пользователей не будет проблем с совместимостью. Во-вторых, это обеспечивает регулярное обновление драйверов даже для устаревших ускорителей. Ну, а в-третьих, у всех ускорителей nVidia почти совершенно одинаковые настройки. Это позволяет не проводить исследования каждого ускорителя, а лучше исследовать драйвер сразу для всех. Чему и посвящена эта статья.

Основное внимание будет уделяться последним драйверам Detonator серии 5.xx. Настройки всех версий драйверов очень схожи, поэтому почти все, сказанное о нем, будет справедливо и для остальных.

Настройки

В главном разделе драйвера можно узнать версию BIOS, количество установленной памяти (системной и локальной), процессор и другую полезную информацию. Но в нем нет никаких настроек, поэтому мы, не задерживаясь, переходим к самому интересному — Additional Properties. Это меню содержит несколько закладок: Color Correction, Overlay Color Control, Direct3D Settings, OpenGL Settings и Other Options. Рассмотрим их все по порядку.

Color Correction

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

Overlay Color Control

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

Direct3D Settings

Это настройки рендеринга через API Direct3D. Здесь мы постараемся оптимальным образом настроить все параметры для наилучшего качества и скорости.

По порядку:

Enable fog table emulation — функция табличного тумана. В основном, она пригодится для любителей старых игр, поскольку теперь эту функцию на сегодня уже мало кто использует. Тем не менее, она необходима и для некоторых совсем свежих игр. Например, в Need For Speed: Porshe Unleashed для нормальной работы необходимо, чтобы эта опция была всегда включена. В противном случае будет виден только оранжевый (или синий) экран. Поскольку падения скорости при ее включении не наблюдается, я рекомендую для наилучшей совместимости оставить ее включенной.

Adjust Z-buffer depth to rendering depth if unequal — как следует из названия, эта опция привязывает глубину Z-буфера к используемой приложением глубине цвета. В редких случаях ее отключение может помочь избавиться от артефактов. Но, на мой взгляд, не имеет никакого смысла ее выключать, поскольку глубина Z-буфера, равная глубине цвета, обычно является оптимальной. nVidia также рекомендует оставить опцию включенной.

Enable alternate depth buffering technique — включение этой опции заставляет ускоритель использовать альтернативный метод Z-буферизации для приложений, работающих в 16-битном цвете. Это несколько повышает нагрузку, поэтому скорость, соответственно, чуть падает. Рекомендуется включать, только если наблюдаются артефакты "выпадения" треугольников в играх в 16-битном цвете (к примеру, видно скрытые за какой-либо поверхностью треугольники). Обычно этого не происходит, так что не стоит лишний раз снижать скорость. Лучше оставить выключенной.

Display logo when running Direct3D applications — если эту опцию включить, то при запуске D3D-игр будет появляться логотип nVidia. Никаких функций это не несет, поэтому решайте сами, насколько это вам нужно. Поскольку я не вижу смысла ее включать, предлагаю оставить так, как стоит по умолчанию — выключенной.

Далее идут настройки MIP-Mapping. Они практически не влияют на скорость, поэтому для нас важнее всего настроить их на максимальное качество.

Automatically generate X mipmap levels. При установке этой опции в 0, драйвер будет передавать функции создания MIP-уровней самому приложению. Как правило, это оптимальный вариант при использовании билинейной фильтрации или трилинейной аппроксимации (т.е. на всех картах TNT/TNT2). Переходы между MIP-уровнями в этом случае заметны гораздо меньше. В случае использования трилинейной или анизотропной фильтрации (на GeForce256/2), лучше всего установить максимальное значение — 12. При этом будет наиболее качественно обеспечиваться уменьшение четкости текстур с расстоянием.

Следующий параметр — Auto-mipmap method. Он позволяет принудительно установить для большинства игр метод фильтрации текстур. В случае 5.xx и 3.xx драйверов можно выбрать два варианта — 8-tap anisotropic и Bilinear. Первый обеспечивает наилучшее качество изображения без потери производительности по сравнению со вторым. Поэтому для всех карт на GeForce256 я настоятельно советую использовать именно его. С картами на TNT/TNT2 сложнее. Они не поддерживают анизотропную фильтрацию и не могут совмещать трилинейную фильтрацию с режимом мультитекстурирования, который последние два года используется повсеместно. Вместо "честной" трилинейной фильтрации в режиме мультитекстурирования используется низкокачественная трилинейная аппроксимация. Ее преимущества над обычной билинейной довольно сомнительны: границы между MIP-уровнями не видны, но зато на месте границ видны довольно неприятные искажения текстур. Поэтому я советую лично все попробовать и выбрать для себя более подходящий режим.

Стоит также сказать, что при отключении мультитекстурирования TNT вполне качественно выполняет полноценную трилинейную фильтрацию. Но только в том случае, если игра позволяет отключать мультитекстурирование. Мне известны только две таких игры — Unreal и Unreal Tournament (не считая игр на том же движке). В настройках игры необходимо отключить мультитекстурирование и включить трилинейную фильтрацию. Качество возрастет, но падение производительности будет весьма заметным.

Следующая опция — Mipmap detail level. Она позволяет регулировать детализацию удаленных MIP-уровней. Максимальное качество обеспечивается при установке Best Image Quality. Я настоятельно советую использовать именно ее, поскольку, как я уже говорил выше, на скорости эти установки почти не отражаются, но зато на качестве — отражаются и очень сильно. К сожалению, эта настройка не работает на GeForce256. Вероятно, это баг в драйверах, который будет исправлен в следующих версиях. Но в данный момент все обстоит так, как есть. И ситуация не изменилась с первых версий 3.xx. Я думаю, что об этой настройке поначалу просто забыли, а потом уже окончательно махнули рукой. Надеюсь, что они об этом еще вспомнят.

Все установки можно сохранить и потом без проблем вызывать нужный набор. (Для этого нужно нажать Save As и ввести подходящее имя).

В нижней части панели находится кнопка More Direct3D… Она открывает меню с некоторыми дополнительными опциями:

Первая опция — Texel Alignment. Она дает возможность установки смещения центра текселя (элемента текстуры) относительно стандартного положения. NVidia утверждает, что по умолчанию стоит значение, предусмотренное спецификациями Direct3D. Однако спецификации предусматривают размещение текселя в его стандартном положении, а по умолчанию установлено небольшое смещение. В принципе, это может несколько улучшить качество изображения в некоторых играх, однако есть и обратный эффект — иногда текст в Direct3D-приложениях становится из-за этого смещения несколько размазанным. Если вы встречались с такой проблемой и хотите вернуть текст в нормальное состояние, установите регулятор в крайнее правое положение (Center). А если с качеством все в порядке, я советую оставить значение, стоящее по умолчанию.

PCI Texture Memory Size — позволяет определить, какое количество памяти зарезервировать под текстуры в PCI-режиме. Для владельцев PCI-карт я советую установить значение 10-16Mb, этого хватит для всех современных Direct3D-игр. Владельцам AGP-ускорителей я рекомендую поставить минимальное значение для экономии оперативной памяти.

Рассмотрим также раздел Antialiasing.

Full Scene Anti-Aliasing (FSAA) призван бороться с так называемым "лестничным" эффектом, который возникает на краях трехмерных объектов. Повышение разрешения — это тоже своего рода анти-алиасинг. В драйверах Detonator есть возможность использовать другой вид анти-алиасинга — Super Sampling. Суть этого метода в том, что изображение рассчитывается в разрешении, многократно превышающем экранное. Перед выводом на экран, изображение сжимается до экранного разрешения, но для формирования цвета каждого экранного пикселя используются от 2-х до 16-ти рассчитанных текстурных субпиксела. Это приводит к сглаживанию "лестничного" эффекта и общему повышению качества 3D-изображения. Разумеется, чем больше субпикселей используется для формирования одного пикселя, тем выше качество, но и пропорционально меньше скорость. При максимальном режиме — 16х FSAA будет падение скорости в 10-16 раз! Тем не менее, при средних значениях (4х) скорость во многих играх остается на весьма комфортном уровне. Подобрать режим FSAA, сочетающий хорошую скорость с высоким качеством, чаще всего можно только опытным путем.

Настройки драйвера позволяют выбрать один из 9-ти значений качества FSAA.

Кратко опишу их все (слева направо):

  1. No FSAA — анти-алиасинг отключен.
  2. 2х FSAA — анти-алиасинг на основе двух субпикселов со сглаживанием только по вертикали.
  3. 4х FSAA Low MIP — этот режим обеспечивает полное сглаживание на основе 4-х субпикселов. Low MIP означает низкую детализацию MIP-уровней.
  4. 4x FSAA High MIP — тот же режим, что и предыдущий, но с высокой детализацией MIP-уровней. (На мой взгляд, обеспечивает наилучшее соотношение скорость/качество)
  5. 4x (3x3) FSAA High MIP — а вот этот режим особенный. Хотя ускорителем рассчитывается только 4 субпикселя на каждый пиксель, при формировании изображения, для каждого пикселя используются не только свои, но и соседние субпикселы, в результате чего обеспечивается качество сглаживания на уровне 9х FSAA, а скорость близка к стандартному 4х FSAA.
  6. 9x FSAA Low MIP — 9 субпикселей. Низкая детализация MIP-уровней.
  7. 9x FSAA High MIP — Высокая детализация MIP-уровней.
  8. 16х FSAA Low MIP — см аналогично предыдущим.
  9. 16х FSAA High MIP

Обычно режимы после 5-го дают слишком низкую скорость. Остальные режимы лучше подбирать специально под каждую игру. В некоторых играх (например, Driver) можно с очень хорошей скоростью играть в 5-ом режиме. А в некоторых — невозможно даже на 2-ом (NFS5).

Если поставить галочку напротив Force antialiasing in all applications, то анти-алиасинг будет принудительно использоваться во всех Direct3D-играх. Но только на карте GeForce256 или GeForce2. На TNT/TNT2 анти-алиасинг не работает ни в каком виде (ни принудительно, ни "добровольно").

При желании, на TNT (и TNT2) можно поставить старый Detonator 1.20. В играх, поддерживающих FSAA, таких, как Revolt, Expendable, Rollcage и Incoming, можно испытать эту функцию. Впрочем, скорость будет крайне невелика, и проводить такой эксперимент стоит только для того, чтобы получить представление, что дает анти-алиасинг в смысле качества.

OpenGL Settings

В этом разделе собраны все настройки OpenGL. Как обычно, рассмотрим все опции по порядку.

Enable buffer region extension. Функция (расширение OpenGL), используемая в некоторых программах 3D-моделирования. В таких приложениях включение этой опции должно привести к довольно значительному росту производительности.

Следующая опция — Allow the dual plane extension to use local video memory — тесно связана с первой. Она позволяет использовать для этого расширения локальную память ускорителя. Это также должно повышать скорость, но может и привести к ошибкам.

Если вы не работаете с программами моделирования вроде CAD, я советую оставить выключенными эту и предыдущую опции.

Use fast linear-mipmap-linear filtering — включение этой опции приводит к ухудшению и так не особо качественной трилинейной аппроксимации на ускорителях Riva TNT/TNT2. И хотя таким образом можно выжать несколько дополнительных fps, качество становится просто непотребным. Поэтому я не советую владельцам TNT ее включать. На GeForce 256 включение этой опции никак не отражается на качестве и скорости 3D-графики.

Enable anisotropic filtering — ее включение разрешает использование OpenGL-приложениями расширения для анизотропной фильтрации. В Quake3: Arena анизотропная фильтрация используется вместо трилинейной. Если опцию отключить, то останется обыкновенная трилинейная фильтрация. Надо сказать, по качеству анизотропная фильтрация не оставляет шансов трилинейной. При этом по скорости обычная билинейная, трилинейная и анизотропная фильтрации отличаются очень мало. Поэтому владельцам GeForce настоятельно советую эту опцию оставить включенной. На TNT/TNT2 она в любом случае не работает.

Enable alternate depth buffering technique — подобно аналогичной настройке в Direct3D, эта опция включает альтернативный механизм Z-буферизации в 16-битном цвете. В некоторых случаях позволяет избавиться от артефактов (хотя ни в одной OpenGL-игре я их не видел). Падение скорости от включения крайне незначительно. Пока не понадобится бороться с этими артефактами, я советую оставить стандартный механизм Z-буферизации (а значит, опцию оставить выключенной).

Если поставить галочку перед Disable support for enhanced CPU instruction sets, то в драйверах будет отключена поддержка расширенных наборов команд процессоров. А именно: AMD 3DNow! и Intel SSE. Естественно, оказывает влияние только на системы с процессорами K6-2, K6-3, Athlon, Duron, Pentium III и Celeron 533A или выше. Т.е. на все процессоры, которые эти расширенные наборы поддерживают. Так что для владельцев указанных процессоров я рекомендую оставить эту опцию выключенной. Для процессоров без расширенных наборов команд эта настройка ничего не меняет.

Enable full scene antialiasing — включает принудительное использование FSAA во всех OpenGL-приложениях. Приводит к сглаживанию "лестничного" эффекта, но и к серьезному падению производительности. Как и в случае Direct3D, анти-алиасинг работает исключительно на GeForce 256 и GeForce2.

Далее рассмотрим три оставшиеся настройки.

Default color depth for textures — устанавливает цветность текстур, используемых в играх по умолчанию. Если установить Always use 32bpp, то все текстуры станут 32-битными. Это не приведет к повышению качества, ведь 32-битными они станут только по размеру, а по качеству так и останутся теми, которые и были изначально. Поэтому я советую использовать Always use 16bpp. Игры, имеющие настоящие 32-битные текстуры, будут использовать их в любом случае.

Buffer flipping mode — позволяет выбрать режим работы с буфером кадра из двух — page flipping и block transfer. Также можно установить Auto-select и предоставить драйверу самому выбирать оптимальный для имеющейся конфигурации режим работы. Тестирования в Quake2 и Quake3 показали, что драйвер вполне с этим справляется: во всех случаях устанавливался лучший из двух режимов. Поэтому рекомендуемое значение — Auto-select.

Vertical sync — можно включать/выключать синхронизацию с обратным ходом луча монитора (или просто VSync). Можно установить одно из трех значений — Always Off, Off by default и On by default. Первое означает, что VSync в любом случае будет отключен. Это может привести к артефактам "разрыва" изображения по краям (этот эффект называется tearing). Но зато fps перестают зависеть от частоты обновления монитора, и общая производительность резко повышается.

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

Третье предписывает включать VSync по умолчанию, но игра может ее выключить.

Я советую устанавливать значение Vertical sync в Always Off, потому что артефакты обычно незаметны, а прибавка в скорости очень даже солидная.

Use up to X MB of system memory for textures in PCI mode — аналогично Direct3D, дает возможность установить количество системной памяти, отводимой для хранения текстур для PCI-видеокарт. Для AGP-ускорителей изменение значения этого параметра не влияет на скорость. Для экономии памяти рекомендуется установить минимальное значение.

Other Options

В последнем разделе можно установить некоторые параметры работы с монитором.

Monitor Timing — устанавливает режим тайминга монитора. Можно выбрать одно из 3-х значений — Auto-Detect, General Timings Formula и Discrete Monitor Timings. Первый режим дает возможность Windows получить информацию от самого монитора (рекомендуется для всех современных мониторов). На некоторых старых мониторах эта функция не работает, поэтому владельцам таких моделей придется самим установить необходимое значение, используя документацию к монитору.

Недокументированные настройки

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

NVTweak

В драйверах Detonator версий 3.xx и 5.xx встроена возможность разгона любой видеокарты. Но этот раздел пока скрыт от пользователей. Мы можем исправить эту ошибку nVidia.

Для начала запустим программу редактирования реестра. Для этого в командной строке необходимо набрать regedit. Появится несколько каталогов, как при работе с файлами. В этих каталогах есть подкаталоги, в общем, аналогия с файловой системой полная. Драйвер ищет переменную по этому пути: HKEY_LOCAL_MACHINE\Software\NVIDIA Corporation\Global\NVTweak

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

В папке NVTweak необходимо создать переменную CoolBits типа dword и присвоить ей значение 3.

После этих действий, в Additional Properties появится новая закладка под названием Hardware Options.

Если поставить галочку перед Allow clock frequency adjustment, то после перезагрузки компьютера появится возможность изменять частоту чипа (Core clock frequency) и памяти (Memory clock frequency) ускорителя.

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

Постепенно увеличивайте частоту сначала чипа с шагом в 5МГц. После каждого раза запускайте Quake3 и Quake2. Если начали появляться артефакты, вернитесь на 5МГц назад. Значит, оптимальная частота чипа найдена. Аналогичным образом разгоняется и память. Мне, например, удалось разогнать GeForce256 SDR со стандартных 120/166 (частота чипа/памяти) до 145/210МГц, в результате чего скорость повысилась примерно на 30%.

После нахождения оптимальной частоты чипа и памяти, установите галочку напротив Apply this settings at startup. Тогда выбранные вами частоты будут устанавливаться при запуске Windows.

Кроме Hardware Options, в драйверах еще появилась опция для Direct3D. Найти ее можно в разделе More Direct3D:

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

Render no more than X frame(s) ahead — позволяет установить количество кадров, которое разрешено подготовить процессору, прежде чем их обработает ускоритель. Большое количество кадров повышает скорость (своего рода кэширование процессора), но зато приводит к неприятному эффекту — лагу. Это означает, что игра будет с заметным опозданием реагировать на управление (клавиатуры, мыши, джойстика). Так что не рекомендую устанавливать значение более 3.

Недокументированные значения Mipmap detail level

Про эту настройку я уже рассказывал выше. Напомню только, что она меняет детализацию удаленных MIP-уровней в Direct3D. Эту опцию можно регулировать через драйверы, но даже при установке максимального качества текстуры, скажем, в Unreal и Unreal Tournament, выглядят размазанными и нечеткими. С помощью изменений в реестре можно значительно повысить качество изображения в этих играх.

Необходимо изменить значение переменной LodBiasAdjust в разделе HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Display\0000\NVIDIA\Direct3D

Для драйверов версии 2.xx — [HKEY_LOCAL_MACHINE\Software\NVidia Corporation\Riva TNT\Direct3D]

При установке значений от 0 до 127 (десятичные значения) детализация понижается. А при установке от 255 до 128 — повышается. При чрезмерном повышении детализации появляется артефакт — "дрожание" текстур на удаленных объектах. Необходимо подобрать наилучшее значение, сочетающее максимальную четкость и отсутствие заметных артефактов. Я считаю, что оптимальным значением для Detonator 5.xx и 3.xx является 240 (в шестнадцатеричном исчислении — f0), а для 2.xx — 247 (f7).

Чтобы не быть голословным, покажу эти два скриншота из Unreal Tournament:

    

Обратите внимание на текстуру пола. На левом кадре она становится нечеткой даже на небольшом отдалении. А на правом — четкость на очень высоком уровне.

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

Я уже упомянул выше, что на GeForce 256 изменение значения Mipmap detail level в настройках драйвера не оказывает никакого эффекта. К сожалению, это справедливо и для установок через реестр. Так что наиболее четкой картинкой будут наслаждаться только владельцы TNT/TNT2.

Настройка качества FSAA в OpenGL

Рассмотрим следующую переменную. Находится она в разделе HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Display\0000\NVIDIA\OpenGL

FSAAQuality — как можно догадаться из названия, эта переменная позволяет изменять качество FSAA в OpenGL, что невозможно через обычные настройки драйвера. Значения устанавливаются от 0 до 2.

  • 0 — это режим 2x FSAA, самый низкокачественный, но и самый быстрый. Именно он и установлен по умолчанию.
  • 1 — режим 4x FSAA с низкой детализацией MIP-уровней. Качество сглаживания хорошее, но текстуры выглядят размазано.
  • 2 — режим 4x FSAA с высокой детализацией MIP-уровней. Кроме отличного качества сглаживания, этот режим имеет очень четкие текстуры.

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

Я провел несколько тестов с целью выявить производительность GeForce256 в режиме FSAA. Система: Celeron 450, 128Мб SDRAM, Creative Annihilator 32Mb.

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

Заключение

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

Особая благодарность Алексею "Unwinder" Николайчуку и Andserза помощь при исследовании недокументированных настроек драйверов Detonator.

www.ixbt.com

Алгоритм установки драйвера в Windows

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

Драйвер (Driver) — программное обеспечение, при помощи которого операционная система и работающие в её составе программные модули, получают доступ к аппаратному или логическому устройствам.

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

Согласитесь, что с точки зрения пользователя процесс установки драйвера в Windows, в большинстве случаев, выглядит достаточно прозаично. В системном трее появляется привычный анимированный значок мастера установки, и система через некоторое время может выдать отчет об успешном, либо неудачном завершении процедуры инсталляции в системе драйвера нового устройства. Более того, зачастую мастер установки кроме этой самой иконки в трее вовсе не выдает никаких визуальных подтверждений о попытках инсталляции нового устройства, при этом "тихо" добавляя новое оборудование в список устройств и (в случае неудачи) маркируя его специальным значком в диспетчере устройств, предлагая пользователю в ручном режиме продолжить конфигурирование оборудования. Все эти внешние процессы, хорошо уже знакомые как Вам так и мне, в той или ином виде присутствуют во всех версиях операционных систем Windows практически с момента появления этой операционной системы, незначительно отличаясь между собой лишь в деталях. Они стали настолько знакомыми и привычными, что я даже никогда и не задумывался, а что же происходит "по ту сторону экрана", в недрах операционной системы, что скрывается под этой мнимой простотой? Как Вы увидите далее, установка драйвера Windows для физического либо логического устройства скрывает под собой довольно сложные и чрезвычайно интересные процессы. Алгоритм установки драйвера в Windows можно разбить на перечисленные ниже ключевые глобальные задачи:

  • Копирование двоичного файла драйвера в соответствующий каталог в системе;
  • Регистрация драйвера в системе Windows с указанием метода загрузки;
  • Добавление необходимой информации в системный реестр;
  • Копирование/установка связанных вспомогательных компонентов из пакета драйвера;

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

  • Пользователь инсталлирует в выключенный компьютер новое устройство. В этом случае, сам процесс обнаружения нового устройства и инсталляции драйвера начинается уже на этапе загрузки операционной системы.
  • Пользователь с правами локального администратора, при помощи оснастки "Диспетчер устройств" инициирует установку либо обновление драйвера для какого-либо уже установленного устройства.
  • Пользователь "на ходу" подключает к работающему компьютер новое устройство. В этом случае речь идет об определенной категории устройств, которые могут подключаться "на лету", таких как устройства с внешним интерфейсом eSata, USB и прч. Ведь Вы же не будете инсталлировать внутреннюю видеокарту, когда питание подано на слоты PCIe? Я лично такого пока еще не вытворял :)
  • Пользователь самостоятельно запускает программу установки комплекта пакета драйвера из-под учетной записи с правами локального администратора. Такой способ может использоваться как для установки драйверов для физических устройств, которые поддерживают стандарт Plug and Play, так и для установки не-PnP (legacy) драйверов, драйверов логических устройств, которые не могут быть автоматически обнаружены системой и которые не могут быть проинсталлированы иначе как в ручном режиме. Характерным примером могут быть антивирусы или виртуальные машины, которые инсталлируют свои драйвера (логических устройств) в систему.
  • Пользователь щелкает правой кнопкой мыши на .inf-файле в директории с драйвером и выбирает пункт Установить из-под учетной записи с правами локального администратора.

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

  • .inf-файл(ы). Файл, описывающий процесс инсталляции драйвера. Ключевой компонент установочного пакета драйвера. inf-файл состоит из инструкций, которые указывают Windows как именно устанавливается драйвер: описывают устанавливаемое устройство, исходное и целевое местонахождение всех компонентов драйвера, различные изменения, которые необходимо внести в реестр при установке драйвера Windows, информацию о зависимостях драйвера и прочее. .inf-файлы связывают физическое устройство с драйвером, контролирующим данное устройство.
  • Двоичный файл(ы) драйвера. Пакет, как минимум, должен содержать .sys- или .dll-файл ядра драйвера. Фактически один-единственный .sys-файл (в крайнем случае) может быть установлен (с оговорками) в ручном режиме через правку реестра.
  • Исполняемые файлы установки. Обычно это всем хорошо уже знакомые утилиты инсталляции, которые имеют имена setup.exe, install.exe и некоторые другие.
  • Исполняемые файлы удаления. Обычно это утилиты деинсталляции, которые имеют имена uninstall.exe.
  • Файл(ы) дополнительных процедур и библиотек. Обычно это вспомогательные библиотеки формата .dll, соинсталляторы.
  • .cat-файл(ы). Файл каталога, подписанный цифровой подписью. Данные файлы содержат цифровые подписи каталогов и играют роль сигнатуры для файлов пакета, с помощью которой пользователь может определить происхождение пакета и проверить целостность файлов пакета драйвера. Требуются в 64-битных версиях Windows, начиная с Vista и более поздних и рекомендуются для всех остальных.
  • Модули управления пользовательского режима. Обычно это различные командные апплеты, работающие в пользовательском режиме, такие как ATI Catalist Control Center, VIA HD Audio Desk, Realtek HD Audio Control Panel и аналогичные.
  • Файлы справок. Куда же без них то?

Термины и определения

В данной статье я приведу описание только одного метода установки, который, в любом случае, описывает практически все этапы алгоритма установки драйвера в Windows, которые применимы и к другим способам. И разговор у нас сейчас пойдет о ситуации, когда пользователь вставляет во внутренний разъем выключенного компьютера новое оборудование, например видеокарту. Но для начала введем некоторые, необходимые нам в процессе изучения алгоритма установки драйвера, определения.Менеджер (диспетчер) Plug and Play (PnP Manager, PnP Менеджер) - облако кода режима ядра и пользовательского режима, отвечающее за добавление, распознавание, удаление устройств в системе. Блок режима ядра взаимодействует с остальными компонентами системы в процессе загрузки/установки программного обеспечения, необходимого для обслуживания имеющихся в системе устройств. Блок пользовательского режима (%Windir%\System32\umpnpmgr.dll, запускается в контексте главного системного процесса svchost.exe) отвечает за взаимодействие с пользователем в ситуациях, требующих установки новых драйверов или настройки рабочих параметров в уже инсталлированных. Отвечает за назначение и последующее распределение аппаратных ресурсов, таких как прерывания (IRQ), порты ввода-вывода, каналы прямого доступа к памяти (DMA) и адреса памяти. Имеет функционал определения драйвера, требуемого для поддержки определенного устройства и функционал загрузки/инсталляции данного драйвера. Умеет распознавать новые устройства, реагировать на их подключение и отключение. Является частью кода исполнительной подсистемы Windows.

Перечисление устройств

Целиком стадию загрузки с самого ее начала описывать смысла нет, и мы начнем с только с интересующего нас этапа, на котором модуль Winload(.efi) загружает ядро операционной системы Windows 7 из файла ntoskrnl.exe. Ядро запускает PnP менеджер, являющийся частью исполнительной подсистемы. PnP менеджер стартует процесс перечисления устройств с корневого устройства, драйвера виртуальной шины под названием ROOT (Корень), который олицетворяет собой всю систему и представляет из себя драйвер шины вообще для всех PnP- и не-PnP-устройств, а так же HAL (уровня аппаратных абстракций). HAL на этом этапе функционирует как драйвер шины, который перечисляет устройства, напрямую подключенные к материнской плате. Однако, HAL вместо фактического перечисления полагается на описание оборудования, уже присутствующее в реестре. Цель HAL на данном этапе - обнаружить первичные шины, такие как PCI. Драйвер первичной шины PCI, в свою очередь, перечисляет устройства, подключенные к данной шине, находит другие шины, для которых PnP менеджер тут же загружает драйвера. Эти драйвера шин, в свою очередь, обнаруживают уже устройства на своих шинах. Данный рекурсивный процесс перечисления, загрузки драйверов и последующего перечисления, продолжается пока все устройства в системе не будут обнаружены и сконфигурированы. В процессе перечисления PnP менеджер строит дерево устройств (device tree), которое однозначно описывает отношения между всеми устройствами системы. Узлы этого дерева, именуемые devnodes (сокр. от "узлы устройств"), содержат информацию об объекте устройства, который, в свою очередь, подробно описывает устройство.Записи всех устройств, которые были обнаружены с момента инсталляции системы, хранятся в кусте реестра HKLM\SYSTEM\CurrentControlSet\Enum. Подключи этого куста описывают устройства в следующем формате:

HKLM\SYSTEM\CurrentControlSet\Enum\ Enumerator\ DeviceID\ InstanceID

HKLM\SYSTEM\CurrentControlSet\Enum\

                                   Enumerator\

                                              DeviceID\

                                                       InstanceID

где:

  • Enumerator - наименование драйвера шины. Может принимать значения: ACPI, DISPLAY, HDAUDIO, HID, HDTREE, IDE, PCI, PCIIDE, Root, STORAGE, SW, UMB, USB, USBSTOR и другие;
  • DeviceID - уникальный идентификатор для данного типа устройств;
  • InstanceID - уникальный идентификатор различных экземпляров одного и того же устройства.

Дело в том, что драйвер шины, к которой подключено устройство, запрашивает у устройства различные параметры (идентификатор производителя, устройства, ревизии и прч) и формирует так называемый аппаратный идентификатор (HardwareID), который однозначно описывает устройство и представляет из себя строку параметров, разделенных знаками & и состоящую из следующих частей:

  • Префикс, описывающий шину, к которой подключено устройство.
  • Идентификатор устройства. Состоит из нескольких частей, таких как идентификатор производителя, идентификатор продукта (модели), ревизия устройства.

HardwareID - идентификационная строка, зависящая от параметров устройства (производитель, модель, ревизия, версия и прч), которую Windows использует для сопоставления устройства с .inf-файлом драйвера.

Типичная структура HardwareID:

PCI\VEN_10DE&DEV_1341&SUBSYS_2281103C&REV_A2

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

Идентификаторы HardwareID и CompatibleID используются кодом исполнительной подсистемы Windows для поиска драйвера устройства.

Обнаружение драйверов

Если на этапе перечисления устройств и загрузки драйверов, функциональный драйвер шины, на которую подключено новое устройство, информирует PnP менеджер об изменениях в подключенных дочерних устройствах. PnP менеджер режима ядра проверяет, сопоставлен ли с устройством драйвер, для этого он запрашивает драйвер шины, на которую подключено новое устройство, и получает идентификаторы HardwareID и, опционально, CompatibleID устройства. PnP менеджер режима ядра специальным событием информирует PnP менеджер пользовательского режима о том, что данное устройство требует инсталляции, передавая ему полученные идентификаторы. PnP менеджер пользовательского режима сначала пробует автоматически установить устройство без вмешательства пользователя. Для этого PnP менеджер пользовательского режима запускает утилиту rundll32.exe для запуска мастера установки драйверов устройств (%Windir%\System32\Newdev.dll).

Установка нового устройства newdev.exe

Мастер установки драйверов устройств инициирует поиск подходящего для устройства драйвера по информации из всех inf-файлов системы, расположенных в следующих доверенных системных расположениях:

  • Хранилище драйверов;
  • Центр обновления Windows;
  • Системный каталог INF-файлов;

Для вышеописанных целей поиска и установки драйвера используются функции библиотек setupapi.dll (функции поддержки инсталляции) и cfgmgr32.dll (менеджер конфигурации). В процессе поиска используются полученные уже на данный момент идентификаторы HardwareID и (опционально) CompatibleID, значения которых описывают все возможные варианты идентификации оборудования в файле инсталляции драйвера, то есть inf-файле. Значения идентификаторов устанавливаемого устройства сравниваются с теми, что описаны в секциях Models зарегистрированных в системе inf-файлов. Списки идентификаторов упорядочены, поэтому более специфичные описатели оборудования представлены в списках первыми. Если совпадения идентификаторов были найдены в нескольких inf-файлах, более точное совпадение считается предпочтительным по отношению к менее точному совпадению, подписанные inf-файлы предпочитаются неподписанным, и подписанные позднее inf-файлы предпочитаются подписанным ранее. Если совпадение на основе HardwareID не найдено, то используются CompatibleID, в случае наличия, конечно же. Если совпадение не найдено на основе CompatibleID, мастер установки оборудования может вывести приглашение на указание местоположения свежего драйвера оборудования. Давайте более подробно рассмотрим все указанные источники информации о драйверах.

Хранилище драйверов

Мастер установки драйверов пытается обнаружить подходящий inf-файл в системном хранилище драйверов, располагающемся в каталоге %Windir%\System32\DriverStore, который содержит все без исключения драйвера системы, входящие в состав дистрибутива Windows, полученные через службу "Windows Update", либо инсталлированные в систему пользователем.

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

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

Системный каталог INF-файлов

Параллельно система ищет драйвер в системном расположении, описываемом значением параметра DevicePath, находящемся в ветке реестра HKLM\Software\Microsoft\Windows\CurrentVersion. Обычно параметр имеет значение %SystemRoot%\inf, что в большинстве систем эквивалентно местоположению C:\Windows\inf.

INF-файл

Хотелось бы сделать небольшое отступление и отдельно поговорить об информационных файлах пакета драйвера. inf-файл является одним из ключевых компонентов комплекта драйверов. В нем хранится последовательность операций по установке и удалению драйвера, описанная специальными директивами, указывающими на расположение файлов функционального драйвера. Файл содержит команды, которые добавляют в реестр информацию, отвечающую за перечисление (Enum) драйвера и его класса (Class), и могут содержать указания для мастера установки оборудования по запуску так называемых основных установщиков (Class Installer, Установщик класса) и дополнительных установщиков (CoInstaller, Cоинсталлятор) для класса устройств и непосредственно устройства. Дополнительно inf-файл определяет тип, производителя, модель устройства, класс драйвера, необходимые файлы и ресурсы.

Соинсталлятор (по структуре обычная DLL) - дополнительный инсталлятор, вызываемый на этапе инсталляции, который выполняет специфичные для подкласса или устройства шаги установки, такие как подготовка инфраструктуры для работы драйвера в системе (например, установка пакета NET.Framework), вывод конфигурационных диалоговых окон, которые позволяют пользователю указать настройки для конкретного устройства.

Немаловажная особенность соинсталляторов заключается в том, что они, в случае необходимости выполняют привязку экземпляров нового устройства к требуемым для работы протоколам. Это, к примеру, может касаться разного рода коммуникационных устройств, которым требуются для работы различные протоколы и транспорты, такие как ndis, pppoe, tcpip, tcpip6, smb, netbt.В .inf-файле дополнительно описываются операции распаковки, копирования, запуска, переименования файлов, добавления и удаления ключей в реестре и многое другое.Однако вернемся к главному алгоритму установки драйвера в Windows. В случае, когда установщик драйверов устройств не нашел подходящих драйверов в перечисленных выше локациях, система маркирует устройство как неопознанное.

Неопознанное устройство

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

Проверка цифровой подписи драйвера

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

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

Следующим шагом часть кода PnP менеджера, работающая в пользовательском режиме, проверяет системную политику подписания драйверов. Если системная политика предписывает коду ядра блокировать или предупреждать об инсталляции неподписанных драйверов, то PnP менеджер парсит inf-файл драйвера на предмет наличия директивы CatalogFile, указывающей на файл каталога (файл с расширением .cat), содержащий цифровую подпись пакета драйвера.

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

Для тестирования драйверов и их подписания была сформирована лаборатория Microsoft Windows Hardware Quality Lab (WHQL), обстоятельно тестирующая драйвера, поставляемые с дистрибутивами Windows, а так же драйвера от крупных поставщиков оборудования. Для всех остальных разработчиков драйверов предусмотрены процедуры получения возможности самостоятельно подписывать драйвера на платной основе. Когда драйвер проходит все тесты WHQL, он становится "подписанным". Это означает, что для драйвера WHQL формирует хэш, или уникальную сигнатуру, однозначно идентифицирующую файлы драйвера, и затем подписывает ее с применением криптографических алгоритмов при помощи специального закрытого ключа Microsoft, используемого для подписания драйверов. Подписанный хэш помещается в каталоговый файл (.cat-файл), который размещается непосредственно в директории пакета драйвера.В процессе инсталляции драйвера, PnP менеджер пользовательского режима извлекает сигнатуру драйвера из .cat-файла, расшифровывает сигнатуру используя публичный ключ Microsoft и сравнивает результирующий хэш с хэшем файла инсталлируемого драйвера. Если хэши совпадают, драйвер маркируется как прошедший WHQL тестирование. Если сигнатуру не удается проверить, PnP менеджер действует в соответствии с настройками системной политики подписи драйверов, либо запрещая инсталляцию драйвера, либо все же позволяя инсталлировать драйвер.

Создание резервной копии

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

Инсталляция драйвера

На этом этапе пакет драйвера стороннего разработчика развертывается в системное хранилище драйверов. Затем, система выполняет фактическую инсталляцию драйвера из хранилища драйверов, которая производится посредством утилиты %Windir%\System32\drvinst.exe. На этом этапе происходят следующие события:

  • inf-файл драйвера копируется в специализированную папку %Windir%/inf. Для драйверов сторонних разработчиков характерно переименование файла в OEMx.inf, где x - порядковый номер inf-файла в директории.
  • Код операционной системы фиксирует факт инсталляции inf-файла в реестре.
  • Создается узел устройства (devnode) в реестре по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\<Enumerator>\<device id>\<instance id>, который содержит подробную информацию об устройстве.
  • Двоичные файлы драйвера копируются в целевую папку %Windir%\System32\DRIVERS и, возможно, другие целевые папки. Обновляются разделы реестра.
  • Формируется ключ реестра, соответствующий драйверу: HKLM\SYSTEM\CurrentControlSet\Services\имя_драйвера. Формируются параметры ключа.
  • Формируется ключ реестра, отвечающий за логгирование событий драйвера, размещающийся в ветке HKLM\SYSTEM\CurrentControlSet\Services\EventLog\System\имя_драйвера.
  • PnP менеджер вызывает процедуру DriverEntry для каждого установленного только что драйвера. Затем PnP менеджер режима ядра пытается "запустить" драйвер, подгружая его в память и вызывая процедуру AddDevice драйвера для информирования самого драйвера о присутствии устройства, для которого он был загружен.

Расположение информации о драйверах

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

Общие журналы драйверов

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

  • %Windir%\setupact.log -- содержит сообщения отладки от инсталлятора драйверов режима ядра, который представляет собой Win32 DLL, сопровождающую процесс установки устройства;
  • %Windir%\inf\setupapi.app.log -- содержит сообщения процесса инсталляции приложений;
  • %Windir%\inf\setupapi.dev.log -- содержит сообщения процесса инсталляции устройств;

Журнал драйвера

Если Вы используете Диспетчер пакетов (Package Manager, pkgmgr) для инсталляции/деинсталляции пакета, который (в свою очередь) инсталлирует, обновляет, либо деинсталлирует драйвер, то у Вас есть возможность включить (с целью отладки) создание специального лог-файла drivers.log, который будет содержать только ошибки, специфичные для конкретного драйвера. Для создания этого журнала, создайте/задайте следующий ключ реестра, и затем запустите pkgmgr снова. После этого, в директории, откуда был запущен pkgmgr, будет создан файл drivers.log.Ветка: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Device InstallerКлюч: DebugPkgMgrТип: DWordЗначение: 1

%Windir%\inf

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

%Windir%\System32\DRIVERS

Это директория в файловой системе Windows, где размещаются непосредственно файлы драйверов. В современных операционных системах, а я говорю сейчас о Windows Vista и более поздних, драйвера в данной директории имеют расширения .sys в подавляющем своем большинстве, реже встречаются dll-файлы, однако общего смысла это не меняет, поскольку, вне зависимости от расширения, все они идентичны по структуре .dll-файлам. В более ранних операционных системах встречались такие форматы как .drv и .vxd.

%Windir%\System32\DriverStore

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

HKLM\SYSTEM\CurrentControlSet\Enum

Куст реестра, содержащий информацию об устройствах, имеющихся в системе. PnP менеджер создает здесь ключ для каждого устройства в формате HKLM\SYSTEM\CurrentControlSet\Enum\Enumerator\deviceID. где Enumerator - это описанный выше в статье идентификатор шины, полученный на этапе перечисления устройств, deviceid - идентификатор типа устройств. Ключ содержит следующую информацию: описание устройства, аппаратные идентификаторы (Hardware ID), идентификаторы совместимых устройств (Compatible ID) и требования к ресурсам. Куст зарезервирован для использования исключительно кодом операционной системой, поэтому пользовательским приложениям и драйверам не рекомендуется напрямую взаимодействовать с ним, предлагается использовать документированные системные функции.

HKLM\SYSTEM\CurrentControlSet\Control

Куст реестра, содержащий информацию о разных параметрах конфигурации драйверов на этапе запуска операционной системы. Содержит такие важные ключи как:

  • Class содержит информацию о классах инсталляции устройств, которые используются для группировки устройств, конфигурируемых и устанавливаемых схожим образом. Для каждого класса инсталляции в составе этого ключа имеется ключ, имя которого совпадает с именем GUID соответствующего класса инсталляции.
  • CoDeviceInstallers содержит информацию о соинсталляторах класса
  • DeviceClasses содержит информацию об интерфейсах устройств, зарегистрированных в системе. любой драйвер, который хочет взаимодействовать в системе с программами режима пользователя, должен предоставить интерфейс. Класс интерфейса устройства предоставляет функциональные возможности устройства и его драйвера другим системным компонентам и приложениям режима пользователя.

HKLM\SYSTEM\CurrentControlSet\Services

Куст реестра, который используется для размещения информации обо всех сервисах (драйверах) в системе. Каждый системный драйвер размещает достаточно важную глобальную информацию о себе в подключах вида HKLM\SYSTEM\CurrentControlSet\Services\<Имя_драйвера>, которая используется драйвером в процессе инициализации на этапе загрузки системы. Куст активно используется PnP менеджером для передачи параметров при вызове процедуры инициализации драйвера.В этом кусте размещаются такие элементы:

  • ImagePath - содержит полный путь в двоичному файлу (образу) драйвера. программа инсталляции заполняет это значение на основе данных из inf-файла пакета драйвера;
  • Parameters - хранит индивидуальную информацию драйвера, заполняется на основе данных, размешенных в inf-файле пакета драйвера;
  • Performance - информация для мониторинга производительности устройства, контролируемого драйвером. Указывает имя DLL мониторинга производительности и имена функций, экспортируемых данной DLL. Заполняется на основании данных, полученных из inf-файла;

HKLM\SYSTEM\CurrentControlSet\HardwareProfiles

Куст реестра, который содержит информацию об аппаратных профилях системы и предназначен для поддержки данной технологии. Аппаратный профиль это всего-лишь набор изменений в стандартной аппаратной конфигурации и конфигурации сервисов (original configuration), загружаемых при старте системы. Содержит специфические изменения исходного, основного профиля оборудования, сконфигурированного в двух разделах реестра: HKLM\SOFTWARE и HKLM\SYSTEM. Не используется в Windows 7, хотя ключи реестра остались, вероятно в целях совместимости.

datadump.ru

Настройка драйверов nVidia. Инструкции. Блог. Портал SzenProgs

Обладатели старых, но апгрейденных компьютеров! Как поживаете?

Я понимаю, что у Вас сейчас 1 или 1,5 гигабайт оперативы, 256 - 512 мегабайт видяхи, но 800 - 1500 мегагерц проца. При таком раскладе, некоторые современные игры у Вас не пойдут. Им скорости процессора хватать не будет. И будут у Вас одни критические ошибки.

Но, не беспокойтесь, не все так плохо. Давайте настроим наши дрова от nVidia (уверен, у 80% пользователей именно она) так, чтобы снизить вероятность вылета.

Скажу по секрету, у меня тоже такая машина. И в Fallout 3 вылеты прекратились, пока.

Начнем. Для начала нужно залезть в панель управления nVidia. Для этого лезем по адресу "Пуск - настройка - панель управления". В списке находим "Панель управления NVIDIA": изображение 1. Есть вероятность, что это будет написано на буржуйском, но, думаю, Вы справитесь. Запускаем этот пункт.

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

Выбираем в окне настройки "Управление параметрами 3D": изображение 2. Здесь лежат основные настройки для работы с 3D изображениями. Все что меняем можно будет вернуть на место одним кликом. Поэтому не боимся и делаем.

Справа в окне находятся те настройки, которые мы будем менять. Они выглядят так: изображение 3.

  • "Анизотропная фильтрация". Лучше выбрать его в состояние "Выкл". Он влияет на фильтрацию текстур. Чем выше значение, тем четче изображение. Но при больших значениях теряется производительность.
  • "Вертикальный синхроимпульс". Ставим "Отключить". Вертикальная синхронизация фиксирует частоту рендеринга кадров в соответствии со значением частоты обновления дисплея. Это означает, что при включении этого пункта, изображение будет четче. Рекомендация для владельцев Windows XP - отключить.
  • "Включение масштабируемых текстур". Для нас - "Нет". Эта опция включает масштабируемые текстуры для приложений, которые с ними работать не могут. Имеются значения "Двулинейный" - среднее между качеством и производительностью, и "Трилинейный" - качественное изображение в ущерб производительности.
  • "Максимальное количество заранее подготовленных кадров.". Ставим "0" или "1". Этот пункт регулирует, сколько кадров вперед будет подгатавливать процессор до обработки их видеоадаптером. Чем выше число, тем ровнее игра (дергаться будет меньше). Но если процессор слабый, то лучше опцию уменьшить. Не стоит перегружать процессор. Также, рекомендуется уменьшить значение при существенных задержках в реакции клавиатуры, мыши, джойстика и других устройств ввода-вывода. Функция касается только приложений, которые работают в DirectX.
  • "Ограничения расшрения". Ставим "Выкл". Мы же не собираемся в старые игры играть, котрые на OpenGL расчитаны. Если играете в такие, то это может предотвратить некоторые сбои. Включение этого параметра запустит систему усечения расширений драйверов до нужного размера. Но современным играм на это наплевать.
  • "Сглаживание - параметры". Для нас - "Нет". Этот пукт убирает ступенчатость в трехмерном изображении. При больших значениях изображение будет с ровными границами, но производительность упадет.
  • "Соответствующая привязка текстуры". Лучше поставить "Используются аппаратные средства". Этот пукт контролирует, как правильно текстуры будут ложиться на полигон 3D изображения. Лучше не выключать этот параметр. У меня из-за этого рад-таракан в Fallout 3 в стенке застрял. Так и не смог его пристрелить. Текстуры стены не дали.
  • "Тройная буферизация". Выключаем. Эта настройка повысит производительность, если включенв вертикальная синхронизация. А мы ее выключили.
  • "Ускорение нескольких дисплеев/смешанных ГП". Значение для каждого индивидуальное. Это зависит от того, сколько дисплеев подключено. Для одного монитора выбираем "Режим однодисплейной производительности".
  • "Фильтрация текстур - анизотропная оптимизация образцов". Опцию включаем. Будет оптимизировать образцы изображения под нашу систему. Для получения лучшего качества изображения эту опцию следует выключить.
  • "Фильтрация текстур - анизотропная оптимизация фильтрации масштабируемых текстур". Включаем для производительности. Эта опция отвечает за заменц точечной фильтрации на линейную. Для качества - выключаем.
  • "Фильтрация текстур - качество". Ставим "Высокая производительность". Параметр задает приоритет обработки изображений в сторону качества, производительности или баланса между ними. Влияет на фильтрацию.
  • "Фильтрация текстур - отрицательное отклонение". Наш выбор - "Разрешить". Отвечает за контрастность фильтрации текстур. При включении статичное изображение будет контрастнее, а движущийся объект - ступенчатым. Для производительности нужно включить.
  • "Фильтрация текстур - трилинейная оптимизация". Включаем. Трилинейная оптимизация обеспечивает более высокую производительность фильтрации текстур за счет определения областей, в которых необходима трилинейная фильтрация. Для качества нужно выключить.

После изменений жмем кнопку "Применить". Если что-то напортачили - тыкаем "Восстановить", а потом "Применить".

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

На этом все. Жду комментов.

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

Google+

Настройка драйверов nVidiaИнструкцииСкрипты, инструкции, справочники

szenprogs.ru


Смотрите также