Waarom in TS20xx 64bits versie toch een melding Out Of Memory?

Deel dit artikel

,

Logo HCC!trainsim

De 64bits versie van TS20xx kan in principe al het beschikbare werkgeheugen (RAM) van je computer gebruiken. Dat is alle RAM minus de ruimte die nodig is voor alle programma’s die tegelijkertijd met TS20xx op je computer draaien, en minus het geheugen dat je videokaart afsnoept van de RAM. Veel videokaarten hebben een gedeeld videogeheugen. Dit betekent dat als de kaart meer geheugen nodig heeft dan deze zelf heeft, het standaard RAM wordt ingezet.


En toch zie je deze melding als TS20xx/64 er onverwacht mee ophoudt. Het lijkt erop dat dit een standaardmelding is bij een crash van de 64bits versie van TS20xx. Je kan dus aan de melding niet zien waarom het programma onverwacht is gestopt.

Een vrije vertaling van een bericht van de gebruiker ‘peterfhayes’ uit het UKtrainsimforum in een discussie over een eventueel maximum aantal routes en scenario’s in TS2021*:

"Allereerst welke stappen doorloopt TS2021 bij het starten van het programma:

Eerst wordt de scenariodatabase geladen, gecontroleerd en bijgewerkt. Als er dan een fout is, dan is er een scenario corrupt, meest waarschijnlijk een Workshop scenario. Het zou kunnen dat het maximum aantal scenario’s op je systeem niet groter dan 65536 kan zijn.

Is er bij het laden geen fout, dan zie je het hoofdmenu van TS20xx. Kies je dan voor DRIVE (Rijden) dan laadt het programma eerst alle basisinstellingen. Stopt het programma op dit punt onverwacht, dan zit de fout daar dus.

Als je vervolgens voor een type scenario kiest, bijvoorbeeld Standaard, en je kiest dan voor een route en scenario wordt op dat moment pas de route, scenario en bijbehorende assets geladen. Andere scenario’s worden niet geladen.

Als je een OOM krijgt als je op Start (scenario) klikt betekent dat er een probleem is met de relatie tussen route, scenario, en de bijbehorende assets. Als je de route op zich in BUILD (Bouwen) kunt laden, dan zit het probleem waarschijnlijk niet in de route zelf.

Als je een OOM krijgt als het scenario begint, dan is er een probleem met een asset (meest waarschijnlijk rollend materieel), of de inrichting van route en scenario.

Als je een OOM krijgt tijdens het spelen van een scenario, dan zit er een fout in het scenario, of er is een onjuist gebruikt van het RAM. Mogelijk is een niet DTG route niet goed ontworpen.

Bij het gebruik van de scenario-typen Quick Drive en Free Roam komen vaker OOM meldingen voor, mogelijk is er toch foute code in het programma.

Een wat meer systeemtechnische uitleg: Een OOM melding in software betekent meestal dat een 4K pagina (page) in het Physical RAM niet meer overeenkomt met dezelfde pagina in de Virtual Adress ruimte voor de software, een zogenaamde Invalid Page Fault. Een systeem met 16GB RAM heeft 4194304 x 4K pages, dus een foutje is niet zomaar te vinden."

De technieken om voor een 64bits omgeving software te coderen is anders dan voor de 32bits omgeving, zeker in relatie tot het beheer van het RAM. Het is goed mogelijk dat DTG hier een paar steekjes heeft laten vallen. Vooral iedereen die een scenario of een route maakt is gewaarschuwd. Regelmatig back-ups maken is geen overbodige luxe.

Bron: https://forums.uktrainsim.com/viewtopic.php?f=361&t=153107&sid=59c3eaf497ea2f628248cacf8085175e

* Deze uitleg is ook van toepassing op de huidige versie van TS20xx: Train Simulator Classic.

'Meld je aan voor de nieuwsbrief' van HCC!trainsim

'Abonneer je nu op de nieuwsbrief en blijf op de hoogte van onze activiteiten!'

Aanmelden