News Hogwarts Legacy: Ultra+-Mod soll für atemberaubende Grafik sorgen

PCGH-Redaktion

Kommentar-System
Teammitglied
Jetzt ist Ihre Meinung gefragt zu Hogwarts Legacy: Ultra+-Mod soll für atemberaubende Grafik sorgen

Ein Fan hat eine Mod für Hogwarts Legacy veröffentlicht, die wesentliche Verbesserungen an der Performance vornehmen soll und ein "Insane"-Preset für die Grafik hinzufügt. Das Ergebnis: Hogwarts Legacy erstrahlt dank Raytracing, verbesserter Sichtweite und mehr in neuem Glanz.

Bitte beachten Sie: Der Kommentarbereich wird gemäß der Forenregeln moderiert. Allgemeine Fragen und Kritik zu Online-Artikeln von PC Games Hardware sind im Feedback-Unterforum zu veröffentlichen und nicht im Kommentarthread zu einer News. Dort werden sie ohne Nachfragen entfernt.

Zurück zum Artikel: Hogwarts Legacy: Ultra+-Mod soll für atemberaubende Grafik sorgen
 
Und dann ist das Teil läppische 25 Megabyte gross! Das muss ich unbedingt testen. Wie geil! :D Dachte jetzt, das ginge in die Gigabyte.
 
Die Modifikation kann ich empfehlen, die nutze ich schon länger. Wichtig ist aber, dass ihr die richtige Ini verwendet, sonst funktioniert das nicht. Damit wird das Spiel aber extrem (!) GPU-lastig, meine RTX 3090 spuckt in WQHD und TAA Hoch nur noch ~20 Fps aus.
 
Die Modifikation kann ich empfehlen, die nutze ich schon länger. Wichtig ist aber, dass ihr die richtige Ini verwendet, sonst funktioniert das nicht. Damit wird das Spiel aber extrem (!) GPU-lastig, meine RTX 3090 spuckt in WQHD und TAA Hoch nur noch ~20 Fps aus.
Das funktioniert also tatsächlich! Ich hatte beim Durchlesen der News so meine Zweifel. Klingt irgendwie zu schön um wahr zu sein: eine Mod, die 25MB groß ist, die Grafik verbessert und auch noch Fehler behebt.
Trotzdem, warum wurden diese Fehler nicht durch Patches behoben? Merkwürdig.
 
Das funktioniert also tatsächlich! Ich hatte beim Durchlesen der News so meine Zweifel. Klingt irgendwie zu schön um wahr zu sein: eine Mod, die 25MB groß ist, die Grafik verbessert und auch noch Fehler behebt.
Trotzdem, warum wurden diese Fehler nicht durch Patches behoben? Merkwürdig.
Die Mod ändert UE4 eigene RT Settings über die ini. So werden dann mehr Strahlen verschossen, mehr Bounces gemacht und weniger Culling angewendet. Wenn man sich die verschiedenen inis mit einem Compare Tool nebeneinander legt kann man auch problemlos Zwischenlösungen nach eigenem Gusto erfinden.
 
Wie Olstyle richtig sagt, nutzt der Erschaffer der Mod Tweaks betreffend der Unreal Engine 4 aus. Das ist viel zu experimentell, als dass Avalanche Software da auch nur dran denken würde, etwas in dieser Art als Patch auszuliefern.

