Autore Topic: Prestazioni TSW 4  (Letto 8971 volte)

Offline Alex656

  • Admin
  • Utente storico
  • *****
  • Post: 1.622
    • Mostra profilo
Prestazioni TSW 4
« il: 27 Settembre 2023 - 17:01:30 »
Ho sempre riscontrato un problema fastidioso con tutte le versioni di TSW ma sull'ultima era peggiorato ulteriormente: nonostante il frame rate fosse sempre alto avevo delle continue micropause ogni tot secondi che interrompevano continuamente lo scorrimento dello scenario, a volte si bloccava anche per qualche secondo nonostante il gioco fosse installato su un SSD prestante; con i treni AV il problema era ancor più fastidioso perché rovinava completamente la sensazione di andare veloci. Vista la situazione ho deciso di documentarmi un po' e credo di esserne finalmente venuto a capo. Inizio col dire che TSW 4 ha la possibilità di girare in directx 12, quindi chi è in possesso di una scheda video compatibile con queste librerie ha già un vantaggio; gli sviluppatori per il momento non hanno inserito un'opzione apposita ma i giochi sviluppati con UE possono essere avviati con un parametro: nel nostro caso è sufficiente inserire -DX12 tra le opzioni di avvio del gioco su steam. Le directx 12 permettono di attivare alcune opzioni che aiutano molto ad aumentare la fluidità ma, per poterle inserire, è necessario modificare con un editor di testo il file engine.ini presente nella cartella utente di windows: c:\Utenti\Nomeutente\Documents\my games\TrainSimWorld4\Saved\Config\WindowsNoEditor\Engine.ini

Purtroppo non esiste un'impostazione generale che possa andare bene per tutti, ovviamente ognuno deve impostare le opzioni in base alle caratteristiche del proprio pc, soprattutto riguardo il quantitativo di memoria della scheda video dedicata; nello specifico:

r.Streaming.PoolSize=7168
r.Streaming.MaxTempMemoryAllowed=5120
r.Shadow.WholeSceneShadowCacheMb=5120


Io ho una scheda video con 8 Gb di ram ed ho deciso di assegnarne 7 per la gestione del PoolSize e 5 per le altre 2 (basta moltiplicare il quantitativo di Gb per 1024, es. 7x1024=7168)

Ho lavorato parecchio sulle opzioni che ho trovato sui forum, in particolare su queste 2 discussioni:
- https://forums.dovetailgames.com/threads/please-optimize-tsw4-engine-ini.73687/
- https://www.trainsimcommunity.com/mods/c3-train-sim-world/c105-ini-tweaks/i3889-tsw4-to-d4-lighting-overhaul (ho scaricato il file "3 High V2.1.ini" a fondo pagina)

Come risultato finale ho ottenuto anche un miglioramento grafico, è spiegato tutto sul secondo link. Ora giocare a 200 Km/h ed oltre è una vera goduria, niente più interruzioni tranne qualche accettabilissimo istante per il caricamento di qualche oggetto. Come opzioni grafiche sul gioco ho impostato il preset alto (non ultra) con l'opzione del cielo su molto alto.
Indico di seguito la sezione [SystemSettings] che ho inserito sul file engine.ini se volete utilizzarlo vi ribadisco di impostare correttamente i 3 parametri che ho indicato in precedenza relativamente al quantitativo di ram video; ovviamente fatevi una copia prima di procedere:

