Image "tearing"

dmagro

Limp Gawd
Joined
Jul 9, 2004
Messages
257
I have an A64 3000 with a BFG 6800GT OC and 1 Ghz of Kingston HyperX 3200 on a MSI K8N Neo Platinum and a WD Raptor.

It's all new stuff on a new install of windows XP.

Running Doom 3, or other fps games, even at very reasonable, if not "low" resolutions such as 1024x768, I'll get very noticeable "tearing" when I turn quickly. I'm not sure if tearing is the right term, but it's basically very visible faults in the image being displayed. It's as if the video card or monitor stop printing the current frame midway through the screen, and then switch to the next. This does NOT mean it causes a horizontal division in the screen when it happens, with 1 frame occupying the top part and the next (with a different facing due to a quick turn of my character) occupying the lower part.

I have a Samsung monitor, 19" but not sure what model it is atm (not at home). It's a decent monitor, so I don't really think it is at fault, but then again, I am not sure.

Basically, if you want to see if you have this problem also, just fire up Doom 3 and (with fairly high mouse sensitivity), turn your character very quickly, back and forth.

I get very high framerates in demo1 (forgot the numbers, but they were in the hundreds even though I thought it was supposed to be capped) and scored 11k's in 3dMark03.

Is there a way to stop this "tearing"?
 
Obvious question here, but do you have VSYNC on? In the Nvidia control panel you can either force it on, or have it be dependant on the application you are running. With the latter, just make sure Vsync is on in the advanced settings in Doom 3.

- D.
 
I think VSYNC only works from the doom3 settings regardless of driver settings in windows. I could be wrong though!
 
As the people said above, check your VSYNC settings.


The problem you describe sounds exactly like vsync is off, many people prefer it off for higher frame rates that are non-refresh rate dependent, but I can't stand the tearing either.
 
I enabled VSync and it makes my Doom III a lot smoother, but I turned on the FPS counter and it knocked down the FPS to 30 all the time. Is there anyway to set VSync to Sync at 40 or 50 fps? My rig can't really sustain Doom III at 60 thanks to my processor, but it can do 40 and 50 fps. Preferable I would like to set VSync so it starts out trying to sync at 50, if it can't hit that then go down to 40, then go down to 30.
 
We need triple-buffering.

Triple buffering was a novelty in the days of Duke Nikem 3D on DOS with a VESA2.0 driver. Those good old times, eh?

Where's the "Enable triple buffering" checkbox in the 61.77 drivers? :(
 
Keon said:
We need triple-buffering.

Triple buffering was a novelty in the days of Duke Nikem 3D on DOS with a VESA2.0 driver. Those good old times, eh?

Where's the "Enable triple buffering" checkbox in the 61.77 drivers? :(

The problem with Triple buffering is with AA enabled the buffers can be hughe. Take 1600x1200@32bit with 4xFSAA for example.

32 bits of color is 4 bytes and 4FSAA multiplies the resolution by 4 and when you multiply it all thogether you get 1600 x 1200 x 4 x 4 = 30,720,000 which is about 30MB of data for the framebuffer alone. Now when you smack on triple buffering you will get 30MB * 3 which is 90 MB of video memory taken from your card just for the framebuffers. VSYNC just limits the framerate so it takes up a lot less memory, but they need to make VSYNC more scalable instead of cutting your framerate by 1/2 the should just drop it 5 or 10 fps at a time.
 
jon_k said:
The problem with Triple buffering is with AA enabled the buffers can be hughe. Take 1600x1200@32bit with 4xFSAA for example.

32 bits of color is 4 bytes and 4FSAA multiplies the resolution by 4 and when you multiply it all thogether you get 1600 x 1200 x 4 x 4 = 30,720,000 which is about 30MB of data for the framebuffer alone. Now when you smack on triple buffering you will get 30MB * 3 which is 90 MB of video memory taken from your card just for the framebuffers. VSYNC just limits the framerate so it takes up a lot less memory, but they need to make VSYNC more scalable instead of cutting your framerate by 1/2 the should just drop it 5 or 10 fps at a time.

Are you sure that with FSAA, all samples are written to the framebuffer and only combined on the DAC readout? I thought that with at least the newer cards, the samples were combined BEFORE they are written to the framebuffer? I could be completely wrong though...

Anyways, even if it took another 30MB framebuffer, I'd trade it for smoother FPS anytime (unless I had a 128MB card but then I probably wouldn't be running 1600x1200). :)
 
yeah you could be right, becasue the method I just described is they way 3dfx used to do it with their Voodoo5 and manufacturers have probably figured this out and improved upon it. Triple buffering would still take up a nice chunk of memory. And if it did take up 90MB of video memory your framerates would be a lot less smooth becasue of all the AGP texture caching that occurs. A scaleable VSync fix would still be the best solution IMHO.
 
By default, VSYNC is turned OFF within the DOOM3's game setting. You have to go in there and set it to ON. When it's set to OFF, it overrides you driver settings. I don't understand why id Software would want this to default to OFF. Seems bizarre to me why it would be like that. I also noticed all the tearing until I set it on ON in the game settings when I first installed the game.

Let me know if that helps.
 
nkeney said:
By default, VSYNC is turned OFF within the DOOM3's game setting. You have to go in there and set it to ON. When it's set to OFF, it overrides you driver settings. I don't understand why id Software would want this to default to OFF. Seems bizarre to me why it would be like that. I also noticed all the tearing until I set it on ON in the game settings when I first installed the game.

Let me know if that helps.

Maybe for pure performance issues. Vsync really doesn't help performance at all. It's not supposed to though. Not everyone has extreme tearing issues. I don't notice it on mine.
 
Back
Top