FPSСтатья о том как оптимизировать cs: source для максимального быстродействия путем изменения графических настроек.



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

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

Vsync: яркий пример крупнейшего недопонимания в истории графических настроек. Вот как Vsync работает: у вашего монитора частота обновления экрана определяется для каждого разрешения по-разному. Поясню на примере: мой монитор тянет 75Hz на максимально доступном разрешении 1152x864. Это значит, что мой монитор показывает только 75 кадров в секунду при данном разрешении. Восторгаетесь своими 150 fps в Q3? Циферка на экране конечно же показывает именно столько, но в реальности весь эффект полностью сводится на «нет» вашей частотой обновления экрана. Все, что выше частоты обновления, вызывает эффект, называемый tearing или разрыв изображения. Tearing выражается в волнообразном набегании кадров - бегущих по экрану полосах. Vsync же устанавливает ваш максимальный fps равным текущей частоте обновления экрана, что позволяет полностью убрать tearing и добиться значительного улучшения картинки. Мораль сей басни такова - используйте Vsync в игре. Но если же вы просто замеряете FPS, чтобы оценить производительность - отключите Vsync. (прим. автора - я рекомендую отключить если фпс на приличном уровне (>~70), на низком уровне фпс приводит к багам картинки)

AA & AF: АА сглаживает линии и границы, делает их плавнее. AF делает текстуры более качественными, лучше выглядящими, в вдалеке. Эти оба параметра съедают порядочно FPS (особенно AA). ДА и в итоге получается, что "цена - качество" просто несопоставимы. А вместо AF используйте лучше параметр trilinear (на большинстве карт его производительность быстрее, чем у bilinear).

Остальные настройки можно смело ставить на максимум, за исключением, правда, water complexity - рекомендую поставить параметр на simple reflections.

А теперь посмотрим, что можно улучшить в Counter-Strike: Source с помощью консольных команд. Их лучше прописать в конфиг, как это сделать написано в статье "Основы написания скриптов для CS: Source"

Замечание: некоторые приведенные ниже команды считаются читами. Если на сервере стоит команда sv_cheats "0" (а это скорее всего так), то некоторые команды просто не будут работать. Но команды ни в коем случае не являются читами, и вы можете использовать их без угнетения вашей бессовестной совести =).



r_mmx 1

Включает поддержку процессоров MMX. Небольшое увеличение fps, нет потери качества картинки


r_sse 1

Включает поддержку процессоров SSE. Небольшое увеличение fps, нет потери качества картинки


r_sse2 1

Включает поддержку процессоров SSE2. Небольшое увеличение fps, нет потери качества картинки


r_3dnow 1

Включает поддержку технологии 3DNOW (только для AMD). Небольшое увеличение fps, нет потери качества картинки


r_3dsky 0

Убирает марево вокруг 3D объектов. Считается читом, по неизвестным причинам. Большое прибавление к FPS, небольшая потеря качества картинки


r_shadows 0

Хочу сказать одну вещь про тени в Half-life 2: они реально фиговые. Отключаем их нафиг, пока Valve не улучшит их. Большое прибавление к FPS, небольшая потеря качества картинки


net_graph 3

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


r_decal_cullsize 0

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


cl_smooth 0

Не знаю, что эта команда делает, за исключением того, что она реально снижает ваш FPS (изначально включена). Среднее увеличение fps. Без ухудшения графических эффектов.


cl_phys_props_enable 0

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


cl_pushaway_force 0

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


fog_enable 0

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


cl_allowupload "0"

Команда запрещает загрузку файлов на сервер с вашего компьютера. Улучшает пинг.


cl_allowdownload "0"

Команда запрещает скачку файлов с сервера на ваш компьютер. Улучшает пинг.


r_lod 0

Ухудьшает или улучшает видимость далекой модели игрока. 0 - плохая модель, больше FPS. -5 - хорошая модель, меньше FPS. Немного ухудшается картинка.


cl_show_bloodsprays 0

Опять же считается читом, так как может облегчить игрокам видимость без крови. Больше FPS, меньше потери крови =).


cl_ejectbrass 0

Убирает показ отстрелянных гильз. Прирост к FPS.


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