Hier mal das, was die Engine.ini in voller Blüte enthält:
[Core.System]
Paths=../../../Engine/Content
Paths=%GAMEDIR%Content
Paths=../../../Engine/Plugins/Media/BinkMedia/Content
Paths=../../../Phoenix/Plugins/Utilities/Content
Paths=../../../Phoenix/Plugins/Wwise/Content
Paths=../../../Engine/Plugins/Editor/GeometryMode/Content
Paths=../../../Phoenix/Plugins/MasterTickThrottler/Content
Paths=../../../Phoenix/Plugins/AnimationArchitect/Content
Paths=../../../Phoenix/Plugins/CustomizableCharacter/Content
Paths=../../../Engine/Plugins/FX/Niagara/Content
Paths=../../../Engine/Plugins/Experimental/PythonScriptPlugin/Content
Paths=../../../Phoenix/Plugins/MaterialPermuter/Content
Paths=../../../Phoenix/Plugins/AvaRenderTech/Content
Paths=../../../Engine/Plugins/WImgui/Content
Paths=../../../Phoenix/Plugins/AccessibilitySettings/Content
Paths=../../../Phoenix/Plugins/GameLogic/Content
Paths=../../../Engine/Plugins/Experimental/ControlRig/Content
Paths=../../../Phoenix/Plugins/CameraStack/Content
Paths=../../../Phoenix/Plugins/Odyssey/Content
Paths=../../../Phoenix/Plugins/StencilManager/Content
Paths=../../../Phoenix/Plugins/SkinFX/Content
Paths=../../../Phoenix/Plugins/Toolset/Content
Paths=../../../Phoenix/Plugins/FXUtil/Content
Paths=../../../Phoenix/Plugins/MultiFX2/Content
Paths=../../../Phoenix/Plugins/HoverDrone/Content
Paths=../../../Phoenix/Plugins/CachedLevelBounds/Content
Paths=../../../Phoenix/Plugins/LoadingScreen/Content
Paths=../../../Phoenix/Plugins/SceneRig/Content
Paths=../../../Phoenix/Plugins/Ambulatory/Content
Paths=../../../Phoenix/Plugins/Able/Content
Paths=../../../Phoenix/Plugins/Icarus/Content
Paths=../../../Phoenix/Plugins/Mercuna/Content
Paths=../../../Phoenix/Plugins/GlobalLightRig/Content
Paths=../../../Phoenix/Plugins/TickSequencer/Content
Paths=../../../Phoenix/Plugins/RenderSettings/Content
Paths=../../../Phoenix/Plugins/LightCulling/Content
Paths=../../../Phoenix/Plugins/EnvironmentalGlobals/Content
Paths=../../../Phoenix/Plugins/ConsoleMacros/Content
Paths=../../../Phoenix/Plugins/AnimatedLights/Content
Paths=../../../Phoenix/Plugins/LerpVolumes/Content
Paths=../../../Phoenix/Plugins/ActorMeshStates/Content
Paths=../../../Phoenix/Plugins/DayNight/Content
Paths=../../../Phoenix/Plugins/NiagaraStarField/Content
Paths=../../../Phoenix/Plugins/Weather/Content
Paths=../../../Phoenix/Plugins/Wind/Content
Paths=../../../Phoenix/Plugins/WBDynamicSplines/Content
Paths=../../../Phoenix/Plugins/GlobalLightGroups/Content
Paths=../../../Phoenix/Plugins/WorldFX/Content
Paths=../../../Engine/Plugins/Editor/PivotTool/Content
Paths=../../../Engine/Plugins/Experimental/GeometryProcessing/Content
Paths=../../../Engine/Plugins/FX/NiagaraExtras/Content
Paths=../../../Phoenix/Plugins/EditorUtilityAssetsPlugin/Content
Paths=../../../Phoenix/Plugins/PeevesPlugin/Content
Paths=../../../Phoenix/Plugins/ACLPlugin/Content
Paths=../../../Phoenix/Plugins/GameplayMods/Content
Paths=../../../Engine/Plugins/Hydra/Content
Paths=../../../Phoenix/Plugins/BTUtilityAI/Content
Paths=../../../Phoenix/Plugins/Flow/Content
Paths=../../../Phoenix/Plugins/Runtime/HoudiniEngine/Content
Paths=../../../Engine/Plugins/WBGM/Developer/BlueprintValidator/Content
Paths=../../../Engine/Plugins/MegascansPlugin/Content
Paths=../../../Phoenix/Plugins/UMGFocus/Content
Paths=../../../Phoenix/Plugins/PSOCaching/Content
Paths=../../../Engine/Plugins/VirtualProduction/RemoteControl/Content
Paths=../../../Engine/Plugins/Experimental/FieldSystemPlugin/Content
Paths=../../../Phoenix/Plugins/HoudiniNiagara/Content
Paths=../../../Engine/Plugins/Runtime/Nvidia/DLSS/Content
Paths=../../../Engine/Plugins/Experimental/ModelingToolsEditorMode/Content
Paths=../../../Engine/Plugins/Experimental/MeshModelingToolset/Content
Paths=../../../Engine/Plugins/Runtime/HairStrands/Content
Paths=../../../Engine/Plugins/Experimental/ChaosCaching/Content
Paths=../../../Phoenix/Plugins/IGCacheSim/Content
Paths=../../../Engine/Plugins/Watermark/Content
Paths=../../../Engine/Plugins/FX/CascadeToNiagaraConverter/Content
Paths=../../../Engine/Plugins/Importers/USDImporter/Content
Paths=../../../Engine/Plugins/Enterprise/MDLImporter/Content
Paths=../../../Engine/Plugins/MovieScene/SequencerScripting/Content
Paths=../../../Phoenix/Plugins/MasterOverlapThrottler/Content
Paths=../../../Engine/Plugins/Runtime/AMD/FSR/Content
Paths=../../../Engine/Plugins/Runtime/AMD/FSR2/Content
Paths=../../../Engine/Plugins/Runtime/Intel/XeSS/Content
Paths=../../../Engine/Plugins/MovieScene/MovieRenderPipeline/Content
Paths=../../../Engine/Plugins/Compositing/OpenColorIO/Content
Paths=../../../Engine/Plugins/MovieScene/MoviePipelineMaskRenderPass/Content
Paths=../../../Engine/Plugins/Enterprise/StaticMeshEditorExtension/Content
Paths=../../../Engine/Plugins/Editor/MeshEditor/Content
Paths=../../../Engine/Plugins/Experimental/GeometryCollectionPlugin/Content
Paths=../../../Engine/Plugins/Experimental/ChaosSolverPlugin/Content
Paths=../../../Engine/Plugins/Enterprise/DataprepEditor/Content
Paths=../../../Engine/Plugins/Enterprise/DatasmithContent/Content
Paths=../../../Phoenix/Plugins/ChromaSDKPlugin/Content
Paths=../../../Phoenix/Plugins/ClothHelper/Content
Paths=../../../Phoenix/Plugins/DirectorCam/Content
Paths=../../../Phoenix/Plugins/GPUConfig/Content
Paths=../../../Phoenix/Plugins/HiveMind/HiveMind/Content
Paths=../../../Phoenix/Plugins/HiveMind/Platforms/Windows/HiveMindCryptoWindows/Content
Paths=../../../Phoenix/Plugins/IcarusTools/Content
Paths=../../../Phoenix/Plugins/ImpostorBaker/Content
Paths=../../../Phoenix/Plugins/InstaLODMeshReduction/Content
Paths=../../../Phoenix/Plugins/Mastermind/Content
Paths=../../../Phoenix/Plugins/RecordMovieInterface/Content
Paths=../../../Phoenix/Plugins/SimplifyRockGeneration/Content
Paths=../../../Phoenix/Plugins/StreamingComplexityTool/Content
Paths=../../../Phoenix/Plugins/UIDiagnostics/Content
Paths=../../../Phoenix/Plugins/WBPC/Content
Paths=../../../Phoenix/Plugins/WImguiAcknowledgementManager/Content
Paths=../../../Phoenix/Plugins/WImguiAvaLocDirect/Content
Paths=../../../Phoenix/Plugins/WImguiConjurationBudget/Content
Paths=../../../Phoenix/Plugins/WImguiFriendlyStats/Content
Paths=../../../Phoenix/Plugins/WorldEventPreviewer/Content
Paths=../../../Engine/Plugins/Developer/AnimationSharing/Content
Paths=../../../Engine/Plugins/Editor/SpeedTreeImporter/Content
Paths=../../../Engine/Plugins/Experimental/ChaosClothEditor/Content
Paths=../../../Engine/Plugins/Experimental/ChaosNiagara/Content
Paths=../../../Engine/Plugins/Experimental/MotoSynth/Content
Paths=../../../Engine/Plugins/Media/MediaCompositing/Content
Paths=../../../Engine/Plugins/Runtime/Synthesis/Content
Paths=../../../Engine/Plugins/Runtime/AudioSynesthesia/Content

