242 lines
10 KiB
INI
242 lines
10 KiB
INI
|
; ------------------------------------------------------------------------------
|
||
|
; READ THIS before editing!
|
||
|
; These device profiles are hierarchical! Changes to the base PS5 device
|
||
|
; profile will also affect derived device profiles (unless those values are
|
||
|
; overridden)
|
||
|
;
|
||
|
; Please don't duplicate values across multiple device profiles unnecessarily
|
||
|
;
|
||
|
; Hierarchy:
|
||
|
;
|
||
|
; PS5_120
|
||
|
; |
|
||
|
; PS5_60
|
||
|
; |
|
||
|
; PS5_30
|
||
|
; |
|
||
|
; PS5
|
||
|
;
|
||
|
; Notes:
|
||
|
; - PS5 is the device profile for the base game, with all shared settings
|
||
|
; - PS5_30 is the 30 Hz 'pretty' preset device profile
|
||
|
; - PS5_60 is the 60 Hz 'balanced' preset device profile
|
||
|
; - PS5_120 is the 120 Hz 'fast' preset device profile
|
||
|
; ------------------------------------------------------------------------------
|
||
|
|
||
|
[DeviceProfiles]
|
||
|
+DeviceProfileNameAndTypes=PS5_30,PS5
|
||
|
+DeviceProfileNameAndTypes=PS5_60,PS5
|
||
|
+DeviceProfileNameAndTypes=PS5_120,PS5
|
||
|
|
||
|
; ------------------------------------------------------------------------------
|
||
|
; Base PS5 device profile
|
||
|
; ------------------------------------------------------------------------------
|
||
|
[PS5 DeviceProfile]
|
||
|
TextureLODGroups=(Group=TEXTUREGROUP_World,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_WorldNormalMap,MinLODSize=1,MaxLODSize=1024,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_WorldSpecular,MinLODSize=1,MaxLODSize=1024,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_Character,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_CharacterNormalMap,MinLODSize=1,MaxLODSize=1024,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_CharacterSpecular,MinLODSize=1,MaxLODSize=1024,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_Weapon,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_WeaponNormalMap,MinLODSize=1,MaxLODSize=1024,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_WeaponSpecular,MinLODSize=1,MaxLODSize=1024,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_Vehicle,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_VehicleNormalMap,MinLODSize=1,MaxLODSize=1024,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_VehicleSpecular,MinLODSize=1,MaxLODSize=1024,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_Cinematic,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_Effects,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_EffectsNotFiltered,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_Skybox,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_UI,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_NoMipmaps)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_Lightmap,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_Shadowmap,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,NumStreamedMips=3,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_RenderTarget,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_MobileFlattened,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_Terrain_Heightmap,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_Terrain_Weightmap,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_Bokeh,MinLODSize=1,MaxLODSize=256,LODBias=0,MinMagFilter=linear,MipFilter=linear,MipGenSettings=TMGS_SimpleAverage)
|
||
|
+TextureLODGroups=(Group=TEXTUREGROUP_Pixels2D,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=point,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
|
||
|
|
||
|
; Scalability Groups
|
||
|
+CVars=sg.ViewDistanceQuality=3
|
||
|
+CVars=sg.AntiAliasingQuality=3
|
||
|
+CVars=sg.ShadowQuality=3
|
||
|
+CVars=sg.PostProcessQuality=3
|
||
|
+CVars=sg.TextureQuality=3
|
||
|
+CVars=sg.EffectsQuality=3
|
||
|
|
||
|
; Don't need to wait very long for texture streaming to catch up
|
||
|
CommonLoadingScreen.HoldLoadingScreenAdditionalSecs=0.5
|
||
|
|
||
|
; Gen5 TAAU
|
||
|
+CVars=r.SSS.Quality=1 ; Quality=0 relies on Gen4 TAA's clamping box
|
||
|
+CVars=r.AntiAliasingMethod=4 ; Use TSR
|
||
|
+CVars=r.TemporalAA.R11G11B10History=1 ; Needs r.UsePreExposure enabled
|
||
|
|
||
|
; Epic quality materials - Others discarded at cook
|
||
|
+CVars=r.MaterialQualityLevel=3
|
||
|
|
||
|
+CVars=r.StaticMesh.MinLodQualityLevel=3
|
||
|
|
||
|
+CVars=r.Streaming.PoolSize=2048
|
||
|
|
||
|
; Dynamic res/temporal upsampling
|
||
|
+CVars=r.DynamicRes.OperationMode=2
|
||
|
+CVars=r.TemporalAA.Upsampling=1
|
||
|
+CVars=r.DynamicRes.FrameTimeBudget=16.66
|
||
|
+CVars=r.DynamicRes.TargetedGPUHeadRoomPercentage=3.5
|
||
|
+CVars=r.DynamicRes.MaxScreenPercentage=85
|
||
|
+CVars=r.DynamicRes.MinScreenPercentage=40
|
||
|
+CVars=r.SecondaryScreenPercentage.GameViewport=100
|
||
|
|
||
|
; Postprocess overrides
|
||
|
+CVars=r.PostProcessing.PreferCompute=1
|
||
|
+CVars=r.HZBOcclusion=0
|
||
|
;+CVars=r.AmbientOcclusion.Compute=2
|
||
|
+CVars=r.AmbientOcclusionLevels=1
|
||
|
+CVars=r.AmbientOcclusionMipLevelFactor=10
|
||
|
+CVars=r.BloomQuality=4
|
||
|
+CVars=r.SceneColorFormat=3
|
||
|
|
||
|
; Effects quality overrides (from sg.EffectsQuality=2)
|
||
|
+CVars=r.SSS.Scale=1
|
||
|
+CVars=r.SSS.SampleSet=1
|
||
|
+CVars=r.SSS.Quality=-1
|
||
|
+CVars=r.SSS.HalfRes=1
|
||
|
|
||
|
; Shadow quality overrides (from sg.ShadowQuality=2)
|
||
|
+CVars=r.AOQuality=1
|
||
|
+CVars=r.VolumetricFog.GridPixelSize=16
|
||
|
+CVars=r.VolumetricFog.GridSizeZ=64
|
||
|
+CVars=r.ContactShadows=1
|
||
|
+CVars=r.VolumetricFog=1
|
||
|
+CVars=r.Shadow.MaxNumFarShadowCascades=1
|
||
|
+CVars=r.Shadow.FarShadowStaticMeshLODBias=1
|
||
|
|
||
|
+CVars=r.Shadow.MaxCSMResolution=2048
|
||
|
+CVars=r.Shadow.MaxResolution=2048
|
||
|
|
||
|
; Virtual heightfield mesh settings
|
||
|
;+CVars=r.VT.RVT.TileCountBias.Group1=5
|
||
|
+CVars=r.VHM.Enable=0
|
||
|
|
||
|
+CVars=grass.densityScale=1.5
|
||
|
|
||
|
;Physics
|
||
|
+CVars=r.PhysicsField.EnableField=true
|
||
|
|
||
|
; Rendertargets
|
||
|
+CVars=r.RenderTargetPoolMin=550
|
||
|
+CVars=r.Shadow.WholeSceneShadowCacheMb=300
|
||
|
|
||
|
; Set virtual texture update rate
|
||
|
+CVars=r.VT.MaxUploadsPerFrame=2
|
||
|
|
||
|
|
||
|
; ------------------------------------------------------------------------------
|
||
|
|
||
|
[PS5_30 DeviceProfile]
|
||
|
DeviceType=PS5
|
||
|
BaseProfileName=PS5
|
||
|
|
||
|
; Color-coding thresholds / hitch thresholds for 30 Hz
|
||
|
+CVars=t.TargetFrameTimeThreshold=33.9
|
||
|
+CVars=t.UnacceptableFrameTimeThreshold=50
|
||
|
+CVars=t.HitchFrameTimeThreshold=60
|
||
|
+CVars=t.HitchDeadTimeWindow=200.0
|
||
|
+CVars=r.DynamicRes.FrameTimeBudget = 33.9
|
||
|
|
||
|
; FPS/input latency config
|
||
|
+CVars=Lyra.DeviceProfile.Console.TargetFPS=30
|
||
|
+CVars=Lyra.DeviceProfile.Console.FrameSyncType=2
|
||
|
|
||
|
; Lumen
|
||
|
+CVars=r.Lumen.HardwareRayTracing=1
|
||
|
|
||
|
; ------------------------------------------------------------------------------
|
||
|
|
||
|
[PS5_60 DeviceProfile]
|
||
|
DeviceType=PS5
|
||
|
BaseProfileName=PS5_30
|
||
|
|
||
|
; Disable Lumen at 60 and above
|
||
|
+CVars=sg.GlobalIlluminationQuality=1
|
||
|
|
||
|
; Color-coding thresholds / hitch thresholds for 60 Hz
|
||
|
+CVars=t.TargetFrameTimeThreshold=16.7
|
||
|
+CVars=t.UnacceptableFrameTimeThreshold=25.0
|
||
|
+CVars=t.HitchFrameTimeThreshold=30.0
|
||
|
+CVars=t.HitchDeadTimeWindow=100.0
|
||
|
+CVars=r.DynamicRes.FrameTimeBudget = 16.7
|
||
|
|
||
|
; FPS/input latency config
|
||
|
+CVars=Lyra.DeviceProfile.Console.TargetFPS=60
|
||
|
+CVars=Lyra.DeviceProfile.Console.FrameSyncType=0
|
||
|
|
||
|
; Lumen
|
||
|
+CVars=r.Lumen.HardwareRayTracing=0
|
||
|
|
||
|
; ------------------------------------------------------------------------------
|
||
|
|
||
|
[PS5_120 DeviceProfile]
|
||
|
DeviceType=PS5
|
||
|
BaseProfileName=PS5_60
|
||
|
|
||
|
; Scalability groups
|
||
|
+CVars=sg.ShadowQuality=2
|
||
|
+CVars=sg.GlobalIlluminationQuality=0
|
||
|
+CVars=sg.EffectsQuality=0
|
||
|
|
||
|
; Color-coding thresholds / hitch thresholds for 120 Hz
|
||
|
+CVars=t.TargetFrameTimeThreshold=8.4
|
||
|
+CVars=t.UnacceptableFrameTimeThreshold=12.5
|
||
|
+CVars=t.HitchFrameTimeThreshold=30.0
|
||
|
+CVars=t.HitchDeadTimeWindow=100.0
|
||
|
+CVars=r.DynamicRes.FrameTimeBudget = 8.4
|
||
|
|
||
|
; FPS/input latency config
|
||
|
+CVars=Lyra.DeviceProfile.Console.TargetFPS=120
|
||
|
+CVars=Lyra.DeviceProfile.Console.FrameSyncType=0
|
||
|
|
||
|
; 120FPS
|
||
|
+CVars=r.DynamicRes.FrameTimeBudget=8.33
|
||
|
+CVars=r.VT.MaxUploadsPerFrame=1
|
||
|
|
||
|
; 1440p
|
||
|
+CVars=r.SecondaryScreenPercentage.GameViewport=66.6
|
||
|
+CVars=r.DynamicRes.MaxScreenPercentage=100
|
||
|
|
||
|
; TAAU1
|
||
|
+CVars=r.AntiAliasingMethod=2
|
||
|
+CVars=r.TemporalAA.Quality=1
|
||
|
|
||
|
; Lumen
|
||
|
+CVars=r.Lumen.HardwareRayTracing=0
|
||
|
|
||
|
; Disable some next-gen features
|
||
|
+CVars=r.ContactShadows=0
|
||
|
|
||
|
; Shadows
|
||
|
+CVars=r.Shadow.MaxNumFarShadowCascades=0
|
||
|
+CVars=r.Shadow.MaxCSMResolution=1800
|
||
|
+CVars=r.Shadow.MaxResolution=1800
|
||
|
+CVars=r.DFShadowQuality=2
|
||
|
|
||
|
; View distance/density
|
||
|
+CVars=r.ViewDistanceScale=2.0
|
||
|
+CVars=r.EmitterSpawnRateScale=0.5
|
||
|
+CVars=grass.densityScale=1
|
||
|
|
||
|
; Postprocessing
|
||
|
+CVars=r.Filter.SizeScale=0.8
|
||
|
+CVars=r.FastBlurThreshold=3
|
||
|
+CVars=r.MotionBlurQuality=3
|
||
|
+CVars=r.SceneColorFringeQuality=0
|
||
|
|
||
|
; Other settings
|
||
|
+CVars=r.TranslucencyLightingVolumeDim=48
|
||
|
+CVars=r.TranslucencyVolumeBlur=0
|
||
|
+CVars=r.VolumetricCloud.StepSizeOnZeroConservativeDensity=4
|
||
|
|