
Инструкция по улучшению производительности Skyrim
Что нового в версии 1.3:
- Добавлены многие параметры
- Некоторые параметры были изменены
- Некоторые параметры были удалены
Подробно:
Первое что вы должны сделать, открыть папку C:\Users\"Имя пользователя"\Documents\My Games\Skyrim (или MyDocuments\My Games\Skyrim, зависит от Операционной Системы) и открыть Skyrim.ini в блокноте.
1. Добавьте в секцию [HAVOK] строки:
iNumThreads=8 (если у вас 8 ядер) или 5 (если у вас меньше 8 ядер)
fMaxTime=0.0333 (для 30fps), может помочь производительность на медленных компьютерах
fMaxTime=0.0166 (для 60fps)
fMaxTime=0.0157 (для +60fps)
fMaxTime=0.0133 (для 75fps)
fMaxTime=0.0111 (для 90fps)
fMaxTime=0.0083 (для 120fps)
fMaxTime=0.0069 (для 144fps)
2. [Display]
Это решит проблему с мерцающими тенями.
fSunShadowUpdateTime=0
fSunUpdateThreshold=2.0
3. Добавьте в [General] строки:
Предупреждает вылеты при загрузке больших локаций.
iLargeIntRefCount=999999
Исправляет внезапно появляющиеся источники света.
fFlickeringLightDistance=8192
uExterior Cell Buffer=0 или удалить этот параметр (ставьте на свой страх и риск) (говорят, что из-за этого параметра бывают вылеты, так как игра, разгружает много областей сразу)
bPreCullActors=1
(если у вас 8 ядер)
iHWThread6=6
iHWThread5=6
iHWThread4=6
iNumHWThreads=8
(для тех у кого многоядерные процессоры)
bBorderRegionsEnabled=0 (убирает невидимый барьер вокруг Skyrim'а)
bUseThreadedTempEffects=1
bUseThreadedParticleSystem=1
bMultiThreadMovement=1
bUseThreadedMorpher=1
uGridsToLoad=7 (многие советую именно это значение, чтобы избежать вылетов) (можно ставить только нечетные числа, чем больше тем FPS меньше, но детализация выше)
bForceFullLOD=1 (полный уровень детализации)
bPreemptivelyUnloadCells=0 (Советую ставить 0), но если 1 тогда игра будет автоматически очищать ячейки памяти, которые по её мнению больше не нужны)
4. Добавьте в [BackgroundLoad]:
Будут очищаться ячейки памяти при быстром путешествии.
bSelectivePurgeUnusedOnFastTravel=1
bBackgroundLoadLipFiles=1
bLoadBackgroundFaceGen=1
bUseMultiThreadedFaceGen=1
bBackgroundCellLoads=1
bLoadHelmetsInBackground=1
bUseMultiThreadedTrees=1
bUseBackgroundFileLoader=1
5. Добавьте в [Combat]:
Исправление прицела:
fMagnetismStrafeHeadingMult=0.0
fMagnetismLookingMult=0.0
f1PArrowTiltUpAngle=0.2
f3PArrowTiltUpAngle=0.5
f1PBoltTiltUpAngle=0.2
f3PBoltTiltUpAngle=0.5
6. [Grass]
bAllowLoadGrass=0
bAllowCreateGrass=1
bDrawShaderGrass=1
iMaxGrassTypesPerTexure=6 (если у вас мощный ПК, то можете ставить 10 или больше) (разновидность травы)
iMinGrassSize=70 (Отвечает за плотность травы. Очень сильно влияет на производительность. Основные значения: 20, 40, 60, 80. Чем выше значение, тем реже трава и выше производительность. Может сильно пострадать графическая составляющая (по большей степени в тундре и вокруг Вайтрана, в лесных массивах практически незаметна))
b30GrassVS=1
7. [Decals]
bDecalMultithreaded=1 (для тех у кого многоядерные процессоры)
8. В секции: [Imagespace]:
Убирает блюр во время боя и тем самым повышает производительность (только во время боя)
bDoRadialBlur=0
9. [Papyrus] Делает работу скриптов более плавнее и лучше (или чтобы не было CTD)
iMaxAllocatedMemoryBytes=2000000000 (если у вас 4 Гб оперативной памяти)
iMaxAllocatedMemoryBytes=3000000000 (если у вас 6 ГБ оперативной памяти)
iMaxAllocatedMemoryBytes=4000000000 (если у вас 8 Гб оперативной памяти)
fUpdateBudgetMS=1.2 (если большие скрипты, то советую ставить до 1.6, ( 2.0 максимум)
fExtraTaskletBudgetMS=1.2 (соответствуйте с параметром выше)
fPostLoadUpdateTimeMS=500.0 (вы можете поставить 750, 1000, 2000 или больше, в зависимости сколько у вас модов, тем больше, тем советую параметр ставить больше)
iMinMemoryPageSize=128
iMaxMemoryPageSize=512
iMaxAllocatedMemoryBytes=76800
bEnableLogging=0
bEnableTrace=0
bLoadDebugInformation=0
bEnableProfiling=0
10. [Animation]
bMultiThreadBoneUpdate=1
Сохраните и закройте Skyrim.ini.
Примечание: Если каких-то секций нет в .ini, то вам следует добавить их самостоятельно в конец файла.
Откройте SkyrimPrefs.ini в блокноте.
1. [General]
(для тех у кого многоядерные процессоры)
bUseThreadedParticleSystem=1
bUseThreadedBlood=1
bUseThreadedMorpher=1
bUseThreadedTempEffects=1
bUseThreadedTextures=1
bUseThreadedMeshes=1
bUseThreadedLOD=1
bUseThreadedAI=1
bUseThreadedMorpher=1
bRunHighLevelProcess=1 (Высокий приоритет Skyrim'а)
bUseHardDriveCache=1
bEnableStoryManagerLogging=0
2. [BackgroundLoad]
bBackgroundLoadLipFiles=1
bLoadBackgroundFaceGen=1
bUseMultiThreadedFaceGen=1
bBackgroundCellLoads=1
bLoadHelmetsInBackground=1
bUseMultiThreadedTrees=1
3. [Imagespace] (Убирает блюр во время боя и тем самым повышает производительность (только во время боя))
bDoRadialBlur=0
iRadialBlurLevel=0
4. В секции [Controls]:
Выключает ускорение мыши, вызывающее проблемы у многих игроков.
bMouseAcceleration=0
5. В секции [Display]:
Для исправления "лагов" теней при циклических переходах:
sD3DDevice="тут название вашей видеокарты будет"
fSunShadowUpdateTime=0.0025
fSunUpdateThreshold=0.0025
Исправление "блочных" теней на объектах: (Снижает FPS)
fShadowBiasScale=0.1500
fInteriorShadowDistance=2500.0000
fShadowDistance=2500.0000
iBlurDeferredShadowMask=3
iShadowMaskQuarter=4
iShadowFilter=4
fShadowLODStartFade=500.0000
iShadowMode=4
bTreesReceiveShadows=1
bDrawShadows=1
bShadowMaskZPrepass=0
iShadowMapResolutionSecondary=4096
iShadowMapResolutionPrimary=4096 (если этой строки нет, надо будет дописать)
iShadowMapResolution=4096 (если этой строки нет, надо будет дописать)
Включение вызывает баг с тенями на ландшафте. Оставьте значение "0". Если вы используете один из ENB-модов, то можете поставить значение "1".
bDrawLandShadows=0
Отвечает за дальность отрисовки теней. Имеют большое значение на производительность. Чем ниже значение, тем больше FPS, но графическая составляющая может сильно пострадать: тень от персонажа становится короче, тени от объектов будут отрисовываться непосредственно вблизи персонажа (лично у меня стоит в обеих случаях значение 3000). При значении 0 тени исчезнут.
fInteriorShadowDistance=
fShadowDistance=
От мерцания в горах: (Снижает FPS)
fMeshLODFadePercentDefault=1.2000
fMeshLODFadeBoundDefault=256.0000
fMeshLODLevel2FadeTreeDistance=3072.0000
fMeshLODLevel1FadeTreeDistance=4096.0000
fMeshLODLevel2FadeDist=10000000.0000
fMeshLODLevel1FadeDist=10000000.0000
6. [Grass]
bShadowsOnGrass=1
iMaxGrassTypesPerTexure=6 (если у вас мощный ПК, то можете ставить 10 или больше) (разновидность травы)
bAllowLoadGrass=0
bAllowCreateGrass=1
bDrawShaderGrass=1
iMinGrassSize=70 (Отвечает за плотность травы. Очень сильно влияет на производительность. Основные значения: 20, 40, 60, 80. Чем выше значение, тем реже трава и выше производительность. Может сильно пострадать графическая составляющая (по большей степени в тундре и вокруг Вайтрана, в лесных массивах практически незаметна))
b30GrassVS=1
7. В секции [Clouds]
fCloudLevel2Distance=262144.0000
fCloudLevel1Distance=32768.0000
fCloudLevel0Distance=16384.0000
fCloudNearFadeDistance=9000.0000
8. В секции [TerrainManager]
fTreeLoadDistance=125000.0000
fBlockMaximumDistance=80000.0000
fBlockLevel1Distance=80000.0000
fBlockLevel0Distance=80000.0000
fSplitDistanceMult=4.5000
9. [Decals]
bDecalMultithreaded=1
10. В секции: [Particles]:
Отвечает за насыщенность частиц (в большей степени огня и огненных заклинаний). Незначительное их понижение никак не повлияет на графическую составляющую, но несколько FPS добавит.
iMaxDesired=1750 (снижает вероятность увидеть плавающие деревья)
11. В секции: [TerrainManager]:
Отвечает за дальность отрисовки деревьев. Как и в первом случае, незначительное понижение будет незаметно, но игре станет легче "дышать".
fTreeLoadDistance=
fBlockMaximumDistance=
fBlockLevel1Distance=
fBlockLevel0Distance=
12. В секции: [MAIN]:
Отвечает за туман, который окутывает пики гор на горизонте. Понижение этого значения может добавить пару FPS, а на графическую составляющую практически не повлияет.
fSkyCellRefFadeDistance=
(Отключает Автосохранения, поможет избежать вылетов)
bSaveOnPause=0
bSaveOnTravel=0
bSaveOnWait=0
bSaveOnRest=0
13. [SaveGame] (Отключает Автосохранения, поможет избежать вылетов)
bDisableAutoSave=1
14. [Trees]
bAllowLoadTree=0 (снижает вероятность увидеть плавающие деревья)
bUseMultiThreadedTrees=1
bRenderSkinnedTrees=1
uiMaxSkinnedTreesToRender=40 (дальность отображения деревьев качающихся на ветру)
15. [Navmesh]
bUseThreadedMeshes=1
Сохраните и закройте SkyrimPrefs.ini.
Другое: (Параметры, которые должны быть по моему мнению)
1. SKSE.ini
[Display]
iTintTextureResolution=2048
[General]
ClearInvalidRegistrations=1
EnableDiagnostics=1
[Memory]
DefaultHeapInitialAllocMB=1024 (если у вас много модов, можете поставить 1024, максимальное значение 1280) (По умолчанию: 768)
ScrapHeapSizeMB=256
[Interface]
EnableContainerCategorization=1
[Debug]
WriteMinidumps=0
2. Enblocal.ini (некоторые рекомендуют выставить вот так)
ExpandSystemMemoryX64=false
ReduceSystemMemoryUsage=true
ВНИМАНИЕ: Если какого-то параметра не будет, то добавьте его в ручную!
Пятое. О графике. Сначала о траве. Она создаёт солидную нагрузку, так как является огромным массивом текстур. Её количество регулируется параметром «iMinGrassSize». Однако предложенное значение превратит Скайрим почти в пустыню. Я использовал значение 40.
Не советую менять другие параметры из раздела [Grass]без крайней нужды. (Хотя, автор известного мода «Skyrim Flora Overhaul» предлагает изменить параметр «iMaxGrassTypesPerTexure» до 7.) Хотите быть без травы, используйте значение 1000.
Что касается других параметров графики, то предложена какая-то мешанина, «салат из озёрных грибков». Так и хочется спросить: так мы ухудшаем или улучшаем? Все эти огромные значения для теней и дальности видимости… Зачем? Зачем видеть тени через всю ячейку, да ещё и с феноменальным качеством (4К)? Зачем, находясь на востоке Скайрима, у Рифтена видеть что-то там на западе, у Солитьюда? Ведь куда важнее корректные обсчёт и отображение того, что находится в непосредственном окружении главного героя. Технически же весь этот вздор только перегружает ЦП и ГП (и перегревает, кстати), вычерпывает память из упоминавшихся совсем не бездонных рабочих 3 Гбайт. Лучше уж использовать классический компромисс: то что ближе — получше качество, дальше — похуже. И не забудьте про «мипмапы» текстур (параметры «iTexMipMapMinimum» и «iTexMipMapSkip»). Нет, конечно, можно настроить и как предложено, но не жалуйтесь на сбои.
В общем, для нормальной настройки используйте предложения разработчиков в лаунчере игры. А для уточнения советую почитать описания параметров здесь и сделать как должно.
Использовалась аппаратура и ОС: Intel Core i5-2500K Sandy Bridge, ASUS P8P67 LE, ASUS STRIX-R9390-DC3OC-8GD5-GAMING (AMD Radeon R9 390), ОЗУ 16 Гбайт, Windows 7 Домашняя, Windows 10 Домашняя.
P.S. Для «Скайрима SE» описание настроек можно найти тут и тут.
Зачем ездить на Запорожце если в гараже рядом стоит Ауди ?
Зачем спать с 60 летней женой если рядом лежит 30 летняя ?
Зачем пить одеколон, когда рядом стоит бутылка Виски ?
Итак, как говорил незабвенный Остап Бендер: «Предоставим небо птицам, а сами обратимся к стульям».
Первое. Не советую экспериментировать с параметрами «uGridsToLoad» и «uExterior Cell Buffer». Рискуете потерять совместимость со своими сохранениями. Об этом уже писал Бандикут_из_Хай_Рока в комм. №252. Потверждаю собственным примером. Совместимость получается частичная. Сохранения сделанные со значением «uGridsToLoad» меньшим текущего загрузятся, а вот наоборот — нет.
Значение «uExterior Cell Buffer» лучше оставить нулевым (как и написано) или вообще удалить (как и «uGridsToLoad»). Оба параметра отвечают за количество обрабатываемых игровым движком ячеек виртуальной сцены. Пусть лучше сам движок решает, сколько он может обсчитать ячеек в текущий момент. При наличии большого количества модов занимающих ОЗУ это особенно актуально (см. ниже).
Второе. Про количество ядер ЦП тоже уже написали. См. комм. №278 от Mitradis. Движок «Скайрима LE» использует не более четырёх ядер. Хоть ты убейся! Убедитесь сами на вкладке «Производительность» «Диспетчера задач». Так что все соответствующие параметры не нужны. К слову, «Скайрим SE» работает вообще на одном ядре, но самом быстром (зависит, видимо, от того как «Windows» управляет программами).
Третье. Предложенные значения «iMaxAllocatedMemoryBytes» вообще бредовые. Поясняю. Код движка 32-разрядный. Это означает использование не более 4 Гбайт (4 294 967 296 байт) ОЗУ. Никакой привязки к количеству ОЗУ в ПК нет. Единственно когда это количество нужно учитывать, когда его менее 6 Гбайт, то есть игра начинает конкурировать за память с «Windows» (ухудшайте качество картинки и ограничте количество модов). Из упомянутых 4 Гбайт около 1 Гбайта используется для размещения кода движка и примерно 3 Гбайта (или меньше, если ОЗУ мало) используется для построения виртуальной сцены (наблюдение из практики). И вот в рамках этих 3 Гбайт (3 221 225 472 байт) параметр «iMaxAllocatedMemoryBytes» при запуске игры резервирует немного ОЗУ для выполнения скриптов. Более того, этот резерв может увеличиваться, если движку это понадобится. Приведённого умолчального значения (76800 байт (вроде правильное)) достаточно. Но если много скриптовых модов и неймётся, можно увеличить аж до 1 Мбайта (1 048 576 байт). Шибко ничего не изменится. И не забывайте, что другие данные тоже должны влезть в эти 3 Гбайта (к счастью, не все сразу).
Значения «iMinMemoryPageSize» и «iMaxMemoryPageSize» приведены умолчальные, и их можно не писать. Они также отвечают за память для скриптов.
Для «Скайрима SE» всех указанных границ, очевидно, нет. Но не стоит злоупотреблять, пусть движок сам решает.
Четвёртое. Параметры «fUpdateBudgetMS» и «fExtraTaskletBudgetMS» (миллисекунды) отвечают за величину «кванта времени» выделяемого для работы скриптовой виртуальной машины игры. Всё как у взрослых (у «Windows»). Ведь не только же скрипты обсчитывать. А как же любимые всеми текстуры? Не говоря уж о взаимодействии с игроком. На это всё тоже нужно время. Для первого параметра умолчальное значение равно 1,2, для второго — вдвое больше, ибо используется в бою. Я экспериментировал с их значениями от 0,25 до 22. Опять же — шибко ничего не изменится. За пределами интервала — сплошные сбои.
Учтите, что умолчальные значения предложены для двухядерного ЦП с частотой 2 ГГц (минимальные требования игры). Однако, чем «быстрее» ПК, тем больше он насчитает за тот же интервал времени. Так что не рвитесь всё менять.
Параметр «fPostLoadUpdateTimeMS» можно увеличить при большом количестве модов. Это вроде как предотвратит сбои при загрузке сохранений. У меня было 3000 (миллисекунд).
Ещё пара слов о времени. Я играл с включенным «Высокоточным таймером событий» (HPET). Некоторые предлагают его отключать. Я попробовал. И ничего не изменилось. Так что не трах…е «Windows».
Есть вариант проще и без графических изменений. даже на слабом железе игра будет летать ( по крайней мере без ENb и с некоторыми графическими модами на травку и деревья
Просто ставить нужный HAVOK под герцовку монитора,
потом отключать вертикальную синхронизацию,
потом прописывать строчку в skyrim ini в дисплее :bLockFrameRate=0.
далее отключать вертикальный синхроинпульс в панели нвидиа ( для обладателей нвидиа)
И всё в принципе. Для лучшей оптимизации лучше скачать очень полезную прогу BethINI. Это аналогично рытью в Skyrim ini и в skyrimpref, только там навигация в разы проще и есть объяснения строчек ( хоть и на английском) В ней же можно и отключить виртикальную синхронизацию и она автиматически прописывает HAVOK и так же может прописать строчку bLockFrameRate=0.
Многа БУКАФ, ХАЧУ ВИДЕО
Так же ещё сделать предварительное кэширование
скачать моды на производительность ( и следовать инструкциям в описании) :
eFPS - Exterior FPS boost
SSE FPS Stabilizer
SSE Display Tweaks
так же отключить все тени в игре. через skyrimpref ютуб в помощь.
сразу пишу, видеокарта у меня gtx 650 ti. Игра плавная без импут лагов и лагов вообще. . Так же установлен enb + красивый пресет и погодный мод "обсидовые погоды". Фпс на улице 30-35, в помещениях 50-65 и без лагов ( только чистый фпс идёт), потому что я прилично так попотел, что бы так настроить. Без всех этих манипуляций с производительностью у меня был фпс 10 и лаги жёсткие и игра тормозила.
EnableFPSLimit=true
FPSLimit=60.0
Обязательно включаем Вертикальную синхронизацию ( и само собой включаем тройную буферизацию , так как они работают в паре ) в настройках видеодрайвера .
Для разного рода ENB пресетов - ENB Boost не нужен на последней версии самого ядра ENB для игры , про это читаем на сайте создателя ядра для всех ENB .
Про [HAVOK]можно добавить вот это :
fMaxTime=0,0042 для 240fps+ кадров в секунду .
Сделать воду прозрачной - идём в настройки bDoDepthOfField по пути C:\Users\...\Documents\My Games\Skyrim\Skyrimprefs.ini и меняем 1 на 0 ( ноль ):
[Imagespace]
bDoDepthOfField=0
P.S. Извиняюсь за тавтологию , больно много повторов ...
Я так понимаю, что многие значения - умножаются на fnear. И если сделать не 15, а 0.1, то многие (но не все) дистанции выставленные в настройках фактически станут в 150 раз меньше.
iShadowMapResolutionPrimary=4096 (если этой строки нет, надо будет дописать)
iShadowMapResolution=4096 (если этой строки нет, надо будет дописать)
P.S. Гораздо ценее гайд о том как запустить Skyrim LE без лагов на хороших офисных картах, типа nvidia GT1030 2GB VrAM... Наверняка можно играть на высоких настройках и без HD текстур, если убрать те графичесакие эффекты , которые в принципе и не видишь в игре. Например, тень, от травы )
Если кто то добился нормальной картинки без лагов на офисной карте, плиз, напишите гайд и выложите на сайт! Или лучше напишите мне плиз в личку ваши настройки...
Все "твики" как раз таки и разрабатывают не для "оптимизации" очередной "багоюзки" , а для повышения качества . И только потом уже из этого делатся "оптимизация" под "калькуляторы" - как бы являясь "побочкой" твика : " Смогли поднять , а уж закопать то точно сможем " .
Ты не поверишь, но даже у людей с 8-ми ядрами и 16-тью гигами ОЗУ есть лаги вылеты. У меня вот например (разве что у меня 4 ядра вместо 8-ми).