Навигация


Автор статьи: BaRanOff


Что такое FPS/ФПС и зачем его повышать?


Frames Per Second — количество кадров в секунду на экране монитора выдаваемых программным обеспечением видеокарты. Характеризует производительность видеосистемы компьютера. Иначе говоря это кол-во кадров в секунду, чем больше, тем лучше. Минимум для комфортной игры надо 30 стабильных ФПС, лучше от 60 и выше, идеал считается 125fps.


Повышаем ФПС в игре Paladins, проверено на версии Paladins Beta 0.50.1832.3, он же 50 Patch

В игре узнать ваш ФПС можно клавишей F9 или через чат (он же консоль) ввести /stat fps

a) Для начала хочу отметить что играю не через Стим, а через официальный лаунчер с сайта Hi-Rez ибо ФПС проседал даже от Стима (и даже от TeamSpeak3!)

Почему?

Все просто. В первую очередь игра использует по максимуму процессор (от 89% до 99%), а потом уже видеокарту (в среднем от 40% до 60%).
Прирост фпс в игре не через Стим составил + ~8FPS

P.S. Надо ли говорить про обновление и настройку драйверов, антивирусы (добавить игру в исключение\игровой режим\удаление), чистилки (CCleaner и т.п.), дефрагментацию (Auslogics Disk Defrag и т.п.), разгон комплектующих, отключение ненужных служб Windows, отключение лишнего в Автозагрузке, удаление лишнего с ПК, минимизировать перегревы, настроить Windows на лучшее быстродействие и прочее?

b) За «убийство» графики и прочие «ковыряния» в конфигах не банят, это не чит\не хак (на момент написания статьи имею уже 35 уровень и более 100 часов игры). Таким же образом графику «убивают» и в QuakeLive (id Tech 3), Unreal Tournament 3 (UE3) и других подобных играх на этих движках, да даже в CS:GO (Source). Делают это для удобства, в уклон на результат\киберспорт и FPS.

Также через конфиги можно тоньше настроить саму игру (к примеру сенс, отображение и пищалки чата и т.п., и т.д.).

Игра использует движок UnrealEngine 3.5, следовательно пользуйтесь официальной документацией движка (для дополнительной оптимизации игры через *.ini’s).

c) Что интересно: от каждого чемпиона будет немного другой ФПС. К примеру взять таких чемпионов: Sha Lin, Bomb King и Ruckus. Выше всего ФПС (при просмотре чемпионов уже на убитой графике) у Ша Линя (155), потом БК (144), потом Рукус (130)

d) Очень желательно чтобы путь до игры не содержал пробелов и кириллицы! (Да, игра до сих пор имеет с этим болячки)

e) Все манипуляции испытывались на конфигурации: Intel Core 2 Duo E6420 2.18Ghz/2.75Gb DDR2 800Mhz/HDD IDE Seagate 250Gb/Win XP SP3 x86/ATI Radeon HD4650 1Gb DDR2 PCI-e (версия драйверов 14.4)


Первичная настройка и немного про звук


Приготовление:

! Запускаем игру чтобы она создала конфиги, затем настраиваем управление, опции самой игры, контроллер (если надо), аудио, и настройки графики (ставим на самые низкие значения), вертикальная синхронизация должна быть отключена. Само по себе снижение графики через Опции уже повысит фпс, однако целью является ее «убийство» и полный выжим фпс из слабого ПК! Также можно уменьшить угол обзора (FOV), тоже влияет и дает 3-4 ФПС

!! Убираем в аудио весь звук, кроме выстрелов. Да, это тоже влияет на фпс, оставив только звуки выстрелов фпс вырос на 3-4 кадра.

!!! Также можно урезать аудио каналы для прибавления еще пары-тройки фпс и это иногда спасает от зависания звуков :

ПУТЬ ДО ИГРЫ\paladins\ChaosGame\Config\ ->

DefaultEngine.ini ->

затем ищем [ALAudio.ALAudioDevice] и в строке

MaxChannels=32 меняем на MaxChannels=24 или 16 (ниже не стоит)

