I hope that people with NIVIDIA GPUs (graphics cards) having "new" problems running any version of Trainz might find this posting useful as I seem to uncovered a serious bug in newer NVIDIA graphics drivers.
In short the work around might be to "Disable Hardware TL" or something similar depending on the version of Trainz you are using until NVIDIA bring out a new driver that (hopefully) fixes the problem. The quality and performance both suffer, but it's better than crashing (the Trainz/PC not the train ;-) !
I recently reinstalled TS12 onto a new (i5-based) computer in Windows 7 64-bit and Trainz would not run for long without Hardware TL disabled. My old computer used XP and my graphics drivers may have been a little out-of-date, which probably explains why I didn't see the problem there.
I had thought the problem was that I was using DirectX 11 whereas my GPU only supports DirectX 9.x. I felt I need to go back to an earlier version of DirectX, but Windows 7 (thankfully) wouldn't let me and now I believe (after reviewing several postings on the NVIDIA and other forums) that I understand that each new version of DirectX runtime contains all previous runtime versions and it is up to the application (in partnership with the GPU) to use the most recent version that (together) they support. So if there is a bug in the NVIDIA driver [Version 275.33 ** (and probably some earlier ones)] then it is probably that it is not restricting itself to using DirectX features to the level that the GPU can support (but using the latest*). Note that whether OpenGL is using graphics drivers directly or via DirectX makes no difference to the scenario. It is affecting them both.
It seems unlikely that it is a problem restricted to Trainz because it crashes Microsft's DxDiag 64-bit (which tests Microsoft's DirectX) and I also ran a GPU stress test (FurMark) and it crashed in less than two seconds (long before the GPU had a chance to heat up - GPU temperature was shown as having risen less than 1 degC). But see note to Zec below.
I'll try and explain the problem as it occurs in Trainz (well my TS12 anyway when "Hardware TL" is enabled), but first it may be useful if I explain what I believe this "Hardware TL" is supposed to be. I believe it is synonymous with T&L or TCL (I'm open to correction). TCL stands for Transform, Clipping and Lighting, where the hardware (1) transforms 3D coordinates in the game to 2D coordinates on your screen, (2) clips off areas that you can't see from your viewpoint and (3) ensures that areas have the correct colour for the lighting/shadow conditions.
So the problem, as I see it, using the new NVIDIA drivers and OpenGL (in Trainz' Driver mode certainly with its far greater use of TCL because of the movement) crashes within a minute anyway. You can change Trainz from using OpenGL to DirectX, but then the quality is truly AWFUL! (Even text within an image can't be read). Just "Disable Hardware TL" and wait for NVIDIA (I have written to an NVIDIA forum)! The specific error messages (using OpenGL) in Windows 7 are fleeting, but they read:
The NVIDIA OpenGL driver lost connection with the display
driver and is unable to continue. The application must close.
Please visit http://www.nvidia.co...ge/support.html for help
Error code 8
AND
Display driver stopped responding and has recovered
Display driver NVIDIA Windows Kernel Mode Driver, Version 275.33 stopped
responding and has successfully recovered.
Hoping my 3 or 4 days or research helps some out of this thorny problem (and reduces Zec's workload a bit).
All the best,
Peter.
NB: *** ZEC *** you might find this useful with regard to some of the newer support questions you receive and you might want to check with the Auran programmers that they make no assumptions about which DirectX runtime version can be used, but leave it to the lower level (usually working) software to decide.
* Note that this sort of backwards compatibility bug often slips through the net at the testing stage of software development (like drivers) because newer hardware and operating systems are the focus of the testing.
** NVIDIA forum postings indicate that the problem is not restricted to just one type of NVIDIA GPU, but seems to be related to the newer driver version(s).
In short the work around might be to "Disable Hardware TL" or something similar depending on the version of Trainz you are using until NVIDIA bring out a new driver that (hopefully) fixes the problem. The quality and performance both suffer, but it's better than crashing (the Trainz/PC not the train ;-) !
I recently reinstalled TS12 onto a new (i5-based) computer in Windows 7 64-bit and Trainz would not run for long without Hardware TL disabled. My old computer used XP and my graphics drivers may have been a little out-of-date, which probably explains why I didn't see the problem there.
I had thought the problem was that I was using DirectX 11 whereas my GPU only supports DirectX 9.x. I felt I need to go back to an earlier version of DirectX, but Windows 7 (thankfully) wouldn't let me and now I believe (after reviewing several postings on the NVIDIA and other forums) that I understand that each new version of DirectX runtime contains all previous runtime versions and it is up to the application (in partnership with the GPU) to use the most recent version that (together) they support. So if there is a bug in the NVIDIA driver [Version 275.33 ** (and probably some earlier ones)] then it is probably that it is not restricting itself to using DirectX features to the level that the GPU can support (but using the latest*). Note that whether OpenGL is using graphics drivers directly or via DirectX makes no difference to the scenario. It is affecting them both.
It seems unlikely that it is a problem restricted to Trainz because it crashes Microsft's DxDiag 64-bit (which tests Microsoft's DirectX) and I also ran a GPU stress test (FurMark) and it crashed in less than two seconds (long before the GPU had a chance to heat up - GPU temperature was shown as having risen less than 1 degC). But see note to Zec below.
I'll try and explain the problem as it occurs in Trainz (well my TS12 anyway when "Hardware TL" is enabled), but first it may be useful if I explain what I believe this "Hardware TL" is supposed to be. I believe it is synonymous with T&L or TCL (I'm open to correction). TCL stands for Transform, Clipping and Lighting, where the hardware (1) transforms 3D coordinates in the game to 2D coordinates on your screen, (2) clips off areas that you can't see from your viewpoint and (3) ensures that areas have the correct colour for the lighting/shadow conditions.
So the problem, as I see it, using the new NVIDIA drivers and OpenGL (in Trainz' Driver mode certainly with its far greater use of TCL because of the movement) crashes within a minute anyway. You can change Trainz from using OpenGL to DirectX, but then the quality is truly AWFUL! (Even text within an image can't be read). Just "Disable Hardware TL" and wait for NVIDIA (I have written to an NVIDIA forum)! The specific error messages (using OpenGL) in Windows 7 are fleeting, but they read:
The NVIDIA OpenGL driver lost connection with the display
driver and is unable to continue. The application must close.
Please visit http://www.nvidia.co...ge/support.html for help
Error code 8
AND
Display driver stopped responding and has recovered
Display driver NVIDIA Windows Kernel Mode Driver, Version 275.33 stopped
responding and has successfully recovered.
Hoping my 3 or 4 days or research helps some out of this thorny problem (and reduces Zec's workload a bit).
All the best,
Peter.
NB: *** ZEC *** you might find this useful with regard to some of the newer support questions you receive and you might want to check with the Auran programmers that they make no assumptions about which DirectX runtime version can be used, but leave it to the lower level (usually working) software to decide.
* Note that this sort of backwards compatibility bug often slips through the net at the testing stage of software development (like drivers) because newer hardware and operating systems are the focus of the testing.
** NVIDIA forum postings indicate that the problem is not restricted to just one type of NVIDIA GPU, but seems to be related to the newer driver version(s).