Скажу вам, что мне удалось на моем athlon xp 2400+ и radeon 9800 pro поднять FPS до 75 fps(vsync был включен) при разрешении 1024x768. До этого сказать сколько было? 30!

Ну и для тех индивидуумов, что играют на динозаврах и их FPS не поднимается выше 0,00000000000000001 =), предлагаю впихнуть вот эти настройки. Про хорошую графику забудьте раз и навсегда после этого =):

cl_show_splashes "0"
mp_decals "0"
mat_bufferprimitives "1"
mat_bumpbasis "0
mat_bumpmap "0"
mat_dxlevel "80"
mat_fastnobump "1"
mat_fastspecular "1"
mat_filterlightmaps "1"
mat_filtertextures "1"
mat_forceaniso "0"
mat_forcedynamic "0"
mat_loadtextures "1"
mat_mipmaptextures "1"
mat_picmip "1"
mat_reducefillrate "1"
mat_showwatertextures "0"
mat_specular "0"
muzzleflash_light "0"
r_modellodscale "0.1"
r_drawlights "0"
r_DispUseStaticMeshes "0"
r_waterforceexpensive "0"
r_shadowrendertotexture "0"
r_rootlod "2"
r_drawrain "0"
r_decals "0"
r_dynamic "0"
r_WaterDrawReflection "0"
r_WaterDrawRefraction "0"
violence_hgibs "0"
budget_show_history "0"


Эти команды могут существенно уменьшить качество изображения, но тем у кого фпс не больше 30 лучше уж принебречь картинкой :)

Приложение.

cl_detaildist [0-9999] – Устанавливает расстояние, на котором видны детали предметов (items).
(Рекомендация: оставьте значение по умолчанию или устанавливайте на значения между 1200 и 1800 до тех пор, пока Вы не получите наибольшей производительности при наилучшем качестве.)

cl_detailfade [0-9999] - Устанавливает расстояние, на котором детали предметов пропадают.
(Рекомендация: оставьте значение по умолчанию или устанавливайте на значения между 200-600 до тех пор, пока Вы не получите наибольшей производительности при наилучшем качестве.)

cl_show_bloodsprays [0/1] – Показывает брызги крови. – Может повысить значение FPS в выключенном положении, но минимально.
(Рекомендация:- Оставить со значением "1")

cl_show_splashes [0/1] – Показывает брызги на воде - Может повысить значение FPS в выключенном положении .
(Рекомендация:- Оставить со значением "1" для реализма, выключить на "0" для повышения минимальной производительности около воды.)

cl_showfps [0/1/2] – Показывает счетчик fps на верху экрана (0 = Выкл., 1 = Вкл., 2 = сглаженное (smooth) fps)
(Рекомендация:- - Используйте "cl_showfps 1" вместо net_graph, если Вы только хотите посмотреть значение fps. Если Вы хотите получить больше сетевой информации используйте net_graph.)

cl_smooth [0/1] – Включает и выключает сглаживание реального вида из глаз после ошибок упреждения (0 и 1)
(Рекомендация:- - Эту команду Вы должны попробовать прежде, чем использовать. Если У вас игра подергивается, это потому что, вероятно, значение стоит на "1". Попробуйте поиграть со значением "0" и посмотрите как изменится Ваша точность. Если подергивание исчезло, и у Вас нет проблем с точностью, оставьте значение на "0". Только не вините эту настройку, если Вы – NOOB!)

cl_smoothtime [0-2.0] – Сглаживает вид на стороне клиента после ошибки упреждения через такое-то количество секунд (0.01 – 2.0). Эта команда действует, только если cl_smooth установлена на "1".
(Рекомендация - если cl_smooth установлена на "1", попробуйте сначала установить на 0.01 и потом повышайте. Я использовал значение между 0.01 и 0.03)

fog_enable [0/1] - Включает и выключает изображение тумана. Когда fog_enable поставлена на "1", то Вы увидите видимый туман, если он присутствует на карте. Выключая это значение, Вы получите минимальное значение fps на картах с туманом.
(Рекомендация: - Оставить со значением "1" для реализма, выключить на "0" для повышения минимальной производительности).