P.S. Почему влияет звук на ФПС? Все очень просто. Встроенные чипы звуковых карт используют для обработки звука и без того страдающих процессор (Особенно AC’97). Если у вас дополнительная звуковая карта, то вам можно особо не заморачиваться!

Внимание! Изменение MaxChannels в любую из сторон на некоторых системах (как у меня) провоцирует частые вылеты игры

Убираем ограничения FPS


Чтобы выжать без каких-либо ограничений весь ФПС из нашего ПК надо оное убрать:

Идем в Диск:\Documents and Settings\ИМЯ\Мои документы\My Games\paladinslive\ChaosGame\Config,

ChaosEngine.ini ->

[Engine.Engine]
bSmoothFrameRate=TRUE меняем на FALSE
MinSmoothedFrameRate=22 меняем на 125
MaxSmoothedFrameRate=62 меняем на 150

далее в

[Engine.GameEngine]
bSmoothFrameRate=TRUE меняем на FALSE
MinSmoothedFrameRate=22.000000 меняем на 125.000000
MaxSmoothedFrameRate=62.000000 меняем на 150.000000

Дополнительно снимаем ограничения еще в двух Default & Base конфигах:

ПУТЬ ДО ИГРЫ\paladins\ChaosGame\Config ->

DefaultEngine.ini ->

[Engine.GameEngine]
bSmoothFrameRate=TRUE меняем на FALSE
MinSmoothedFrameRate=22.000000 меняем на 125.000000
MaxSmoothedFrameRate=62.000000 меняем на 150.000000

И последний раз в ->

ПУТЬ ДО ИГРЫ\paladins\Engine\Config ->

BaseEngine.ini ->

[Engine.Engine]
bSmoothFrameRate=TRUE меняем на FALSE
MinSmoothedFrameRate=22 меняем на 125
MaxSmoothedFrameRate=62 меняем на 150


Параметры запуска


— В лаунчере Paladins кликнуть на значок с 3-мя полосками (Значок Настроек иначе) — Настройки — В строку параметра запуска вставить:

-nosplash (без всяких «заставок» / ускоряет запуск игры (если были бы заставки, в теории, должно было бы убрать их))
-USEALLAVAILABLECORES (Задействовать все ядра для игры. Есть баг на ноутбуках с Intel TurboBoost (к примеру, первые Acer с первым поколением Intel i7), убрать это, если упала производительность)

— Дополнительно:
-32bit или -64bit (в зависимости от битности системы, лучше всегда указывать -32bit),
-nod3d9ex (помогает с табулированием, может прибавить ФПС когда вы запускаете игру в оконном / полноэкранном оконном режиме),
-high (высокий приоритет игре)


Выключаем лишнее (с пояснениями)


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

Идем вДИСК:\Documents and Settings\ИМЯ ПОЛЬЗОВАТЕЛЯ\Мои документы\My Games\paladinslive\ChaosGame\Config,

ChaosSystemSettings.ini ->

[SystemSettings]

StaticDecals=False (Статичные декали, т.е. граффити, плакаты и т.п.)

DynamicDecals=False (Динамичные декали, т.е. следы от пуль и т.п.)

UnbatchedDecals=False (?Что-то связанное с отображение как статичных так и динамических декалей?)

DecalCullDistanceScale=0.000000 (Расстояние видимости декалей, чем ниже значение, тем меньше дальность, т.е. дальние не видны. Max 1.000000, min 0.000000?)

DynamicLights=False (Динамическое освещение, т.е. свет в движение от взрывов и прочего)

DynamicShadows=False (Динамические тени, т.е. те тени которые двигаются. К примеру, чемпионов, тележки и т.п.)

LightEnvironmentShadows=False (Тени от окружающей среды)

CompositeDynamicLights=True (Упрощает расчёт освещения от нескольких локальных источников света, расположенных рядом)

SHSecondaryLighting=False (Немного освещает слишком темные участки карты)

DirectionalLightmaps=True (НЕЛЬЗЯ ВЫКЛЮЧАТЬ! ИНАЧЕ ВСЕ ТЕКСТУРЫ БУДУТ ЧЕРНЫМИ!)

MotionBlur=False (Размытие при движениее)

MotionBlurPause=False (?Задержка при размытии в движении?)