[/Script/Engine.Userinterfacesettings]
ApplicationScale=1.00 ; set your desired UI size for your monitor

; ----- from SammiLucia -----
; if i've left some defaults it's to fix old game versions (Feb, March)
; please buy the game if you can!

[SystemSettings]
; ----- disable debugging and stats -----
D3D12.Aftermath=0
r.GPUCrashDump=0
r.GPUCrashDebugging=0
r.GPUCrashDebugging.Aftermath.Markers=0
r.GPUCrashDebugging.Aftermath.Callstack=0
r.GPUCrashDebugging.Aftermath.TrackAll=0
r.GPUCrash.DataDepth=0
r.GPUCrash.Collectionenable=0
r.D3D12.GPUCrashDebuggingMode=0
r.ForceDebugViewModes=2
r.XGEShaderCompile.Mode=0
r.CompileShadersForDevelopment=0
fx.ParticlePerfStats.Enabled=false
r.NGX.DLSS.AutomationTesting=1

; ----- garbage collection -----
p.MaxDirtyElementsForGTMultiplier=1.5 ; (2.5) allow fewer dirty elements
gc.MultithreadedDestructionEnabled=0 ; enabling causes hitching
gc.CreateGCClusters=1 ; (0) group GC items if possible
gc.NumRetriesBeforeForcingGC=4 ; (10) allow GC earlier
gc.TimeBetweenPurgingPendingKillObjects=14.8936155 ; (61.xxx) do GC more frequently
gc.MinDesiredObjectsPerSubTask=8 ; (128) do GC before it gets unwieldy

; ----- performance -----
r.RDG.AsyncCompute=2 ; (1) force everything to run async
r.DontLimitOnBattery=1 ; (0) ignore incorrect power states
r.NumBufferedOcclusionQueries=2 ; (2) reduce chance of CPU stall waiting for occlusion queries
r.RenderTargetPoolMin=1800 ; (1000) here for old game versions

; ----- shaders -----
r.ForceAllCoresForShaderCompiling=1 ; (0) favours shader threads over memory
r.CreateShadersOnLoad=0 ; here for old game versions
r.ShaderPipelineCache.Enabled=1 ; here for old game versions
r.ShaderPipelineCache.LogPSO=0 ; here for old game versions
r.ShaderPipelineCache.SaveUserCache=1 ; here for old game versions
r.ShaderPipelineCache.BatchTime=6.0 ; (16) 16ms is 60fps which is too slow
r.ShaderPipelineCache.BackgroundBatchSize=16 ; (1) 1 is too small
r.ShaderPipelineCache.BackgroundBatchTime=1.0 ; (0)
r.ShaderPipelineCache.LazyLoadShadersWhenPSOCacheIsPresent=1 ; (0) requires GRHISupportsLazyShaderCodeLoading
r.ShaderPipelineCache.PreOptimizeEnabled=1 ; (0) enable PSO precompilation

; ----- free unused resources and memory -----
r.DisableDistortion=0 ; here so you can disable it (removes fountain water)
r.SceneColorFringeQuality=0 ; (1) looks dated
r.DefaultFeature.LensFlare=0 ; (1) looks dated
r.LensFlareQuality=0 ; (2) looks dated
r.SeparateTranslucency=0 ; (1) not required
r.VolumetricCloud.HzbCulling=0 ; (1)
r.FastVRam.ForwardLightingCullingResources=1 ; 0 causes frame drops while moving in all game versions
r.FastVRam.HZB=0 ; 1 - HZB culling is not needed
r.FastVRam.LPV=0 ; (0) not used
r.FastVRam.ShadowPerObject=0 ; (1) not used
r.FastVRam.ShadowPointLight=1 ; (0) is used - enabling
r.FastVRam.SSR=1 ; (0) is used - enabling
r.FastVRam.CustomDepth=1 ; (0) is used - enabling
r.DynamicRes.OperationMode=0

; ----- framebuffer -----
RHI.SyncInterval=0 ; (1)
r.GTSyncType=1 ; (0)
D3D12.SyncThreshold=999 ; (7) don't fallback to vsync
RHI.SyncThreshold=999 ; (7) don't fallback to vsync
r.D3D12.UseAllowTearing=1 ; (default) use new DGXI flip model (bypass DWM)
r.FinishCurrentFrame=0 ; (0) here for old game versions
r.OneFrameThreadLag=0 ; (1)