[SystemSettings]
r.Streaming.FramesForFullUpdate=2
r.Streaming.Boost=2
r.Streaming.PoolSize=7168
r.Streaming.MaxTempMemoryAllowed=5120
r.Shadow.WholeSceneShadowCacheMb=5120
r.RenderTargetPoolMin=1200
r.GTSyncType=1
r.OneFrameThreadLag=1
g.TimeToBlockOnRenderFence=0
D3D12.MaximumFrameLatency=1
r.RHICmdBalanceParallelLists=1
r.CreateShadersOnLoad=1
fx.ForceCompileOnLoad=1
niagara.CreateShadersOnLoad=1
r.ForceAllCoresForShaderCompiling=1
D3D12.PSO.DiskCache=1
D3D12.PSO.DriverOptimizedDiskCache=1
r.ShaderPipelineCache.Enabled=1
r.ShaderPipelineCache.BatchTime=1
r.ShaderPipelineCache.PrecompileBatchTime=1
r.ShaderPipelineCache.BackgroundBatchTime=1
r.ShaderPipelineCache.BatchSize=1
r.ShaderPipelineCache.PrecompileBatchSize=1
r.ShaderPipelineCache.BackgroundBatchSize=1
gc.TimeBetweenPurgingPendingKillObjects=200
gc.NumRetriesBeforeForcingGC=1
gc.MinDesiredObjectsPerSubTask=50
s.ForceGCAfterLevelStreamedOut=0
s.ContinuouslyIncrementalGCWhileLevelsPendingPurge=0
s.AsyncLoadingTimeLimit=2
s.PriorityAsyncLoadingExtraTime=0
s.UnregisterComponentsTimeLimit=2
s.LevelStreamingActorsUpdateTimeLimit=2
s.PriorityLevelStreamingActorsUpdateExtraTime=0
s.LevelStreamingComponentsUnregistrationGranularity=10
s.LevelStreamingComponentsRegistrationGranularity=30
r.Streaming.NumStaticComponentsProcessedPerFrame=200
r.ViewDistanceScale=3
r.SkeletalMeshLODBias=-2
r.StaticMeshLODDistanceScale=0.5
foliage.LODDistanceScale=3
grass.densityScale=1
r.Shadow.MaxResolution=2048
r.Shadow.MaxCSMResolution=2048
r.Shadow.SpotLightTransitionScale=2048
r.Shadow.DistanceScale=2
r.Shadow.TransitionScale=2
r.Shadow.CSM.TransitionScale=2
r.Shadow.CSMShadowDistanceFadeoutMultiplier=0.25
r.Shadow.RadiusThreshold=0.03
r.Shadow.FilterMethod=0
r.Shadow.CSM.MaxCascades=5
r.DFDistanceScale=10
ts2.dbg.JourneyChapterLockOverride=1
ts2.save.CheckpointsEnabled=1
TimeOfDaySystem.AutoExposure.SpeedUp=10
TimeOfDaySystem.AutoExposure.SpeedDown=5
TimeOfDaySystem.VolumetricCloud.RayMarchedShadows=1
TimeOfDaySystem.AutoExposure.ExposureBias=-0.5
TimeOfDaySystem.SkyLightPollutionLuminance=1.0
TimeOfDaySystem.BloomIntensity=0.17
TimeOfDaySystem.SunIntensity=75000
TimeOfDaySystem.CloudShadowVolumetricResolutionScale=4
TimeOfDaySystem.Clouds.HighAltitude.CloudDensityMult=0.3
TimeOfDaySystem.VolumetricCloud.GroundContribution=1
TimeOfDaySystem.VolumetricCloud.LayerHeightScale=1.8
TimeOfDaySystem.StarIntensity=50
TimeofDaySystem.LegacyEmissiveAdjustments.EmissiveMultNonLamp=550
r.LightMaxDrawDistanceScale=50.0
r.MinScreenRadiusForLights=0.00
r.AllowLandscapeShadows=1
r.DistanceFieldShadowing=1
r.DFFullResolution=1
r.AmbientOcclusionLevels=3
r.VolumetricFog.DepthDistributionScale=32.000000
r.VolumetricFog.GridDivisor=120
r.VolumetricFog.GridPixelSize=8
r.VolumetricFog.GridSizeZ=96
r.VolumetricFog.HistoryMissSupersampleCount=1
r.VolumetricFog.HistoryWeight=0.900000
r.VolumetricFog.InjectShadowedLightsSeparately=1
r.VolumetricFog.InverseSquaredLightDistanceBiasScale=1.000000
r.VolumetricFog.Jitter=1
r.VolumetricFog.LightFunctionSupersampleScale=2.000000
r.VolumetricFog.TemporalReprojection=1
r.VolumetricFog.VoxelizationShowOnlyPassIndex=-1
r.VolumetricFog.VoxelizationSlicesPerGSPass=8
r.VolumetricLightmap.VisualizationMinScreenFraction=0.001000
r.VolumetricLightmap.VisualizationRadiusScale=0.010000

