Het belangrijkste verschil tussen de 64-bit en DX12 versie zijn dat ze andere (vooral modernere) codebibliotheken gebruiken en meer ondersteuning bieden aan modernere hardware. Om Wikipedia even te quoten:
Wikipedia schreef:Microsoft DirectX is een verzameling API's die het voor programmeurs eenvoudiger maakt computerspellen te programmeren op Windows.
De 64-bit versie van Train Simulator is een variant die men heeft gemaakt van de 32-bit versie. Deze werd in... uit mijn hoofd 2016? aangepast waardoor het spel niet langer gelimiteerd was aan de welbekende 32-bit out of memory crash welke we bij jou zeer vaak gezien hebben, Teun, vanwege de grootte van je route.
De DirectX12 versie is weer een doorontwikkeling op de 64-bit versie in een poging van DTG om Train Simulator Classic te 'upgraden' en de code weer enigzins up-to-date te maken met de huidige standaarden. Dit is ook gelukt, want DTG heeft een hoop dingen uit het spel gehaald die (door henzelf) nooit werden gebruikt en ze hebben een hoop dingen gestroomlijnd. Er zijn met de tijd meerdere artikelen verschenen over de voortgang van deze upgrade, waarvan
deze ten tijde van schrijven de laatste is. Ben je iets meer begaan met computers dan is het een interessant artikel over het reilen en zeilen onder de motorkap van TSC. Volgens DTG draaien we nu op de meest stabiele variant van TS. Langzaam worden ook bepaalde zaken toegevoegd aan de huidige versie die jij en ik spelen. Het bewijs kan je vinden in de lampen bug: Deze verscheen na een update en is door DTG als het goed is al gefixt in een volgende update. DTG is echter zeer voorzichtig met het uitbrengen van updates, omdat ze support willen en moeten leveren aan alle oude meuk die nog op Steam staat en verkocht wordt. Denk aan routes uit 2008 of treinen gebouwd in het jaar 0. Dit geldt niet voor derde partijen als ChrisTrains of Virtual Railroads: Alhoewel er goede samenwerking is met deze partijen (zeggen ze zelf) is het uitgangspunt van DTG om de eigen producten in ieder geval te ondersteunen.
Om dan bij je vraag te komen: Train Simulator Classic stamt nog uit de tijd van DirectX9. De laatste update van deze DirectX kwam uit in 2009, ongeveer rond de tijd van Railworks. De eerste versie 9 stamt uit 2004, waardoor we kunnen aannemen dat Kuju deze variant toendertijd gebruikt heeft voor de ontwikkeling van het spel.
De tijd gaat natuurlijk voort. DLSS, Raytracing, Anti Aliasing, allemaal termen die ons om de oren worden gegooid als je naar videokaarten, spellen en dergelijke kijkt. Ook DirectX is meegegroeid met de tijd en de huidige versie is DirectX12.2 uitgekomen in oktober 2021. Deze API's, ofwel stukken code voor programmeurs, zijn in de tijd natuurlijk ook anders geworden. Coderen gaat op andere manieren, we gebruiken de GPU veel meer dan de CPU voor bepaalde taken, multicore support is tegenwoordig bijna standaard. Dat was toen allemaal niet. Train Simulator is uitgekomen (toen nog als Rail Simulator) in 2007. De development heeft waarschijnlijk wel wat jaren geduurd - het is dus ontworpen voor computers met een Pentium 4, 4GB RAM en een ATI Radeon HD3850 of nVidia GT8600.
De 'upgrade' die men heeft gemaakt met de DX12 versie is niks meer dan een vertaalslag van DX9 naar DX12. Men heeft gezorgd dat alle functies die TS gebruikt welke niet werken of worden geaccepteerd in DX12 toch met elkaar kunnen praten. Op zich prima, maar het levert wel extra overhead op, want soms moet het programma bepaalde waarden eerst omzetten naar DX12, dan worden er berekeningen gedaan, en dan wordt de boel weer omgezet naar DX9 zodat het programma het nog snapt. Aan de andere kant zijn bepaalde functies van DX9 exact hetzelfde als in DX12. Deze functies werken in de DX12 versie nog gewoon en bovendien werken ze ook beter, want DX12 biedt zaken als multicore ondersteuning etc. Hierdoor zul je merken dat DX12 over het algemeen langzamer loopt, maar op sommige punten toch sneller is dan de DX9 versie. Onder de motorkap is het nog steeds DX9 die simpelweg vertaald is naar DX12. Verder zit er niet veel verschil in, ware het niet dat de 'nieuwe' variant op modernere code draait. Nogmaals, modernere code betekend niet noodzakelijk sneller. Het spel is nog steeds hardcoded multicore. Dat wil zeggen dat bepaalde zaken handmatig op bepaalde CPU cores worden afgehandeld. Deze update is er ik geloof in 2013 ingeslopen. Het maakte TS iets sneller, maar niet veel. Als je het artikel leest snap je ook dat TS een behoorlijk linear spel is. Dingen worden achter elkaar berekend, niet naast elkaar zoals dat nu normaliter gebeurd. Daarom kan het zijn dat TS op een quad core die op 5,0GHz draait sneller is dan een 16-core op 4,0GHz: Het spel heeft meer aan de rekensnelheid dan aan de hoeveelheid rekencores. TSW heeft dat wel en zal wel volledig gebruik maken van je hardware. TSC doet dat nog altijd niet.
Hopelijk snap je nu wat de DX12 versie is.
Groet,
Koplopermau