Slow database performance...
Jason,
the content (textures, sound, etc) used within Trainz is stored in a database of 160,000 entries. Though Auran had a good idea to use a database for performance in storage read and write, versus the registry of windows, the specfic one they used is not known by me but whichever one they use doesn't seem to have many indexes.
On other databases that IT infrastructures use for storage, we have indexes to help performance on the database, whether microsoft sql, mssql, or postgresql. Without indexes, the system would have to look through EACH entry in the database just to find a particular one, which is what seems to be the case in the database process used by Trainz 2010: EE = TADDaemon.exe.
Our custom built system clients asked us to see which edition of a train simulator was the best and which budget system could run it at its best. For the lack of performance in the database, the spawning of textures in the distance is not that good, jittery a majority, on a Quad core Q8600, 4 GB 800 mhz ram, 4-4-4-12, and a Radeon HD 5770 1 GB. The harddrives we tried to use on budget was a caviar 10000rpm but, even using 2 Velociraptors in Raid 0 (striping) and achieving 100 MB/s throughput with them, the content manager is freezing and the usage of both TADDaemon.exe and Contentmanager.exe binaries is 50 percent on this quad core. We have benchmarked other games, like Crysis, FC2, GTA4 and never got more than 20 percent usage out of them, on Directx 10+. This is on a Windows 7 64-bit ultimate. I sense some of the performance problems may arrise with windows 7/vista kernels but I dont see much of a difference, other than stability, when running in xp compatibility mode both TADDaemon backend and ContentManager frontend.
This game would not be so resource hungry and would allow implementation of better graphics with the resource savings if the database backend was good enough.
Im sure Auran already knew this though
There's something wierd in the sky! I See Auran's future; I see 5 % resource usage for the database backend, on a Core 2 duo!