; ----- level of detail -----
r.MaterialQualityLevel=3
r.MipMapLODBias=-1
r.UITextureLODBias=0
r.DetailMode=2
r.ViewDistanceScale=2.5 ; (1.0)
r.AOViewFadeDistanceScale=1.5 ; (0.7)
r.MaxAnisotropy=16 ; (8)
r.VT.MaxAnisotropy=16 ; (8)
r.DisableLODFade=0
r.LODFadeTime=3.0 ; (0.25)
r.Shadow.FadeExponent=3.0 ; (0.25)
r.HISMLODDistanceScale=4.0
r.DFShadowAverageObjectsPerCullTile=256 ; (128) helps meshes lost when turning around?

; ----- DirectX 12 RHI -----
r.D3D.ForceDXC=0 ; enabled is faster in March
r.D3D.ForceShaderConductorDXCRewrite=0 ; enabled is faster in March
D3D12.ZeroBufferSizeInMB=4 ; was 32MB in March
D3D12.AdjustTexturePoolSizeBasedOnBudget=0 ; (1)
D3D12.ForceThirtyHz=0 ; (1)
D3D12.InsertOuterOcclusionQuery=0 ; enabled is faster in March
D3D12.UseUpdateTexture3DComputeShader=1 ; (default 0) - use CPU instead
D3D12.MaximumFrameLatency=2 ; 3
RHI.MaximumFrameLatency=2 ; 3
RHI.GPUHitchThreshold=10 ; (100)
r.RHICmdCollectRHIThreadStatsFromHighLevel=0
r.RHICmdBufferWriteLocks=0
r.RHICmdFlushRenderThreadTasks=0
r.RHICmdFlushRenderThreadTasksTranslucentPass=0
r.RHICmdFlushRenderThreadTasksVelocityPass=0
r.RHICmdDeferSkeletalLockAndFillToRHIThread=0
r.RHICmdMinDrawsPerParallelCmdList=64
r.RHICmdUseDeferredContexts=1
r.RHICmdMinCmdlistForParallelSubmit=1
r.RHICmdMinCmdlistForParallelTranslate=2
r.UseParallelGetDynamicMeshElementsTasks=1 ; (0)
r.RHICmdBalanceTranslatesAfterTasks=1 ; (0)
r.RHICmdMinCmdlistSizeForParallelTranslate=32
r.RHICmdForceRHIFlush=0

; ----- general streaming -----
s.IoDispatcherCacheSizeMB=384 ; (0) required to enable for texture streamer
s.IoDispatcherBufferMemoryMB=16 ; (8)
s.IoDispatcherBufferSizeKB=512 ; (256)
s.IoDispatcherDecompressionWorkerCount=8 ; (4) set to about CPU threads divided by 2
LevelStreaming.UnloadNotVisibleLevelsWhenLowRAM=1
LevelStreaming.UnloadNotVisibleLevelsWhenLowRAMNormalizedPercentage=80.0 ; (95.0) default doesn't unload textures soon enough and causes texture load-in delays
r.Streaming.ParallelRenderAssetsNumWorkgroups=8 ; (2) default is not enough to keep up with the texture streamer
r.Streaming.OverlapAssetAndLevelTicks=1 ; 0
s.AsyncLoadingTimeLimit=2.5 ; (2.5) - critical timing number
s.MaxIncomingRequestsToStall=0 ; (100) default causes completely artificial stalls
s.MaxReadyRequestsToStallMB=0 ; (30) default causes completely artificial stalls
s.UnregisterComponentsTimeLimit=6.0 ; (2.5) default is not enough to stream everything out quickly enough and causes texture load-in delays
s.LevelStreamingActorsUpdateTimeLimit=2.5 ; critical timing number
s.PriorityAsyncLoadingExtraTime=0.0 ; (15.0) causes hitching with proper texture streamer enabled
s.PriorityLevelStreamingActorsUpdateExtraTime=2.5 ; (5.0) default is too long and causes hitching
s.AsyncLoadingUseFullTimeLimit=0

; ----- mesh and texture streaming -----
D3D12.TexturePoolOnlyAccountStreamableTexture=false
UIManager.PauseMenuStreamingMemoryClear=500
r.ShaderLibrary.PrintExtendedStats=1 ; used to force missing textures to load
r.FlushRHIThreadOnStreamingTextureLocks=1 ; (default 0) is buggy
r.Streaming.AmortizeCPUToGPUCopy=1 ; (0) enable per frame texture streaming
r.Streaming.AllowFastForceResident=0 ; (1) set by pak
r.Streaming.DefragDynamicBounds=1
r.GPUDefrag.MaxRelocations=1 ; (10)
r.Streaming.MinMipForSplitRequest=2 ; (10) requires 0 for old game versions
r.Streaming.UseFixedPoolSize=0
r.Streaming.LimitPoolSizeToVRAM=1
r.Streaming.UsePerTextureBias=1 ; fixed in June - disable in old game versins
r.Streaming.UseMaterialData=1
r.Streaming.UseNewMetrics=1
r.Streaming.MaxNumTexturesToStreamPerFrame=20 ; (0) enable per frame texture streaming
r.Streaming.NumStaticComponentsProcessedPerFrame=10 ; (50) slow down per frame level streaming
r.Streaming.FramesForFullUpdate=5
s.ProcessPrestreamingRequests=1 ; (0) enabling helps stuttering
s.MaxPrecacheRequestsInFlight=8 ; (2) but not too much, 8 is about right for me
r.VT.MaxUploadsPerFrame=5 ; (10) balance virtual textures (used less than non VT)

; ----- antialiasing -----
r.PostProcessAAQuality=6 ; 4
r.TemporalAA.Algorithm=1 ; (0) enables nicer Gen5 (also requires pak)
r.TemporalAASamples=16 ; (8) small but important improvement for RT and temporal upscaler