fps_max [30-999] – Устанавливает максимальное ограничение для Вашего fps. 0 - без ограничений.
(Рекомендация: - Выставлять данный параметр нужно равным или немного выше частоты обновления Вашего монитора.)

mat_antialias [0/1] – Это Ваша настрока антиалиасинга. Вы можете менять ее вручную или в меню игры: Options > Video > Advanced menu.
(Рекомендация: - Оставьте значение по умолчанию)

mat_bumpmap [0/1] – Установка бампмэппинга (от англ. bumpmapping - техника эмуляции неровностей (или моделирования микрорельефа) на плоской поверхности в результате чего объекты выглядят более реалистично). При включенном на "1" дает уменьшение FPS на 5-10%. Существует заметная разница в изображении текстур при выключении на "0", но когда я увлеченнно играл, то я этого не замечал.).
(Рекомендация: - Установить на "0", чтобы получить 5-10% прирост производительности)

mat_clipz [0/1] – Это оптитмизация видеоизображения, которая только "вытягивает" то, что видно на экране на стороне клиента, что приводит к приросту производительности. Если у Вас имеются проблемы с видеоизображением при включенном значении, это значит, что Ваша видеокарта не поддерживает эту функцию, и Вы должны выставить значение на "0".
(Рекомендация: - Оставьте значение по умолчанию)

mat_compressedtextures [0/1] - Включает и выключает сжатые текстуры ("compressed textures"). При выключении на "0", Вы получите минимальное улучшение качества с существенным снижением производительности – на 10-15%. При включении на "1" система использует сжатые текстуры, которые проще обрабатывать. Это похоже на файлы изображений форматов jpeg и bmp. Они выглядят одинаково, но jpeg меньше с лушей компрессией.
(Рекомендация: - Оставить включенной на "1")

mat_dxlevel [50/60/70/80/81/90/95] – Уровень DirectX Level, по умолчанию является оптимальным, но Вы можете настроить его вручную. Хорошей идеей является переключение Вашего dxlevel на другой уровень, а затем обратно на Ваше исходное значение, потом перегрузить Ваши установки Video и перезапустить игру. Например, У вас DX9, Вы переключаетесь на mat_dxlevel 81, а потом обратно на mat_dxlevel 90. После этого Вы заходите в настройки игры и переустанавливаете Video settings, а затем перезагружаете игру. Понижение этого значения может привести к увеличению производительности, но снизит общее качество изображения).
(Рекомендация: - Оставьте значение по умолчанию)

mat_fastnobump [0/1] – Эта настройка, похоже, работает только при включенной mat_bumpmap. При значении "1" эта настройка снижает качество некоторых текстур при повышении производительности.

(Рекомендация: - Оставьте значение по умолчанию или выключить на "0")

mat_fastspecular [0/1] - Включает и выключает отражательность для видео тестов. Эта настройка, похоже, действует только при включенной mat_specular. Если Вы выставите ее на "0", когда включена mat_specular, Вы получите небольшой прирост производительности.
(Рекомендация: - Оставьте значение по умолчанию или включите на "1")

mat_filtertextures [0/1] - Включает и выключает фильтрацию текстур. Когда эта настройка выставлена на "0", Вы получите нефильтрованные зернистые текстуры с приростом производительности.
(Рекомендация: - Оставьте значение по умолчанию или включите на "1")

mat_forceansio [0/1] – Установка Ansio. Вы можете изменить ее вручную или в меню Options > Video > Advanced menu.
(Рекомендация: - Оставьте значение по умолчанию)

mat_mipmaptextures [0/1] - Включает и выключает mipmaptextures. Эта команда определяет четкость текстур. Если Вы ее выключите, то получите размытые текстуры с небольшим приростом производительности. В среднем FPS у меня повышался со 110 до 111, когда я ее выключал, что составляет менее 1%.
(Рекомендация: - Оставьте значение по умолчанию или включите на "1")

mat_monitorgamma [0-9.9] – Регулирует показатель gamma монитора (типично - 2.2 для ЭЛТ и 1.7 для ЖК).
(Рекомендация: - Это определенно зависит от личных предпочтений. Я использую 2.0 на моем ЭЛТ).