MotionBlurSkinning=0 (Размытие персов героев, текстур при движении, 0-выкл., 1-вкл.)

DepthOfField=False (Включает эффект “размытых текстур”, убрав ее получил сразу +8-10фпс везде!)

AmbientOcclusion=False (реалистичное затемнение)

Bloom=False (Блюм (всякое «цветение»))

bAllowLightShafts=False (Различные световые лучи, к примеру, когда смотрите на солнце)

Distortion=False (Отвечает за реалистичность и красоту взрывов, выстрелов и т.п.)

FilteredDistortion=False (Фильтрация красот от взрывов и выстрелов)

DropParticleDistortion=True (Уменьшает качество эффектов частиц взрывов и выстрелов)

bAllowDownsampledTranslucency=False (?Использовать простой рендер для увеличения ФПС, НО! с бОльшой нагрузкой на систему?)

SpeedTreeLeaves=False (Лишняя листва)

SpeedTreeFronds=False (Лишняя трава)

OnlyStreamInTextures=False (Включение этой опции может повысить плавность игры\увеличить фпс за счёт предварительной загрузки текстур. Можно и True, если ПК хотя бы «средний»)

LensFlares=False (Блики)

FogVolumes=False (Туман)

FloatingPointRenderTargets=True (Рендер с плавающей точкой. Отключает антиалиасинг (сглаживание) в игре)

OneFrameThreadLag=True (Видеокарта обрабатывает дополнительно еще один кадр пока идет нынешний)

UseVsync=False (Верт. синхр.)

ModulatedShadowStartFadeDistance=0.000000 (?Начальное затухание теней?)

ModulatedShadowFullyFadeDistance=0.000000 (?Полное/конечное затухание теней?)

VsyncPresentInterval=0 (?Интервал Верт. Синх.?, 0-выкл., 1-вкл.)

bUseTripleBuffering=False (Тройная буферизаяция, нужна только если включена Верт. Синхр.)

UpscaleScreenPercentage=True (?Помогает увеличить фпс без потери качества, если игра не занимает все 100% экрана?)

MeshScreenPixelAreaThreshold=0.000000 (???, понизил с 16 до 0 без потерь в ФПС)

AllowImageReflectionShadowing=False

MaxFilterBlurSampleCount=2 (?Максимальное значение для фильтров образцов?, от 0 до 16)

SkeletalMeshLODBias=4 (Сглаживание моделей, от -1 до 4, где -1 самая высокая степень сглаживания)

ParticleLODBias=10 (Ясность текстур, чем выше значение тем менее детализирована текстура и более размыта, от -1 до 10)

DetailMode=0 (Качество детализации, от 0 — минимум, до 4 — максимум)

MaxDrawDistanceScale=0.800000 (Масштаб к прорисовке деталей, прироста при изменении не замечено, от 0 до 1)

ShadowFilterQualityBias=0 (Сглаживание контуров теней, от -1 до 4, где 4 максимум)

MaxAnisotropy=0 (Анизатропия (сглаживание))

MaxMultisamples=0 (Замена Анизотропии (другому сглаживанию))

bAllowD3D9MSAA=False (Сглаживание MSAA DirectX 9.0c)

MinShadowResolution=0 (На каком минимальном расстоянии видно тени, 0 — нигде, 500 — везде)

MinPreShadowResolution=0 (Разрешение дальних теней)

MaxShadowResolution=0 (Максимальное разрешение теней)

MobileShadowTextureResolution=0 (?Разрешение подвижных теней?)

MaxWholeSceneDominantShadowResolution=0 (Детальность и отчетливость теней, от 0 до 4096)

ShadowFadeResolution=0 (Общее разрешение теней при отдалении от них, от 0 до 4096)

PreShadowFadeResolution=0 (?от 0 до 16, видимо, тоже что и выше?)

ShadowFadeExponent=2.200000 (Регулирует на каком расстоянии будут исчезать тени, чем выше значение, тем дальше)

ResX=800 (Разрешение по ширине)

ResY=600 (Разрешение по высоте)

ScreenPercentage=95.000000 (Процент обработки экрана, полезно при включенном UpscaleScreenPercentage=True)