Alessandro Galimi

Offline robix61

  • Utente storico
  • *****
  • Post: 1.339
    • Mostra profilo
Re:Prestazioni TSW 4
« Risposta #1 il: 27 Settembre 2023 - 23:19:31 »
Anche io ho tutte quelle micropause anche se con frame abbastanza alti.
Con la configurazione che vedi in firma, che configurazione mi consiglieresti, se vale la pena?
Roberto
--------------------------------------------------------------------------------------------------------------------------------------------------------
I5 11600k(3,9GHz-4,9GHz)MSI MPG Z590 GAMINGPLUS 16GB DDR4-GTX1060 3GB GDDR5-NVme SABRENTRocket4 1TB M.2- WD CAVIARBLACK 1TB SATA3-WIN11 PRO

Offline Claudio Mussa

  • Admin
  • Utente storico
  • *****
  • Post: 2.546
  • Coordinatore Staff RI
    • Mostra profilo
Re:Prestazioni TSW 4
« Risposta #2 il: 28 Settembre 2023 - 00:00:02 »
Ciao Ragazzi,

in effetti anche io avevo micro scatti abbastanza fastidiosi, ora si sono ridotti moltissimo sono quasi impercettibili ma ci sono ancora, anche la qualità generale è migliorata un pò. (ma era già ottima prima)

Questa sera sono anche riuscito a simulare una marcia parallela, impensabile con le versioni precedenti.

Grazie Alex, saluti Claudio

Cordiali Saluti, Claudio Mussa coordinatore Staff RI

Offline Alex656

  • Admin
  • Utente storico
  • *****
  • Post: 1.622
    • Mostra profilo
Re:Prestazioni TSW 4
« Risposta #3 il: 28 Settembre 2023 - 08:47:29 »
Anche io ho tutte quelle micropause anche se con frame abbastanza alti.
Con la configurazione che vedi in firma, che configurazione mi consiglieresti, se vale la pena?

Nel tuo caso la scheda video fa un po' da collo di bottiglia comunque potresti provare a partire dalle mie impostazioni modificando il quantitativo di Vram come segue:

r.Streaming.PoolSize=3072
r.Streaming.MaxTempMemoryAllowed=2048
r.Shadow.WholeSceneShadowCacheMb=2048


Per provare ad adattare gli altri valori ti faccio il copia e incolla delle indicazioni fornite sul link precedente:

Basic adjustments for your particular systems in case you have a less powerful machine and see any impact on performance:
- Lock FPS in game to a value your system can handle in case you are not using G-sync
- D3D12.MaximumFrameLatency is optional and limits queued frames (default value is 3). DX11 users shall use RHI.MaximumFrameLatency instead for this purpose
- Change VRAM pool sizes for texture streaming as they are intended as "virtually unlimited" for my 24GB card (24576, 18432, 18432)
- Set original Streaming.Boost=2 (current one will increase textures quality by 1 additional Mip)
- Enable partial HLOD texture streaming (r.Streaming.HLODStrategy=1)
- Use viewdistance scale 2 or lower to lever the overall sceney render distance
- Reduce SkeletalMesh to -2 or -1 when displaying too many trains (current value increases the quality of trains to reduce LOD/texture transitions)
- Reduce StaticMeshLOD to values higher than 0.25 (current value increases the quality of buildings and static objects to reduce LOD/texture transitions)
- Reduce r.HLOD.DistanceOverrideScale to values closer to 1
- Reduce foliage viewdistance scale (current values increase the quality of vegetation to reduce LOD/texture and shadows transitions when too many trees are present)
- Reduce grass density scale (current value only increases density not quality and it´s not needed for optimiazations)
- Tune shadows according to your own preferences or add other graphical enhancements you havePlease be patient as we still need to test the old routes once game is officially released, so further changes may be needed later on.

Important notes
- In case you face out of memory crashes or high memory usages reduce the VRAM pool sizes to better match your GPU available memory or reduce garbage collector frequency below 900 seconds
- First time generation of shaders and DX12 caches may still result in frequent hitching. That´s the normal behaviour and will happen any time you play new content for the first time. Cache files can be manually deleted anytime you want (that will require a completely new generation process)
- Caches start to improve performance once they contain enough information to prevent excessive real-time compilations in game in favor or reusing the information directly stored by them. After that they will be still updated periodically but less frequently to incorporate new data. In case cache size is fully used newest data will replace oldest one to keep cache size unchanged.
- Add other settings only if you are sure about what they do, as they could invalidate some of my proposed tweaks