; ----- screenspace global illumination -----
r.SSGI.Enable=1 ; (0) required for RTGI also
r.SSGI.HalfRes=1 ; (0)
r.SSGI.Quality=4 ; (3)

; ----- raster shadows -----
r.ShadowQuality=5
r.Shadow.CacheWPOPrimitives=1 ; (0) 1 is faster. disable for March to fix black screen bug
r.Shadow.CachePreshadow=0 ; (1) not used
r.Shadow.UnbuiltPreviewInGame=0 ; (1) fixes a hitch
r.Shadow.WholeSceneShadowUnbuiltInteractionThreshold=9999 ; (500) TEST prevent switching to whole scene unbuilt shadows
r.Shadow.CacheWholeSceneShadows=1
r.Shadow.WholeSceneShadowCacheMb=202
r.Shadow.MaxResolution=2048
r.Shadow.RadiusThreshold=0.01
r.Shadow.RadiusThresholdForPointAndSpotLights=0.01
r.Shadow.DistanceScale=1.5 ; (1) fixes shadows drawing near you in old game versions
r.Shadow.MaxCSMResolution=2048
r.Shadow.CSM.MaxCascades=10
r.Shadow.CSM.TransitionScale=1.0
r.Shadow.CSMShadowDistanceFadeoutMultiplier=1.0
r.Shadow.MaxNumFarShadowCascade=10 ; Balanced 4
r.MinScreenRadiusForCSMDepth=0.01
r.Shadow.PointLightDepthBias=0.02
r.Shadow.wMaxMovableResolution=4096
r.Shadow.CachedDirectionalDistanceScale=1.1
r.ContactShadows=1
r.AllowLandscapeShadows=1
r.WLightProbesContactShadows.HalfRes=0 ; (1) HalfRes is broken
r.WLightProbesContactShadows.RayNum=1 ; (2)
r.WLightProbesContactShadows.RaySamplesNum=1 ; (12)

; ----- raster water and reflections -----
r.SSR.Quality=3
r.SSR.Temporal=0
r.SSR.HalfResSceneColor=0
r.SSR.PostProcessVolumeQualityMultiplier=2.0 ; (1.0)
r.ReflectionCaptureResolution=128 ; (128)
r.ReflectionCaptureSupersampleFactor=4
r.ReflectionEnvironmentLightmapMixBasedOnRoughness=1

; ----- subsurface scattering -----
r.SSS.Scale=1.4 ; (1.0) use 1.0 for vanilla colours, 1.5 for vanilla tweaked
r.SSS.Quality=1
r.SSS.Checkerboard=2
r.SSS.HalfRes=0 ; (0) no visible difference
r.SSS.Filter=0 ; (1) use point filter - it's a little sharper

; ----- volumetric fog -----
r.VolumetricFog=1
globalLightRig.fogMinDensity=0.0001 ; (0.0001)
r.VolumetricRenderTarget.PreferAsyncCompute=1
r.VolumetricFog.LightFunction.LightFunctionCount=8 ; (16) Insane 16
r.VolumetricFog.VoxelizationShowOnlyPassIndex=0 ; broken in June - set to 1 to reduce fog but not turn it off
r.VolumetricFog.DepthDistributionScale=24.0
r.VolumetricFog.GridPixelSize=4 ; (8)
r.VolumetricFog.HistoryMissSupersampleCount=16 ; Insane 16
r.VolumetricFog.wVolumetricGridSizeX=128
r.VolumetricFog.wVolumetricGridSizeY=96 ; Insane 96
r.VolumetricFog.wVolumetricGridSizeZ=192 ; Insane 192
r.VolumetricFog.InverseSquaredLightDistanceBiasScale=1.0
r.VolumetricFog.InjectShadowedLightsSeparately=1 ; default
r.VolumetricFog.HistoryWeight=0.87 ; (0.8)
r.VolumetricFog.TemporalReprojection=1

; ----- light shafts -----
r.LightShaftDownSampleFactor=2 ; (2)
r.LightShaftAllowTAA=1
r.LightShaftFirstPassDistance=0.03 ; (0.01) higher is nicer lightshafts
r.LightShaftBlurPasses=3 ; (3) more blows out screen more

; ----- particles -----
fx.MaxGPUParticlesSpawnedPerFrame=20000 ; (1048576)
fx.MaxNiagaraGPUParticlesSpawnPerFrame=100000 ; (100000000)
fx.Niagara.QualityLevel=4 ; (3)
r.ParticleLightQuality=2 ; (default)
r.RayTracing.Geometry.NiagaraSprites=1 ; (0)
r.RayTracing.Geometry.NiagaraMeshes=1 ; (0)
r.RayTracing.Geometry.NiagaraRibbons=1 ; (0)

; ----- raster ambientocclusion -----
r.DefaultFeature.AmbientOcclusion=0 ; ignored with SSGI or RTGI
r.AmbientOcclusion.Method=0 ; (0) set to 1 to enable GTAO
r.AmbientOcclusionLevels=3 ; (-1)
r.AmbientOcclusionMaxQuality=0 ; (-75) disabling to use ssgi

; ----- raytraced ambientocclusion -----
r.RayTracing.AmbientOcclusion.Intensity=1.0 ; TEST
r.RayTracing.AmbientOcclusion.SamplesPerPixel=2 ; (1) 2 adds accuracy/quality at 1-2fps cost
r.AmbientOcclusion.Denoiser=2
r.AmbientOcclusion.Denoiser.PreConvolution=1 ; (2)
r.AmbientOcclusion.Denoiser.ReconstructionSamples=2 ; (16)
r.AmbientOcclusion.Denoiser.TemporalAccumulation=1
r.AmbientOcclusion.Denoiser.HistoryConvolution.SampleCount=2 ; (1)
r.AmbientOcclusion.Denoiser.HistoryConvolution.KernelSpreadFactor=7