ShadowTexelsPerPixel=0.000000 (Связано с размером отображения теней вдали и вблизи)

bUseConservativeShadowBounds=True (Использовать ли безопасное и консервативное создание теневых усечений, отнимающее часть пространства теневых карт. Не заметил в итоге ничего)

ShadowFilterRadius=2.000000 (Смещение динамических теней ?одной модели? относительно друг друга, чем выше значение тем ближе)

ShadowDepthBias=0.012000 (Также связано со смещением теней, ничего не замечено при изменении)

UnbuiltWholeSceneDynamicShadowRadius=10000.000000 (Связано с радиусом динамических теней, максимум — 20000.000000, минимум — ?)

UnbuiltNumWholeSceneDynamicShadowCascades=1 (Связано с каскадами динамических теней, максимум — 3, минимум — ?)

WholeSceneShadowUnbuiltInteractionThreshold=20 (Также связано с динамическими тенями, максимум — 50, минимум — ?)

bForceCPUAccessToGPUSkinVerts=false (Использовать дополнительные ресурсы процессора для помощи в обработке видеокарте, если процессор слабый, то ФПС будет еще ниже, нужен мощный процессор, тогда будет толк)

TargetFrameRate=75 (Желаемое ФПС, к которому стремится ПК, значение может быть любое, но опять же, желаемо, поддерживаемая монитором герцовка)


Дополнительно можно изменить следующее в той же папке Config в файле ChaosEngine.ini ->

[Engine.Engine] ->

bShouldGenerateSimpleLightmaps=TRUE
+
bUseNormalMapsForSimpleLightMaps=FALSE
(Обе настройки связаны с отображением теней и их генерацией, простые тени и малая генерация повышают производительность)

AllowShadowVolumes
=FALSE (Объемные тени)


«Убиийство» текстур\выстрелов\взрывов


Последний шаг для выжима всех капель ФПС’а (меньше глаза отвлекают всякие взрывы)

Идем в

ДИСК:\Documents and Settings\ИМЯ ПОЛЬЗОВАТЕЛЯ\Мои документы\My Games\paladinslive\ChaosGame\Config ->

ChaosSystemSettings.ini ->

[SystemSettings]

Ищем строку TargetFrameRate=…

И после нее идут большие строки с параметрами текстур, героев, взрывов, освещения и прочего…


