RRT3 performance and compatibility in modern computers

Tips & suggestions for a good RT3 playing environment.
User avatar
thietavu
Conductor
Posts: 286
Joined: Tue Jan 05, 2010 2:39 pm
Location: Vantaa, Finland

RRT3 performance and compatibility in modern computers Unread post

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! ;)
AMD Phenom X6 1090T @3.9GHz, 16GB DDR3-1600 RAM, Asus Crosshair Formula IV mb, Radeon HD7870, Samsung 850EVO SSD, M-Audio AP192, Windows 10-64, Railroad Tycoon 3 1.06. & TM, Train Simulator 2016, MSTS + many add-ons, Trainz!
User avatar
Blackhawk
CEO
Posts: 1112
Joined: Thu May 21, 2009 2:34 pm

Re: RRT3 performance and compatibility in modern computers Unread post

FYI You posted this topic 3x, with the only 1 noticeable change in it. I kept the topic that was posted last and assume it has any corrections you made.

I recently bought a Lenovo Y580 and it had a Nvidia 660m card it in and I don't think I have any of the low-res graphics issues. On my older laptop with Vista, I had the low res issues with (or at least I couldn't get the water reflections) however, when I put a beta version of Win8 the water reflections worked. So I'm at a loss as to whether it's a software or hardware issue or a combination of both that's the cause of the low resolution.

Another thing to keep in mind is that while computers can do more today due to hyperthreading, I'd guess that RT3 wasn't programmed to take advantage of it. So while modern computers may have more RAM and video processing power many also have slower processor speeds, but more cores. But if RT3 only takes advantage of 1 core then the overall processing speed it has to use for some computers is slower.

Beyond that I probably don't have too much to offer in this area as I really have no desire to run 400 trains or anything like that. I generally like knowing what my trains are doing and often like to micromanage them which with too many trains just isn't feasible.
User avatar
Sugus
Engineer
Posts: 569
Joined: Wed Feb 04, 2009 1:33 pm
Location: Rorschacherberg, Switzerland

Re: RRT3 performance and compatibility in modern computers Unread post

Only two short notes by an old software developer:

I've made the experience that the use of old libraries in newer environments is increasingly problematic. If you e.g. use proprietary ActiveX components developed under Visual C++ version 6.0 (around 1995) including the corresponding old MS libraries under Windows 7, then you have to be prepared for this or that surprise. In a similar way, RT3 has never been migrated or ported, and therefore it will depend on the specific constellation (CPU, memory, graphics board, etc.) if the program will show "comic effects" or not. (And last but not least: due to its age RT3 certainly insn't capable to run on multi cores.)

Concerning 400, 500 or more trains, I would like to indicate that - in general - programs managing elements, where the number is growing and growing, sooner or later go to its knees. In MFC programs (MFC = Microsoft Foundation Classes) under Windows NT, our applications (around 1998) showed that filling list boxes reached a critical point between 4000 and 5000 elements (text lines). Fast up to 4000, but extremely slow beyond 5000. The same story applies to RT3 when internal scanning through the various lists (trains, stations, factories, etc.) simply reaches a critical mass. If you are a progammer, you can play a bit with nested loops, and you will make some interesting new experiences concerning "big numbers and time elapsed" ...

But who knows: possibly a later XP emulation under Windows 12 can provide even better results? (0!!0)
There's no business like RT business ...
User avatar
thietavu
Conductor
Posts: 286
Joined: Tue Jan 05, 2010 2:39 pm
Location: Vantaa, Finland

Re: RRT3 performance and compatibility in modern computers Unread post

Thanks for the comments! (0!!0)

I believe RRT3 is pretty much limited by its memory management. The GPU, to my surprise, doesn't even seem to use its full 3D speed for most of the time, but instead idles at 300 MHz or so no matter what is happening on screen. I also noticed no difference whether I used my CPU at full speed or in power saving mode. As Sugus suggests, there must be huge tables within the game - and the content of those tables must be updated all the time. At some point the internal book keeper simply goes crazy - too much stuff to move from one cell to another. There's not much we can do about that although I'd guess some computers with very large and fast cache memory, for example, can make the problems appear later in the game.

It is remarkable, anyway, that RRT3 is capable of running at least 866(!) trains simultaneously with hundreds of stations, over a million trees, etc etc. {,0,}

The few scenarios where this matters are completely different from ordinary RRT3 maps. They are about train fleet management and long time massive transport operations, not about "tasks" the usual way. There is plenty of micro management in such "RRT3 as an economy simulator" maps, but it is about different things such as improving and optimizing routes, equipment, industry, etc. I find that, actually, extremely interesting besides challenging enough. ;)

Merry Christmas, all of you! :)
AMD Phenom X6 1090T @3.9GHz, 16GB DDR3-1600 RAM, Asus Crosshair Formula IV mb, Radeon HD7870, Samsung 850EVO SSD, M-Audio AP192, Windows 10-64, Railroad Tycoon 3 1.06. & TM, Train Simulator 2016, MSTS + many add-ons, Trainz!
Post Reply