mat_specular [0/1] - Включает и выключает отражательность. При включении на "1" дает уменьшение FPS на 5%. Я не заметил существенной разницы в качестве при выключении.
(Рекомендация: - Установить на "0" для получения 5%-ого прироста производительности)

mat_vsync [0/1] – обеспечивает синхронизацию с обратным ходом кадровой развёртки
(Рекомендация: - Оставьте значение по умолчанию и установите значение fps_max в соответствии частотой регенерации монитора (refresh rate)

mp_decals [0-9999] – Устанавливает максимальное количество декалей в многопользовательской игре. Уменьшение этого значения повышает производительность, но уменьшает количество декалей, которые сохраняются в памяти на стороне клиента. Также помните, что брызги крови помогут Вам понять, где прячутся игроки и т.п., поэтому, оставляя это значение по умолчанию или даже увеличивая его – это также Ваш выбор.
(Рекомендация: - Оставьте значение по умолчанию или измените его в зависимости от необходимости, имея в виду, что производительность возрастает с уменьшением числа декалей.)

r_decals [0-9999] - Устанавливает максимальное количество декалей. Уменьшение этого значения повышает производительность, но уменьшает количество декалей, которые сохраняются в памяти на стороне клиента. Также помните, что брызги крови помогут Вам понять, где прячутся игроки и т.п., поэтому, оставляя это значение по умолчанию или даже увеличивая его – это также Ваш выбор
(Рекомендация: - Оставьте значение по умолчанию или измените его в зависимости от необходимости, имея в виду, что производительность возрастает с уменьшением числа декалей.)

r_dynamic [0/1] - Включает и выключает динамическое освещение. При выключении Вы получаете прирост производительности при небольшом ухудшении качества изображения.
(Рекомендация: - Оставьте значение по умолчанию или измените его в зависимости от необходимости,"0" – для производительности, "1" – для качества)

r_propsmaxdist [0-9999] – Устанавливает максимальную дистанцию видимости предметов. Уменьшение значения по сравнению с дефолтным приводит к росту производительности. Если уменьшить слишком сильно, это приведет к тому, что предметы будут вдруг появляться у Вас на экране, поэтому безопасными значениями являются 600 – 1800, а оптимальным – 1200.
(Рекомендация: - Оставьте значение по умолчанию или измените его в зависимости от необходимости, имея в виду, что производительность возрастает с уменьшением дистанции.)

r_rainalpha [0-9999] – Меняет альфа-фактор цвета дождя. (0=Выкл., более высокие значения делают дождь темнее)
(Рекомендация: - Оставьте значение по умолчанию или уменьшите для того, чтобы сделать дождь светлее. Не увеличивайте значение.)

r_RainSimulate [0/1] - Включает и выключает симуляцию дождя (0=Выкл., 1=Вкл.)
(Рекомендация: - Личное предпочтение. Выключите на "0", если Вы хотите лучшей видимости и оставьте включенным для реализма. Если Вы хотите и того и другого, то отрегулируйте настройку r_rainalpha так, чтобы и дождь был, и была лучшая видимость.)

r_shadows [0/1] - Включает и выключает shadows
(Рекомендация: - Оставьте значение по умолчанию.)

r_WaterDrawReflection [0/1] - Включает и выключает отражения на воде. Выключая на "0", Вы получите прирост производительности, но вид воды станет нереалистичным, и могут даже возникнуть проблемы с видеорендерингом водных текстур .
(Рекомендация: - Оставьте значение по умолчанию)

differences – Показывает те настройки, значения которых отличаются от значений по умолчанию.
(Рекомендация: - Используйте для проверки того, какие значения Вы изменили по сравнению с дефолтными.)

Вы можете сказать: "Ух ты! Так много разных команд, но какие из них наиболее важные?" Поэтому ниже я привожу те команды, которые я считаю самыми важными с точки зрения влияния на производительность:

cl_smooth
fps_max
mat_bumpmap
mat_compressedtextures
mat_dxlevel
mat_specular

Примечание: Описание даны к версии 1.6, но применимы и к сорс.




Cущественно изменено мной, SeReGa
Перевод: L i P k I y
Автор: DragonOmega
Источник: Форумы www.hlfallout.com



Добавить комментарий


Защитный код
Обновить