Собственно, меняете числовые значения как здесь, остальные куски строк не трогать!
Скрины как это выглядит после всех изменений с выключением и «убийством» графики находятся в конце статьи
Значения можно и не только 16, а 8, 32, 128, 256 и т.д. На ваш вкус, но оптимальными считаю те, что нашел в сети, ибо значение 16 нижайшее и не глючит, тестировал разные сочетания (8 уже начинает «одноцветить» некоторых героев (оранжевый БК, фиолетовый Пип), для Skybox = Небо не страшно)TEXTUREGROUP_World=(MinLODSize=16,MaxLODSize=16,LODBias=2,
TEXTUREGROUP_WorldNormalMap=(MinLODSize=16,MaxLODSize=16,LODBias=2,
TEXTUREGROUP_WorldSpecular=(MinLODSize=16,MaxLODSize=16,LODBias=3,
TEXTUREGROUP_Character=(MinLODSize=16,MaxLODSize=16,LODBias=1,
TEXTUREGROUP_CharacterNormalMap=(MinLODSize=16,MaxLODSize=16,LODBias=1,
TEXTUREGROUP_CharacterSpecular=(MinLODSize=16,MaxLODSize=16,LODBias=0,
TEXTUREGROUP_Weapon=(MinLODSize=16,MaxLODSize=16,LODBias=2,
TEXTUREGROUP_WeaponNormalMap=(MinLODSize=16,MaxLODSize=16,LODBias=2,
TEXTUREGROUP_WeaponSpecular=(MinLODSize=16,MaxLODSize=16,LODBias=2,
TEXTUREGROUP_Vehicle=(MinLODSize=16,MaxLODSize=16,LODBias=2,
TEXTUREGROUP_VehicleNormalMap=(MinLODSize=16,MaxLODSize=16,LODBias=2,
TEXTUREGROUP_VehicleSpecular=(MinLODSize=16,MaxLODSize=16,LODBias=2,
TEXTUREGROUP_Cinematic=(MinLODSize=16,MaxLODSize=16,LODBias=2,
TEXTUREGROUP_Effects=(MinLODSize=16,MaxLODSize=16,LODBias=2,
TEXTUREGROUP_EffectsNotFiltered=(MinLODSize=16,MaxLODSize=16,LODBias=2,
TEXTUREGROUP_Skybox=(MinLODSize=8,MaxLODSize=8,LODBias=0,
TEXTUREGROUP_UI=(MinLODSize=1,MaxLODSize=16,LODBias=0,
TEXTUREGROUP_Lightmap=(MinLODSize=1,MaxLODSize=16,LODBias=3,
TEXTUREGROUP_Shadowmap=(MinLODSize=1,MaxLODSize=16,LODBias=0,
TEXTUREGROUP_RenderTarget=(MinLODSize=1,MaxLODSize=16,LODBias=0,
TEXTUREGROUP_MobileFlattened=(MinLODSize=1,MaxLODSize=16,LODBias=1,
TEXTUREGROUP_ProcBuilding_Face=(MinLODSize=1,MaxLODSize=16,LODBias=1,
TEXTUREGROUP_ProcBuilding_LightMap=(MinLODSize=1,MaxLODSize=16,LODBias=1,
TEXTUREGROUP_Terrain_Heightmap=(MinLODSize=1,MaxLODSize=16,LODBias=0,
TEXTUREGROUP_Terrain_Weightmap=(MinLODSize=1,MaxLODSize=16,LODBias=0,
TEXTUREGROUP_ImageBasedReflection=(MinLODSize=16,MaxLODSize=16,LODBias=1,
TEXTUREGROUP_Bokeh=(MinLODSize=1,MaxLODSize=16,LODBias=1,

Скриншоты с результатами


Здесь приведены тестовые скриншоты (Патч 48), в целом, я добился среднего прироста от 15FPS (самые открытые и сложные участки карт с кучей взрывов и стрельбы) до 41FPS (на закрытых и легких участках карт с кучей взрывов и выстрелов)
Без взрывов, выстрелов и прочей мишуры ФПС еще больше

Яркость, если изменить графику через конфиг, изменится, сразу ее меняйте!
Все результаты сделаны при разрешении 800×600 и FOV=100 (при не «убитой») и FOV=90 (при «убитой»)
 
 

Если настройки изменяются на прошлые версии


Дабы настройки не слетали без нашего ведома, надо запретить их перезаписывать, а именно надо выставить атрибут ТОЛЬКО ЧТЕНИЕ таким файлам как ChaosEngine.ini, ChaosSystemSettings.ini и CloudStorage.ini

ПКМ->Галочка у атрибута Только чтение->Применить->ОК

ChaosEngine.ini, ChaosSystemSettings.ini:
ДИСК:\Documents and Settings\ИМЯ ПОЛЬЗОВАТЕЛЯ\Мои документы\My Games\paladinslive\ChaosGame\Config

CloudStorage.ini:
ДИСК:\Documents and Settings\ИМЯ ПОЛЬЗОВАТЕЛЯ\Мои документы\My Games\paladinslive\ChaosGame\Cloud

И ВЫКЛЮЧИТЬ СИНХРОНИЗАЦИЮ НАСТРОЕК:

Идем в

ДИСК:\Documents and Settings\ИМЯ ПОЛЬЗОВАТЕЛЯ\Мои документы\My Games\paladinslive\ChaosGame\Cloud

CloudStorage.ini ->

[CloudStorageEmulation]

UpgradeKey=0


Скачать конфигурацию


СКАЧАТЬ конфиг под АКТУАЛЬНЫЙ (53) патч (800×600, FOV=90)

P.S. Не забудьте изменить яркость под себя в игре и разрешение/fov в самом конфиге!


VOICE CHAT ОТКЛЮЧЕН!!!

Включить обратно: снять атрибут Только чтение у файла ChaosEngine.ini, и изменить в игре настройки, после проверить и изменить в

[VoIP]

bHasVoiceEnabled=false

на

bHasVoiceEnabled=true