; ----- foliage and grass -----
foliage.LODDistanceScale=2.0 ; (1.5) 1-2fps (per every point increase)
foliage.MinOcclusionQueriesPerComponent=2 ; (6)
foliage.MaxOcclusionQueriesPerComponent=10 ; (16)
grass.LODDistanceScale=4.0 ; (1.3) 1fps (per every point increase)
grass.MaxAsyncTasks=12 ; (4) too low! causes hitching
grass.MaxCreatePerFrame=2 ; (1) too low causes visible drawing
grass.MinFramesToKeepGrass=200 ; (30) to low causes fps drops
grass.UseHaltonDistribution=1

; ----- general raytracing -----
r.RayTracing.NonBlockingPipelineCreation=1
r.RayTracing.AsyncBuild=1 ; (0) enabling adds 1~2 fps
r.RayTracing.UseTextureLod=1 ; (0) adds ~0.5 fps - set by pak
r.RayTracing.PSOCacheSize=240 ; (50) higher improves RT fps
r.RayTracing.ExcludeDecals=1 ; (0) decals aren't ever used
r.RayTracing.AutoInstance=1
r.RayTracing.Culling=1
r.RayTracing.Culling.Radius=4000.0f
r.RayTracing.Culling.StaticRadius=7000.0f ; required for March - Insane 7000.0f
r.WPOPrimitivesOutputVelocity=1
r.RayTracing.DynamicGeometryLastRenderTimeUpdateDistance=2000 ; 20 metres
r.RayTracing.wOctreeStaticPrimitiveCullRadius=76000.0f ; (92000.0f)
r.RayTracing.wOctreeDynamicPrimitiveCullRadius=76000.0f ; (4000.0f) enables whole world RT shadows
r.RayTracing.Geometry.MaxBuiltPrimitivesPerFrame=10000 ; (1000) too low! causes hitches
r.RayTracing.Geometry.Landscape=1
r.RayTracing.Geometry.Landscape.LODsUpdateEveryFrame=0
r.RayTracing.Geometry.ProceduralMeshes=0 ; (1)
r.RayTracing.Geometry.SkeletalMeshes=1
r.RayTracing.Geometry.StaticMeshes=1
r.RayTracing.Geometry.StaticMeshes.WPO=1
r.RayTracing.Geometry.StaticMeshes.WPO.Culling=1
r.RayTracing.Geometry.StaticMeshes.WPO.CullingRadius=7000 ; (5000) Insane 7000
r.RayTracing.Geometry.InstancedStaticMeshes.EvaluateWPO=-1 ; (-1)
r.RayTracing.Geometry.InstancedStaticMeshes.SimulationCount=4 ; (1) Insane 4
r.RayTracing.Geometry.InstancedStaticMeshes.CullClusterRadius=4000 ; (10000)
r.RayTracing.Geometry.GetEachLODForHISM=0 ; (0)

; ----- raytracing shadows -----
LightCullingRenderThread.MaxRTShadowedLights=4 ; (1) fix flickering bug in cut-scenes
LightCullingRenderThread.MaxDynamicShadowedLights=4 ; (4)
r.RayTracing.Shadows.Lights.Directional=1
r.RayTracing.Shadows.AcceptFirstHit=1 ; (0)
r.RayTracing.Shadow.SamplesPerPixel=3 ; (-1) helps denoise directional RT shadows
r.RayTracing.Shadows.EnableHairVoxel=0 ; (1)
r.Shadow.Denoiser=1 ; (2)
r.Shadow.Denoiser.PreConvolution=1
r.Shadow.Denoiser.ReconstructionSamples=4 ; (8)
r.Shadow.Denoiser.TemporalAccumulation=1
r.Shadow.Denoiser.HistoryConvolutionSamples=1

; ----- raster skylight -----
r.SkyAtmosphere.MultiScatteringLUT.HighQuality=1 ; higher quality and makes landscape more blue - set to 0 if you don't like it
r.SkyAtmosphere.MultiScatteringLUT.SampleCount=20 ; (15)
r.SkyAtmosphere.TransmittanceLUT.SampleCount=30 ; (10)
r.SkyAtmosphere.TransmittanceLUT.UseSmallFormat=0
r.SkyLight.RealTimeReflectionCapture=1
r.SkyAtmosphere.AerialPerspectiveLUT.FastApplyOnOpaque=0 ; from devs - need FastSkyLUT 1 (if set to 1) to avoid wrong sky
r.SkyAtmosphere.FastSkyLUT=0
r.SkyAtmosphere.FastSkyLUT.SampleCountMax=128.0
r.SkyAtmosphere.SampleCountMin=8.0
r.SkyAtmosphere.SampleCountMax=256.0
r.SkylightIntensityMultiplier=0.4 ; (0.7) 0.05 to 0.2 for RT skylight
r.AvaVolumetricClouds.FixedResolutionScale=1.0 ; Insane 1.0
r.AvaVolumetricClouds.ShapeNoiseResolution=128
r.AvaVolumetricClouds.DetailNoiseResolution=64

; ----- weather -----
r.WeatherAnimationTextureScale=512
r.AvaVolumetricClouds.WeathermapResolution=256
Weather.SkinFXMaxCharactersToSwap=10