Nota importante: se si dovessero riscontrare dei crash con errori relativi alla sincronizzazione tra il render ed il game thread si dovrebbe rimuovere la riga seguente:
g.TimeToBlockOnRenderFence=0.


Per Claudio: i miglioramenti grafici dovrebbero riguardare nello specifico:
- distanza visualizzazione
- fluidità
- effetto eye-adaption in entrata uscita dalle gallerie
- illuminazione
- cielo sia per le nuvole (e la loro ombra) che per la visualizzazione notturna

Tutto spiegato meglio qua: https://www.trainsimcommunity.com/mods/c3-train-sim-world/c105-ini-tweaks/i3889-tsw4-to-d4-lighting-overhaul
Alessandro Galimi

Offline Alex656

  • Admin
  • Utente storico
  • *****
  • Post: 1.622
    • Mostra profilo
Re:Prestazioni TSW 4
« Risposta #4 il: 28 Settembre 2023 - 09:01:13 »
Ovviamente non dimenticate il parametro di avvio -DX12  su steam se la scheda video è compatibile con le directx 12 (la 1060 lo è).
Alessandro Galimi

Offline Claudio Mussa

  • Admin
  • Utente storico
  • *****
  • Post: 2.546
  • Coordinatore Staff RI
    • Mostra profilo
Re:Prestazioni TSW 4
« Risposta #5 il: 28 Settembre 2023 - 13:27:25 »
Ciao Alex,

In effetti è tutto come da te scritto tranne:
 
      effetto eye-adaption in entrata uscita dalle gallerie

Un disastro!! in entrata e uscita dai portali fa cose incredibili .... non riesco nemmeno a descriverle.  :crepapelle
Cordiali Saluti, Claudio Mussa coordinatore Staff RI

Offline Alex656

  • Admin
  • Utente storico
  • *****
  • Post: 1.622
    • Mostra profilo
Re:Prestazioni TSW 4
« Risposta #6 il: 28 Settembre 2023 - 14:05:04 »
Ciao Alex,

In effetti è tutto come da te scritto tranne:
 
      effetto eye-adaption in entrata uscita dalle gallerie

Un disastro!! in entrata e uscita dai portali fa cose incredibili .... non riesco nemmeno a descriverle.  :crepapelle

Che strano, a me dà un effetto bellissimo però ho provato solo sulle ultime routes e non ho il livello su ultra; se hai voglia di perderci tempo potresti provare ad eliminare le righe relative agli effetti di illuminazione a partire dal fondo (sulla prima parte del file ci sono solo ottimizzazioni); con un po' di pazienza si dovrebbe risolvere; immagino che avrai già aggiornato i driver della scheda video; fammi sapere  :pollicesu
Alessandro Galimi

Offline robix61

  • Utente storico
  • *****
  • Post: 1.339
    • Mostra profilo
Re:Prestazioni TSW 4
« Risposta #7 il: 28 Settembre 2023 - 18:37:58 »
Ma voi avete installato anche questa roba qui? (vedi immagine).
Roberto
--------------------------------------------------------------------------------------------------------------------------------------------------------
I5 11600k(3,9GHz-4,9GHz)MSI MPG Z590 GAMINGPLUS 16GB DDR4-GTX1060 3GB GDDR5-NVme SABRENTRocket4 1TB M.2- WD CAVIARBLACK 1TB SATA3-WIN11 PRO

Offline Alex656

  • Admin
  • Utente storico
  • *****
  • Post: 1.622
    • Mostra profilo
Re:Prestazioni TSW 4
« Risposta #8 il: 28 Settembre 2023 - 19:19:09 »
Ma voi avete installato anche questa roba qui? (vedi immagine).

Io no, mi bastano e avanzano i miglioramenti dalle impostazioni; piuttosto può essere molto interessante l'uso di questo tool di nVidia che viene consigliato sul forum ma io non l'ho ancora provato:
https://www.gamingpcbuilder.com/nvidia-image-scaling-tested/#foogallery-16565/i:16567
Alessandro Galimi

