Visual tearing without Vertical Sync

B99

Steel on Steel
I've been messing with trainz options lately to find the best config for my pc. It's a fairly high end machine, here are my specs

Intel Sandy Bridge i7 2500k @ 4.0ghz
8gb 1600mhz hyperX
evga geforce 570gtx @ stock speeds
120gb ssd and 500gb hdd in smart response

Also, here is my trainzoptions.txt file

-DepthBits=24
-StencilBits=8
-Jet=bin
-cabinfov=60
-DefaultAutoMip=none
-DynamicVertexBufferSize=4194304
-DynamicIndexBufferSize=196608
-VBO
-framerate=40
-allownoctrlrightclick
-disablerailjointsound
-framestoaverage=14
-vsync

Now, here's my issue. I don't particularly care for vsync. For a small layout, not much content, small train, it makes things smooth, no lag or choppyness what so ever. But on a larger map with tons of content, it can really lag up bad. If I don't use vsync, I get really bad visual tearing. I mean really bad! The choppyness is okay without vsync, but the tearing is unbearable. Does anyone know of a way to fix the visual tearing across the screen without using vsync?

Thanks guys~

Andy
 
Framestoaverage 14 and framerate 40? think you need to up the first one, you shouldn't be getting that low a frame rate. No stutter leaving trainzoptions.txt as standard, 1GB GTX460, 6 core Phenom at 3.21GHz, 8GB DDR3 1600mhz 7200 RPM SATA III drives. When I do get slight lag its time for an EDR and a defrag, obviously not needed with a SSD. And yes the route I'm working on is a frame rate killer on low spec PC's. (working on that though!)

If you are running Trainz on the SSD according to the SSD users you shouldn't be getting any lag? so I presume you have put the OS on it, which won't benefit Trainz much if at all.

Are you by any chance running OpenGL? in which case change to directX works better on Nvidia cards.
 
Framestoaverage 14 and framerate 40? think you need to up the first one,

Nope - framestoavarage does not specify a framerate. It specifies the 'vigour' with which a smooth fps should be maintained. Valid values are 1 through 16 with '1' being a very loosely enfoced average and '16' being a rigidly enforced average. The settings quoted are running at 40 fps with a fairly high effort to maintain a smooth average. With higher -framestoaverage settings you have to be fairly careful that the specified -framerate is possible anywhere on the route. Therefore it is better to combine high fps with lower framestoaverge, or conversely lower fps can be used to enforce a higher framestoaverage value.

Starting to wander slightly off-topic, but I have found the best visual performance from Trainz comes from specifying a relatively low framerate (something well within the capabilities of the machine) and a high framestoaverage. I run with

-framerate 22
-framestoaverage 16

for glassy smooth visuals on any route.

Can't help with the tearing though! I had the same v/sync - tearing issue on a 1 gig Radeon card with 64 bit drivers. Couldn't fix it so backdated the machine to XP and run the 32 bit drivers now with which the issue does not arise...

Andy

EDIT: Apologies to anybody trying to read this soon after posting - i have editted it about 6 times to try to clarify things :)
 
Last edited:
If you are running Trainz on the SSD according to the SSD users you shouldn't be getting any lag? so I presume you have put the OS on it, which won't benefit Trainz much if at all.

Are you by any chance running OpenGL? in which case change to directX works better on Nvidia cards.

Thanks for the comments guys. So I think I'll set trainzoptions pretty much to default. However, Malc, I do have win7 x64 installed on a hdd, with the ssd as the cache, using the intel smart response tech. What do you mean about have the os installed on the ssd? And yes, directx is a must for me.

Andy
 
Most folks would have either the OS or Trainz on the SSD. I have two SSDs, one dedicated to the OS and the second dedicated to Trainz. Gives zilch response times to both! However I had the same arrangement on the 64 bit Win7 machine before backdating to XP. I had always assumed my tearing/v-sync issues were a problem somewhere between the Radeon 64 bit drivers and Trainz, since they went away all together with the 32 bit drivers. Interesting that you are getting the same issues with an N'vid card. Not wanting to be discouraging but i googled everything, asked everybody and had a couple of very techy friends look at it but could not to save myself get Trainz to run smooth with the 64 bit Radeon, so backdated to XP and 32 bit drivers.

Nobody else at the time had anything remotely like the same issues and most of the forum responses were of the 'Whats ya prob, works for me' sort....

Welcome to the club :)
 
Okay, so I put my framerate back to 200, and took off the framestoaverage. I kept the vsync on at 1. Things seem to work okay now. I still don't quite understand. You mean you can have only trainz on an ssd? I thought you needed the os as well?
 
vsync just makes sure that the frame happens at the same time your entire screen refreshes. if you have a low framerate, and no vsync, it is fairly certain you will see the tearing, since the scene may be between frames when the screen refreshes. vsync should not limit (well the limit is your monitor refresh rate) or cause a framerate hit.
 
You mean you can have only trainz on an ssd? I thought you needed the os as well?

You can have anything you like on the SSD. The issue with SSDs and Trainz is the size of a Trainz install and the size of reasonably priced SSDs. I can fit just one Trainz install on an SSD. I can fit the OS on another. I can't fit both on one. If I had just one SSD I would probably put Trainz on it and leave the OS on a 'standard' drive. Trainz accesses the hard drive a lot, minimizing access time has got to be a good thing....
 
In a nutshell, As I see it, Trainz only accesses data from its installed location and is constantly loading from disk, the one that it is installed on, unless you are running a 32 bit OS and are low on memory the location of the swap file is fairly unimportant for Trainz, if it even uses it as I suspect it does it's own caching, so it makes sense to put Trainz on the fastest drive for shorter loading times of the individual assets and thus better performance.

@ Dermmy

Thanks for the clarification on framestoaverage, explains why it didn't seem to do anything much when I tried it back with 2009, not needed to mess with anything on my latest PC builds.
Just going to add a link about using modern graphics cards with a 32 bit OS, as 32 bit did come up, which I think will come as a shock to lot of 32 bit users, in particular the reference to DX9c and copying Video memory to Ram http://www.techpowerup.com/forums/showthread.php?t=91260 click the spoiler button for sample configurations. Extract below.

The reason a 32 bit system can only use 3GB (or 3.25GB, or whatever number you get) of system ram is because it doesnt have enough address space left. Video cards are the most important part of a PC that uses address space.

If you had 4GB of system ram and a 1GB video card under a 32 bit operating system, each individual program could only use 3GB of that system ram (due to the video card using 1GB of address space) However there is something else most people are NOT aware of.
Under DirectX 9.0C (and lower) video card ram must be duplicated into system ram. That means if you're running on the highest settings with your new shiny 1GB video card - that 1GB of video memory must be duplicated leaving you with only 2GB left for your game.

You just went from 4GB to 2GB, only considering a single 1GB video card. Things only get worse in SLI and crossfire.
 
Back
Top