; ----- raytraced skylight -----
r.RayTracing.SkyLight.Denoiser=1 ; enable for inside
r.RayTracing.SkyLight.SamplesPerPixel=64 ; (-1) to work at all inside needs at least 16 samples (watch out GPU!!)
r.RayTracing.SkyLight.ScreenPercentage=100
r.RayTracing.SkyLight.EnableMaterials=1 ; (1) needed for hair
r.RayTracing.SkyLight.DecoupleSampleGeneration=1 ; 1 is faster but more blotchy
r.RayTracing.SkyLight.EnableTwoSidedGeometry=0
r.RayTracing.SkyLight.MaxRayDistance=30000.0 ; (10000000.0)

; ----- hair -----
r.HairStrands.SkyLighting.IntegrationType=0 ; (2)
r.HairStrands.Cluster.CullingUsesHzb=0 ; (1)
r.HairStrands.SkyAO.SampleCount=4
r.HairStrands.SkyLighting.SampleCount=16
r.HairStrands.Visibility.MSAA.SamplePerPixel=4

; ----- raytraced reflections -----
r.Water.SingleLayer.RTR=1 ; 0 to disable RT water
r.RayTracing.Reflections.Hybrid=1 ; (0) clean up reflections in Full
r.RayTracing.Reflections.SortMaterials=1
r.RayTracing.Reflections.DirectLighting=1 ; (1) March it's better to rely on hybrid screenspace for direct lights
r.RayTracing.Reflections.EnableTwoSidedGeometry=0 ; (1)
r.RayTracing.Reflections.MaxRayDistance=50000.0f ; (92000.0f)
r.RayTracing.Reflections.ScreenPercentage=50.01 ; (40) requires denoiser 2 or spatial resolve
r.RayTracing.Reflections.SamplesPerPixel=1
r.RayTracing.Reflections.MaxRoughness=0.8 ; (0.5) default saves ~1 fps but misses some intended reflections)
r.RayTracing.Reflections.MaxBounces=1 ; (-1)
r.RayTracing.Reflections.ReflectionCaptures=1 ; (0)
r.RayTracing.Reflections.TestPathRoughness=1
r.RayTracing.Reflections.RayTraceSkyLightContribution=0
r.RayTracing.Reflections.Shadows=0 ; (-1)
r.RayTracing.Reflections.Translucency=0 ; (-1)
r.RayTracing.Reflections.HeightFog=1 ; (0)
r.RayTracing.Reflections.ExperimentalDeferred=1
r.RayTracing.Reflections.ExperimentalDeferred.MipBias=1
r.RayTracing.Reflections.ExperimentalDeferred.Glossy=1
r.RayTracing.Reflections.ExperimentalDeferred.SmoothBias=0.4 ; (1.5) not physically-based so capping
r.RayTracing.Reflections.ExperimentalDeferred.AnyHitMaxRoughness=0.1 ; March needs 0.5
r.RayTracing.Reflections.ExperimentalDeferred.SpatialResolve=1
r.RayTracing.Reflections.ExperimentalDeferred.HorizontalResolutionScale=1.0 ; (1) halve ScreenPercentage to recover performance
r.RayTracing.Reflections.ExperimentalDeferred.SpatialResolve.NumSamples=16 ; (4)
r.RayTracing.Reflections.ExperimentalDeferred.SpatialResolve.MaxRadius=16 ; (4)
r.RayTracing.Reflections.ExperimentalDeferred.SpatialResolve.TemporalQuality=0 ; (2)
r.RayTracing.Reflections.ExperimentalDeferred.SpatialResolve.TemporalWeight=0.50 ; 0.95
r.Reflections.Denoiser=1 ; about 5~10 fps cost. looks better than spatial resolve or denoiser 2
r.Reflections.Denoiser.PreConvolution=1
r.Reflections.Denoiser.ReconstructionSamples=10 ; (8)
r.Reflections.Denoiser.TemporalAccumulation=1 ; (1)
r.NGX.DLSS.Reflections.TemporalAA=1

; ----- raytraced global illumination -----
r.RayTracing.GlobalIllumination.FinalGather.SortMaterials=1
r.RayTracing.GlobalIllumination.FinalGather.SortSize=5
r.RayTracing.GlobalIllumination.FinalGather.Iterations=1
r.RayTracing.GlobalIllumination.EvalSkyLight=0
r.RayTracing.GlobalIllumination.MaxLightCount=1 ; (256)
r.RayTracing.GlobalIllumination.Lights.DirectionalLight=0 ; (1)
r.RayTracing.GlobalIllumination.Lights.SpotLight=0 ; (1)
r.RayTracing.GlobalIllumination.Lights.SkyLight=0 ; (1)
r.RayTracing.GlobalIllumination.Lights.RectLight=0 ; (1)
r.RayTracing.GlobalIllumination.Lights.PointLight=0 ; (1)
r.RayTracing.GlobalIllumination.ScreenPercentage=25 ; (100) set by pak
r.RayTracing.GlobalIllumination.MaxRayDistance=10000 ; (1e27)
r.RayTracing.GlobalIllumination.MaxShadowDistance=1000 ; (-1)
r.RayTracing.GlobalIllumination.SamplesPerPixel=1 ; (-1)
r.RayTracing.GlobalIllumination.EnableTransmission=1
r.RayTracing.GlobalIllumination.EnableTwoSidedGeometry=0 ; (1)
r.RayTracing.GlobalIllumination.FireflySuppression=1 ; (0)
r.RayTracing.GlobalIllumination.NextEventEstimationSamples=1 ; (2)
r.RayTracing.GlobalIllumination.UseRussianRoulette=1 ; (0)
r.RayTracing.GlobalIllumination.Denoiser=1
r.GlobalIllumination.ExperimentalPlugin=true ; (false)
r.GlobalIllumination.Denoiser.PreConvolution=0 : (1)