Offline robix61

  • Utente storico
  • *****
  • Post: 1.339
    • Mostra profilo
Re:Prestazioni TSW 4
« Risposta #9 il: 29 Settembre 2023 - 00:47:18 »
Ho provato le varie configurazioni fino anche alla più bassa. Nel mio caso in genere rilevo un significativo calo del Frame Rate anche se effettivamente mi pare che le micropause siano calate. Ho anche provato Il ridimensionamente immagine, ma senza risultati significativi. Forse la mia scheda video non è all'altezza o forse non sono capace io o non ho abbastanza pazienza.
Ho ripristinato il tutto e mi tengo le micropause... :asd
Non capisco però perche la DTG non ottimizzi direttamente il gioco per evitare questi problemi, visto che è possibile.
 :pollicesu
Roberto
--------------------------------------------------------------------------------------------------------------------------------------------------------
I5 11600k(3,9GHz-4,9GHz)MSI MPG Z590 GAMINGPLUS 16GB DDR4-GTX1060 3GB GDDR5-NVme SABRENTRocket4 1TB M.2- WD CAVIARBLACK 1TB SATA3-WIN11 PRO

Offline Alex656

  • Admin
  • Utente storico
  • *****
  • Post: 1.622
    • Mostra profilo
Re:Prestazioni TSW 4
« Risposta #10 il: 29 Settembre 2023 - 08:08:45 »
Ho provato le varie configurazioni fino anche alla più bassa. Nel mio caso in genere rilevo un significativo calo del Frame Rate anche se effettivamente mi pare che le micropause siano calate. Ho anche provato Il ridimensionamente immagine, ma senza risultati significativi. Forse la mia scheda video non è all'altezza o forse non sono capace io o non ho abbastanza pazienza.
Ho ripristinato il tutto e mi tengo le micropause... :asd
Non capisco però perche la DTG non ottimizzi direttamente il gioco per evitare questi problemi, visto che è possibile.
 :pollicesu

Molto probabilmente l'uso delle DirectX 12 è eccessivamente impegnativo per la tua scheda; considera che l'autore del post ha una scheda di ultimissima generazione con 24 GB di RAM video, io ho cercato di adattare il tutto al mio sistema; una prova comunque la farei: togli l'opzione -DX12 all'avvio ed elimina le righe seguenti:

D3D12.MaximumFrameLatency=1
D3D12.PSO.DiskCache=1
D3D12.PSO.DriverOptimizedDiskCache=1

se invece un giorno dovessi decidere di fare un upgrade saprai da dove partire  :pollicesu
Alessandro Galimi

Offline Claudio Mussa

  • Admin
  • Utente storico
  • *****
  • Post: 2.546
  • Coordinatore Staff RI
    • Mostra profilo
Re:Prestazioni TSW 4
« Risposta #11 il: 29 Settembre 2023 - 11:55:42 »
Ciao Alex,

In effetti è tutto come da te scritto tranne:
 
      effetto eye-adaption in entrata uscita dalle gallerie

Un disastro!! in entrata e uscita dai portali fa cose incredibili .... non riesco nemmeno a descriverle.  :crepapelle

Che strano, a me dà un effetto bellissimo però ho provato solo sulle ultime routes e non ho il livello su ultra; se hai voglia di perderci tempo potresti provare ad eliminare le righe relative agli effetti di illuminazione a partire dal fondo (sulla prima parte del file ci sono solo ottimizzazioni); con un po' di pazienza si dovrebbe risolvere; immagino che avrai già aggiornato i driver della scheda video; fammi sapere  :pollicesu


Appena trovo 5 minuti mi cerco una galleria in una tratta recente e provo... Grazie!
Cordiali Saluti, Claudio Mussa coordinatore Staff RI

Offline robix61

  • Utente storico
  • *****
  • Post: 1.339
    • Mostra profilo
Re:Prestazioni TSW 4
« Risposta #12 il: 24 Ottobre 2023 - 18:54:18 »
Ho trovato questo post sulle guide della pagina Steam del simulatore.

