Timing van operaties in treinritten
Timing van operaties
Aankomst of verder rijden
Ik ben momenteel licht en geluid aan het instellen voor mijn treinritten. Ik wil dat bepaalde geluiden worden afgespeeld wanneer de trein aankomt of zijn reis voortzet.
De timing is hier belangrijk, omdat start- en bestemming operaties al kunnen worden ingesteld in de treinrit. Verdere operaties kunnen ook worden gestart in de respectieve blokken die bij de treinrit horen.
De volgorde van de acties is vooral belangrijk voor het bestemming blok.
Operaties oproepen vs. verwerken
De heer Freiwald legt de timing van de operaties in het Forum als volgt uit:
Veel gebruikers hebben het (verkeerde) idee dat operaties na elkaar worden uitgevoerd en dat de volgende operatie pas wordt verwerkt als de vorige volledig is verwerkt of voltooid.
Operaties worden echter niet achter elkaar verwerkt in een lijst met operaties, maar worden achter elkaar aangeroepen. Een klein maar subtiel verschil.
Het aanroepen van een operatie vindt plaats nadat de vorige operatie is aangeroepen. Vanaf dit moment kunnen deze operatie en de vorige operatie parallel lopen.
Dit komt omdat veel operaties geen gedefinieerd of bekend einde hebben. Een treinrit bijvoorbeeld, die eindeloos in een cirkel wordt gestart, kan nooit eindigen (of alleen aan het einde van het programma). Wanneer een geluid wordt afgespeeld, is het niet bekend wanneer het zal eindigen, enz.
De optie om macro's synchroon of asynchroon aan te roepen vormt hierop geen uitzondering. Als een macro synchroon wordt aangeroepen, wacht het systeem niet totdat alle operaties in de aangeroepen macro zijn verwerkt voordat de volgende operatie wordt aangeroepen, maar totdat alle operatites zijn aangeroepen door de aangeroepen macro.
Timing
Deze afbeelding is gemaakt om de timing van de operaties te illustreren.
Modelspoorcollega Domapi heeft ons de beschrijving Operations_im_Zeitverlauf.pdf gegeven voor de tijdsvolgorde van operaties in een treinrit.
TrainController wacht niet op einde macro
Als een macro wordt gestart in TrainController als onderdeel van een operatie, wordt deze macro altijd parallel verwerkt met de andere bewerkingen. Deze parallelle verwerking wordt omzeild in het TC-wiki artikel: Macro: verwerking.
Weblinks
- Bron: Forum
- Uitleg: Forum
- Beschrijving: Operationen_im_Zeitverlauf.pdf
- TC-wiki: Macro: verwerking
- --Wohlmannstetter 12:54, 16. Feb. 2019
- bearbeitet: Uslex (Diskussion) 07:48, 20. Aug. 2022 (CEST)