; ----- look, feel, and colour -----
r.GBufferFormat=1
r.SceneColorFormat=4
r.TonemapperFilm=1
r.Tonemapper.Quality=5
r.Tonemapper.Sharpen=0.5 ; (0.0)
r.Tonemapper.GrainQuantization=0 ; (1) decrease film grain
r.TonemapperGamma=1.20 ; set to 0.0 for vanilla colours
r.Color.Min=0.007 ; set to 0.0 for vanilla colours
r.Color.Mid=0.650 ; set to 0.5 for vanilla colours
r.Color.Max=1.000 ; set to 1.0 for vanilla colours
r.PostProcess.GlobalBrightness=0.70 ; (0.5)
r.PostProcess.GlobalContrast=0.03 ; (0.0)
r.PostProcess.GlobalSaturation=0.47 ; (0.5)
r.EyeAdaptation.LensAttenuation=0.50 ; 0.65
r.EyeAdaptation.ExponentialTransitionDistance=3.0 ; (1.5) less blinding
r.DepthOfFieldQuality=4 ; (2) help is outdated
r.BloomQuality=4 ; reduce to 3 if the sun is too bright
r.PostProcessing.AlwaysExecuteBloomSetup=0 ; (0) set to 1 to reduce bloom 'spill' (brightening effect) on whole scene
r.Filter.SizeScale=1.0 ; fix for square stars
Das Ergebnis kann sich jedoch sehen lassen, obacht, auch die Beleuchtung und Farbgebung wird verändert. Ich hab das OSD mal jeweils eingeblendet, Bild 1 ist Vanilla, die anderen beiden mit dem Mod. Meine 3090 schmilzt.
 

Anhänge

  • HogwartsLegacy_2023_07_06_17_21_57_601.jpg
    HogwartsLegacy_2023_07_06_17_21_57_601.jpg
    2,8 MB · Aufrufe: 160
  • HogwartsLegacy_2023_07_06_17_23_44_296.jpg
    HogwartsLegacy_2023_07_06_17_23_44_296.jpg
    2,8 MB · Aufrufe: 143
  • HogwartsLegacy_2023_07_06_17_31_48_616.jpg
    HogwartsLegacy_2023_07_06_17_31_48_616.jpg
    2,5 MB · Aufrufe: 152
Das ist echt ne gute Verbesserung.

Was mir jetzt hier in diesem Zusammenhang auffällt. Es wäre irgendwie cool wenn man sich Threats oder Notizen oder so etwas als Forenmitglied machen kann.

Ich z.B. habe Hogwarts Legacy durch werde es aber vermutlich noch mal anfassen, vielleicht mit noch mehr GPU Power in den nächsten Jahren.
Dann könnte man sich so einen Threat abspeichern und später nochmal genau nachlesen was hier verändert wurde oder was man verändern sollte.
 
Man kann sich die Mod übrigens auch als Mod (höhö, Wortwitz) ins Spiel-Verzeichnis einfügen, um ganz ohne ini-Gefrickel die Vorzüge zu genießen. Dann werden die einzelnen ini-Presets mit den Grafikoptionen des Spiels ersetzt. Das hat in etwa den Flair, wie die PCGH-Mod von Raff für Witcher 3.

Anbei mal ein Vergleich. Die Mod sieht dabei auf niedrigster Stufe schon besser aus, als das Hauptspiel auf Ultra. Obacht: Ultra mit Mod aktiviert Raytracing sogar auf dem Wasser, deshalb spiegelt sich im Horizont auch nichts mehr (weil da nichts ist bzw. zu weit weg). Ab "Hoch" aktiviert sich das Color Grading des Mod-Erstellers. Kann man mögen, muss man aber nicht.
 

Anhänge

  • _1 Vanilla Ultra.jpg
    _1 Vanilla Ultra.jpg
    2,1 MB · Aufrufe: 56
  • _2 Mod Niedrig.jpg
    _2 Mod Niedrig.jpg
    2,7 MB · Aufrufe: 54
  • _3 Mod Mittel.jpg
    _3 Mod Mittel.jpg
    2,7 MB · Aufrufe: 51
  • _4 Mod Hoch.jpg
    _4 Mod Hoch.jpg
    2,3 MB · Aufrufe: 51
  • _5 Mod Ultra.jpg
    _5 Mod Ultra.jpg
    2,3 MB · Aufrufe: 70
Sorry wen ich dumm frage muss , muss der mods Ordner mit diesem Sonderzeichen ~ gemacht werden (~mods)
 
Sorry wen ich dumm frage muss , muss der mods Ordner mit diesem Sonderzeichen ~ gemacht werden (~mods)
Nein. Die Datei muss auch nicht in den Mods-Ordner, sondern in den Paks-Ordner:
X:\SteamLibrary\steamapps\common\Hogwarts Legacy\Phoenix\Content\Paks

Einfach rin damit, und dann im Spiel mit den Grafikoptionen herumspielen, das macht Laune :D
 
Nein. Die Datei muss auch nicht in den Mods-Ordner, sondern in den Paks-Ordner:
X:\SteamLibrary\steamapps\common\Hogwarts Legacy\Phoenix\Content\Paks

Einfach rin damit, und dann im Spiel mit den Grafikoptionen herumspielen, das macht Laune :D
Finde das Preset nicht unter den Einstellungen. Bisher ist nur Ultra einstellbar aber nicht Ultra +

Das ganze habe ich per Vortex Loader gemacht….

Was mache ich da falsch ? ?
 
Mal ohne Vortex Loader probiert? Die Mod überschreibt letztlich nur die Grafik-Presets, also "Ultra +" wirst du nicht finden.
 
Zurück