https://steamcommunity.com/sharedfiles/filedetails/?id=3041632341

Ho provato ad inserire le poche righe indicate.
Ho notato un notevole miglioramento relativo alle micropause, ma le ombre, almeno in cabina diventano un disastro, vedi il confronto tra le due viste cabina della OBB 4024 qui sotto.
A parte le istruzioni per non far apparire la gente sulle piattaforme e le altre cose, ho provato a lasciare solo l'istruzione relativa alle ombre (r.Shadow.DistanceScale=0.00001
) e il risultato è lo stesso, netto miglioramento, ma ombre pessime.
Roberto
--------------------------------------------------------------------------------------------------------------------------------------------------------
I5 11600k(3,9GHz-4,9GHz)MSI MPG Z590 GAMINGPLUS 16GB DDR4-GTX1060 3GB GDDR5-NVme SABRENTRocket4 1TB M.2- WD CAVIARBLACK 1TB SATA3-WIN11 PRO

Offline robix61

  • Utente storico
  • *****
  • Post: 1.339
    • Mostra profilo
Re:Prestazioni TSW 4
« Risposta #13 il: 24 Ottobre 2023 - 19:35:43 »
C'è anche questo thread specifico sui forum DGT sullo stuttering di TSW (cavoli, mi sembra di tornare indietro di 10 anni, quando c'era lo stesso problema con Railworks  :asd), piuttosto faticoso da seguire per me però...
L'avevi letto Alex?

https://forums.dovetailgames.com/threads/definitive-stutter-fix-via-engine-ini-settings.70559/
Roberto
--------------------------------------------------------------------------------------------------------------------------------------------------------
I5 11600k(3,9GHz-4,9GHz)MSI MPG Z590 GAMINGPLUS 16GB DDR4-GTX1060 3GB GDDR5-NVme SABRENTRocket4 1TB M.2- WD CAVIARBLACK 1TB SATA3-WIN11 PRO

Offline Alex656

  • Admin
  • Utente storico
  • *****
  • Post: 1.622
    • Mostra profilo
Re:Prestazioni TSW 4
« Risposta #14 il: 25 Ottobre 2023 - 19:05:35 »
C'è anche questo thread specifico sui forum DGT sullo stuttering di TSW (cavoli, mi sembra di tornare indietro di 10 anni, quando c'era lo stesso problema con Railworks  :asd), piuttosto faticoso da seguire per me però...
L'avevi letto Alex?

https://forums.dovetailgames.com/threads/definitive-stutter-fix-via-engine-ini-settings.70559/

Mi pare di sì, comunque l'unico modo per ottenere buoni risultati è armarsi di pazienza e cercare la combinazione migliore per il proprio pc; ovviamente non andando a caso ma cercando di valorizzare i vari parametri in base al proprio sistema, ad esempio r.Streaming.PoolSize r.Streaming.MaxTempMemoryAllowed in base a quanta memoria video si ha sulla propria scheda.
Resta inteso che queste son cose che non dovrebbero essere fatte manualmente, non tutti sono smanettoni o hanno tempo e voglia, gli sviluppatori dovrebbero automatizzare il tutto o perlomeno cercare di creare dei preset più efficaci; assurdo che non abbiano neppure messo l'opzione per le directx12 visto che molti ne stanno traendo beneficio impostando a mano il parametro di avvio.

Da sottolineare questo dalla discussione che hai postato:

You will stil see stutters and that is normal since the shaders are compiled as they would normally. Stutter intensity will decrease as you go on with your run and the shader cache is being build. Finish the scenario/timetable route and exist to main menu (required only once)

7. The magic step, play any scenario/timetable run on the the same route again (it doesn't matter if you restart your pc, close TSW etc)
Enjoy almost 0 stutters any route , as now the shaders are loaded at the start instead of constant compilation

On short, running a route initially will still result in some stutters as the shaders are still compiled but also they are saved. When running the route a second time you will see a massive difference in stuttering as the game now loads the shaders instead of creating them each time.


In buona sostanza, la prima volta che si gioca su una route si ha lo stuttering a causa della compilazione degli shaders che però vengono messi in cache; rigiocando successivamente lo stesso scenario dovrebbe andare tutto molto più liscio.

Alessandro Galimi