RRT3 performance and compatibility in modern computers
Posted: Wed Dec 19, 2012 9:01 pm
I have tried to learn and understand why RRT3 and its more advanced sister TrainMaster behave the way they do in today's computers, after a decade or more since they were developed. This thread is about my (and other people's) findings.
I just upgraded my AMD Radeon HD5850 graphics card to AMD Radeon HD7870 GHz Edition. Both cards are fairly powerful by today's standards, and way beyond anything the devs of RRT3 could have imagined in 2001..2003. I was interested in one thing and not just a little afraid of another thing. First: does a more powerful modern Radeon card run RRT3 any faster when there is enough CPU power and memory? Secondly: knowing all too well the truly bizarre "low resolution" problems in RRT3 in some systems (the usual scene: your graphics turn into really ugly, lowest quality textures no matter what your graphics settings may be), I wondered if RRT3 engine could cope with my new card's 2 GB of video memory (5850 has 1 GB)...
And answers I got.
First: to my kind of a surprise, the newer, faster card actually runs RRT3 a little bit *slower* than the older one! The difference is small but systematic. My only explanation is that RRT3 probably uses such old DirectX and other code libraries that Windows 7/8 and/or modern AMD drivers and/or graphics chips no longer support them very efficiently (if at all)... It would be highly interesting to know whether this happens with Nvidia and Intel graphics chips & drivers, too. I can't tell where the "sweet spot" might be here, but I'd guess that at least in AMD Radeons' case, a 4000..5000 -series card of almost any kind with 1 GB of video RAM will be enough to run the game to the full performance. Okay, why "1 GB of video RAM"? That's the next thing...
Secondly: to my relief and surprise, RRT3 only or mostly seems to have problems with graphics cards that have 512..768 Mbytes of video RAM. All my recent Radeon cards have worked flawlessly with TrainMaster (should therefore apply to the basic RRT3 game): 4790 (1 GB), 5770 (1 GB), 5850 (1 GB), 7870 (2 GB). My Nvidia card before those (can't remember the model, sorry) had, I think, 768 MB - and it had the "low resolution problem".
So, the good News is this: your latest high-memory graphics card will most likely work just fine with RRT3. The game doesn't seem to utilize more than 256 MB of video RAM anyway, according to my tests.
This does, however, bring out some new questions. How come does RRT3 slow down so dramatically after a certain, rarely seen number of trains and other objects? My very vague guess at this point would be this: RRT3 tries to squeeze everything in a scenario into 256 MB of video memory and maybe about 512 kB of computer RAM. In order to cope with anything too "big" for these limits, it probably has to swap things a lot in memory to make room for new things. Quite like your Windows computer does when it runs out of memory and has to start using hard disk and its swap file... If this is the case here, then a computer with very fast memory subsystem and excellent single core performance might be ideal for RRT3. It is not entirely impossible that RRT3 even writes temporary things on hard disk, thus benefiting from fast disks like SSDs.
Your comments and observations are very welcome to shed light on these little mysteries! ;)
I just upgraded my AMD Radeon HD5850 graphics card to AMD Radeon HD7870 GHz Edition. Both cards are fairly powerful by today's standards, and way beyond anything the devs of RRT3 could have imagined in 2001..2003. I was interested in one thing and not just a little afraid of another thing. First: does a more powerful modern Radeon card run RRT3 any faster when there is enough CPU power and memory? Secondly: knowing all too well the truly bizarre "low resolution" problems in RRT3 in some systems (the usual scene: your graphics turn into really ugly, lowest quality textures no matter what your graphics settings may be), I wondered if RRT3 engine could cope with my new card's 2 GB of video memory (5850 has 1 GB)...
And answers I got.
First: to my kind of a surprise, the newer, faster card actually runs RRT3 a little bit *slower* than the older one! The difference is small but systematic. My only explanation is that RRT3 probably uses such old DirectX and other code libraries that Windows 7/8 and/or modern AMD drivers and/or graphics chips no longer support them very efficiently (if at all)... It would be highly interesting to know whether this happens with Nvidia and Intel graphics chips & drivers, too. I can't tell where the "sweet spot" might be here, but I'd guess that at least in AMD Radeons' case, a 4000..5000 -series card of almost any kind with 1 GB of video RAM will be enough to run the game to the full performance. Okay, why "1 GB of video RAM"? That's the next thing...
Secondly: to my relief and surprise, RRT3 only or mostly seems to have problems with graphics cards that have 512..768 Mbytes of video RAM. All my recent Radeon cards have worked flawlessly with TrainMaster (should therefore apply to the basic RRT3 game): 4790 (1 GB), 5770 (1 GB), 5850 (1 GB), 7870 (2 GB). My Nvidia card before those (can't remember the model, sorry) had, I think, 768 MB - and it had the "low resolution problem".
So, the good News is this: your latest high-memory graphics card will most likely work just fine with RRT3. The game doesn't seem to utilize more than 256 MB of video RAM anyway, according to my tests.
This does, however, bring out some new questions. How come does RRT3 slow down so dramatically after a certain, rarely seen number of trains and other objects? My very vague guess at this point would be this: RRT3 tries to squeeze everything in a scenario into 256 MB of video memory and maybe about 512 kB of computer RAM. In order to cope with anything too "big" for these limits, it probably has to swap things a lot in memory to make room for new things. Quite like your Windows computer does when it runs out of memory and has to start using hard disk and its swap file... If this is the case here, then a computer with very fast memory subsystem and excellent single core performance might be ideal for RRT3. It is not entirely impossible that RRT3 even writes temporary things on hard disk, thus benefiting from fast disks like SSDs.
Your comments and observations are very welcome to shed light on these little mysteries! ;)