Compatibility mode

From TrainzOnline
(Difference between revisions)
Jump to: navigation, search
(Created page with "This page details the various "Compatibility mode" options available in TRS19 and later, and how they affect gameplay and performance. ==Maximise compatibility== TODO ==Stre...")
 
Line 1: Line 1:
This page details the various "Compatibility mode" options available in TRS19 and later, and how they affect gameplay and performance.
+
The "Compatibility mode" setting in Trainz is used to disable various optimisations in order to support legacy content (Routes, Sessions, and their dependencies).
 +
 
 +
This page details the various compatibility mode options available in TRS19 and later, and how they each affect gameplay and performance.
  
 
==Maximise compatibility==
 
==Maximise compatibility==
TODO
+
In maximise compatibility mode Trainz will disable all [[Asynchronous_Route_Streaming|Route streaming]], and maintain the maximum level of script support possible. While running in this mode Trainz will keep the entire Route loaded into system memory, which can massively degrade performance.
 +
 
 +
This mode should only be used to run legacy content which fails to operate correctly with streaming enabled.
  
 
==Stream objects==
 
==Stream objects==
TODO
+
This mode enables [[Asynchronous_Route_Streaming|Route streaming]], but keeps the maximum level of script support possible. With streaming enabled, Trainz is able to unload portions of the Route which are inactive and far away from the player, increasing performance. This is especially evident on very large Routes. However, older scripted assets can experience issues, as they may attempt to query Route data which is not currently loaded.
 +
 
 +
This mode is most appropriate for running content from older versions of Trainz.
  
 
==Maximise performance==
 
==Maximise performance==
TODO
+
In maximise performance mode Trainz enables [[Asynchronous_Route_Streaming|Route streaming]], and prevents many legacy script functions from running. This can hugely improve performance but older scripted content is likely to function incorrectly, or not at all. Specifically, script functions which are tagged with the 'obsolete' keyword are likely not to function, and may return empty, null, or incomplete results.
 +
 
 +
This mode is the used to run most builtin and DLC content, but it can break Session gameplay in content from older versions of Trainz.
  
 
==Show errors on legacy calls==
 
==Show errors on legacy calls==
TODO
+
This mode is useful for finding/debugging content which attempts to use legacy script features. While in 'Show errors on legacy calls' mode, Trainz will operate identically to 'Maximise performance' mode, but script calls to obsolete/legacy functions will also generate script exceptions. This allows content creators to determine which assets require fixing/replacing in order to support 'Maximise performance' mode, but due to the extra processing game performance will be slightly worse than when running in 'Maximise performance'.
 +
 
 +
This mode should only be used for testing and debugging during content creation.
 +
 
 +
==See Also==
 +
* [[Asynchronous_Route_Streaming| Asynchronous Route Streaming]]
 +
* [[HowTo/Search_for_objects_in_the_world| How to Search for objects in the world]]

Revision as of 10:26, 3 March 2022

The "Compatibility mode" setting in Trainz is used to disable various optimisations in order to support legacy content (Routes, Sessions, and their dependencies).

This page details the various compatibility mode options available in TRS19 and later, and how they each affect gameplay and performance.

Contents

Maximise compatibility

In maximise compatibility mode Trainz will disable all Route streaming, and maintain the maximum level of script support possible. While running in this mode Trainz will keep the entire Route loaded into system memory, which can massively degrade performance.

This mode should only be used to run legacy content which fails to operate correctly with streaming enabled.

Stream objects

This mode enables Route streaming, but keeps the maximum level of script support possible. With streaming enabled, Trainz is able to unload portions of the Route which are inactive and far away from the player, increasing performance. This is especially evident on very large Routes. However, older scripted assets can experience issues, as they may attempt to query Route data which is not currently loaded.

This mode is most appropriate for running content from older versions of Trainz.

Maximise performance

In maximise performance mode Trainz enables Route streaming, and prevents many legacy script functions from running. This can hugely improve performance but older scripted content is likely to function incorrectly, or not at all. Specifically, script functions which are tagged with the 'obsolete' keyword are likely not to function, and may return empty, null, or incomplete results.

This mode is the used to run most builtin and DLC content, but it can break Session gameplay in content from older versions of Trainz.

Show errors on legacy calls

This mode is useful for finding/debugging content which attempts to use legacy script features. While in 'Show errors on legacy calls' mode, Trainz will operate identically to 'Maximise performance' mode, but script calls to obsolete/legacy functions will also generate script exceptions. This allows content creators to determine which assets require fixing/replacing in order to support 'Maximise performance' mode, but due to the extra processing game performance will be slightly worse than when running in 'Maximise performance'.

This mode should only be used for testing and debugging during content creation.

See Also

Personal tools