Статьи по компьютерам
Компьютерные видеокарты

Как выжать FPS. Часть 1

Как выжать FPS

Продлеваем жизнь видеоадаптера при помощи тонкой настройки API

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

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

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

Инструментарий

Существует множество программ для твикинга видеокарт.
Все они позволяют в той или иной степени увеличить производительность твоего компьютера в играх: одни путем тривиального увеличения тактовых частот GPU и памяти, а также изменения качества текстур, другие – настройкой ключевых параметров самого API, используемого игрой, будь то DirectX или OpenGL.

Для разгона и управления качеством отображения текстур наиболее универсальным средством является широко известная утилита — RivaTuner.
В качестве утилиты, позволяющей оптимизировать процесс рендеринга под конкретную игру, рассмотрим программу 3D-Analyze.
С нее и начнем.

Отладка на лету

Данная программа не нуждается в установке и имеет простой и интуитивно понятный интерфейс.
Основные разделы содержат настройки ключевых параметров DirectX и OpenGL.
Раздел с общими настройками (Custom) предназначен для включения счетчика кадров, подкрашивания MIP-map уровней, запуска ведения логов и т.д. — все они, как правило, используются при тестировании или отладке, в связи с чем нас мало интересуют.

Итак, рассмотрим раздел DirectX. В нем имеются 5 подразделов:

1. Performance;
2. Hardware Limits (cap bits);
3. Hardware Limits (features);
4. Pixel and Vertex Shader;
5. Game/Demo Files.

Наиболее актуальными для геймеров, обладающих, мягко говоря, не самым современным железом, являются разделы Performance и Hardware Limits (cap bits).
Последний предназначен в первую очередь для эмуляции различных функций, недоступных старым видеоадаптерам.
Это может помочь в случае, когда игра отказывается работать, ссылаясь на отсутствие полноценной поддержки видеоадаптером определенных технологий на аппаратном уровне.

Например, если у видеокарты на основе GeForce 440MX нет поддержки пиксельных шейдеров, можно провести следующие операции для запуска игр Prince of Persia: The Sands of Time и Silent Hill 3:

1. Запускаем 3D-Analyze.
2. В подразделе File Selection (напротив цифры 1) выбираем .exe-файл запускаемой игры.
3. В подразделе DirectX Device ID в графах VendorID и Device ID устанавливаем значение 1.
4. Затем необходимо включить эмуляцию — для этого в подразделе Hardware Limits (cap bits) ставим галочки напротив строк Emulate pixel shader, Emulate bump maps и Emulate max.sim.
5. Жмем Run (напротив цифры 2) и наслаждаемся игровым процессом.

Подобные действия можно проводить и с другими играми, требующими от DirectX 7.0 видеокарт поддержки pixel shaders.

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

Как известно, для видеокарт NVIDIA ахиллесовой пятой является скорость обработки пиксельных шейдеров версии 2.0 из-за пресловутой 32-битной точности их вычисления и неудачного внедрения специализированного языка программирования Сg.
Наиболее ярко данную ситуацию иллюстрирует игра Tomb Rider: Angel of Darkness.

Для увеличения скорости можно попробовать поиграть с настройками подраздела Pixel and Vertex Shader.
В нем имеется возможность ограничить версию используемых игрой шейдеров.
Например, применение настройки Skip pixel shader version 2.0 приведет к отключению пиксельных шейдеров версии 2.0.

Несмотря на старания разработчиков, иногда игры выходят с откровенными недоработками.
В этом случае 3D-Analyze можно использовать в качестве своеобразного дебагера.
Наверное, все помнят о «криво» реализованном использовании аппаратного блока T’n’L игрой GTA 3 — именно благодаря включению софтовой эмуляции T’n’L в подразделе Performance можно было значительно увеличить скорость в данной игре.

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

Следующий основной раздел — OpenGL.
К сожалению, здесь практически отсутствуют настройки, способствующие увеличению производительности в играх.
Единственное, что можно сделать — форсировать использование маленьких текстур.

Касательно нашей статьи, можно сказать, что 3D-Analyze, скорее всего, пригодится владельцам старых карточек на чипах NVIDIA GeForce 2MX, 4MX, ATI Radeon 7500 и им подобных.
Конечно же, не стоит ждать ничего сверхъестественного, и в старой видеокарте не появятся функции, присущие современным видеоакселераторам, — утилита может только «обмануть» игру, что в некоторых случаях позволит ей нормально запускаться на не самых современных компьютерах.

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

Критические настройки

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

Включение трилинейной фильтрации вместе с анизотропной очень сильно бьет по скорости в современных играх (возможности нынешних high-end графических чипов NV40 и R420 не рассматриваются), а если еще включить полноэкранное сглаживание, играть становится практически невозможно.

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

1 · 2
Статьи по компьютерам