Tearing in Doom 3

Warbie

Party Escort Bot
Joined
Sep 13, 2003
Messages
10,615
Reaction score
0
Has anyone else noticed much gfx tearing?

Without vsync enabled it's everywhere /o\ This is on a 9800 pro btw.
 
Enable Vsync in the game options, it is off by default. . .
 
Everyone seems to be having the same problem. How could ID not have noticed this. None of the reviews (pcgamer hardocp) mentioned any tearing.
 
blackeye said:
Everyone seems to be having the same problem. How could ID not have noticed this. None of the reviews (pcgamer hardocp) mentioned any tearing.

mmmm why could that be? ;)

oh yeh - $$$$$$$$$$$$$'s (the hardocp report is complete schiezenpoopen)

I have never seen tearing like this in any other game. Fortunately vsync doesn't seem give much of a performance hit.
 
Warbie said:
Fortunately vsync doesn't seem give much of a performance hit.
Vsync just limits fps to your monitor's refresh rate, and since D3 limits fps to 60 anyway you shouldn't be able to tell any fps loss unless your monitor uses < 60 Hz. And I hope it doesn't. If it does, please get a new monitor.
 
blackeye said:
Everyone seems to be having the same problem. How could ID not have noticed this. None of the reviews (pcgamer hardocp) mentioned any tearing.
Isn't happening to me. 9800SE softmodded to Pro.
 
Snakebyte said:
Vsync just limits fps to your monitor's refresh rate, and since D3 limits fps to 60 anyway you shouldn't be able to tell any fps loss unless your monitor uses < 60 Hz. And I hope it doesn't. If it does, please get a new monitor.

Really? I never used to enable Vsync 'cause it would drop my fps. But I guess it makes sense if you don't got over 60fps in Doom 3. I've been getting a shitload of tearing on that. I'm gonna enable it now, see how it goes. *fingers crossed my fps doesn't take a hit*
 
Yes.. tons of tearing, moreso the higher detail level I go.
 
Quake 3 engine had this problem as well. Turning Vsync on was the first thing i did in setup.
 
Vsync has nothing to do with your monitor's refresh rate. 'Tearing' occurs when your video card has not completed the frame buffer but displays the frame anyway and moves on. Vsync prevents a frame from being displayed until it is complete. If you have tearing, vsync will ALWAYS reduce your fps, that's pretty much the definition of vsync, reducing the fps so the fill rate can catch up.
 
That may be the case, but I am almost entirely certain that it limits the FPS to your monitors refresh rate.
 
btw who said that the ultra setting is unplayable by any current computer? both me and my friend have played on it.3-10 fps, but still.
 
I can play on ultra settings with 20-60 fps... in 640x480. ;)
 
Vsync is really pissing me off :/

Any area that cause my frames to drop below 60 results in a capped 30 fps :/ Seeing as most of the game runs between 50-60 fps this really does suck.

Does altering refresh rate have any impact on vsync?

Why is it capped at 30?
 
Looks like D3 is one of those games where it doesn't work correctly and locks in at certain points depending on your refresh rate. For a refresh of 60, you'll get 60, 30, or 15 fps, always rounding down once it gets below 60 or 30. :hmph:

You could try changing around your refresh rate to see where the different 'lock-in' points are, but I think, no matter what, it's going to suck. :(
 
I think you're right.

It seems to make little difference what I set the refresh rate to - be it 60 or 85.

What a bugger :/
 
yeah i noticed that too when i was haveing a boxing match with a wall..
 
Warbie, post your resolution, quality setting, and graphics card. Try reducing the resolution. Tearing happens because your fillrate can't keep up, which is primarily affected by your resolution.
 
dscowboy said:
Vsync has nothing to do with your monitor's refresh rate. 'Tearing' occurs when your video card has not completed the frame buffer but displays the frame anyway and moves on. Vsync prevents a frame from being displayed until it is complete. If you have tearing, vsync will ALWAYS reduce your fps, that's pretty much the definition of vsync, reducing the fps so the fill rate can catch up.
Vsync
Vertical Refresh Synchronisation. This is a setting that many graphics adapters have. When enabled, it forces the graphics chip to time the buffers swaps with the vertical refresh of the monitor. This helps to prevent "tearing" - a visual problem where one half of the screen is displaying one frame and the other half is displaying a previous frame.

The graphics chip writes each new frame into a portion of the memory called the frame buffer. When using double buffering, the graphics adapter writes a new frame into a non-visible "back" buffer while displaying the contents of the "front" buffer to the monitor; when it has finished the frame, the graphics chip has to swap the buffers around to begin a new frame. If the monitor is still displaying the last frame when they are swapped, then you get tearing.

However, this can be avoided by synchronising the swapping of the buffers with the vertical refresh of the monitor; this is when the beam of electrons reaches the very last pixel in the monitor screen and sweeps quickly back up to the very first one at the top. During this moment, nothing is displayed on the screen making it an ideal time to swap the buffers.
Vsync should only be disabled when benchmarking so that the videocard and processor are not being limited by the display. Frame rates will appear higher with vsync off but the amount of information displayed is limited by your monitor in that instance. A monitor with an 85 Hz refresh rate will only display 85 frames per second even if the videocard is rendering 400 frames a second.
Sounds like what I was saying...
 
After enabling triple buffering the problem of capped frames has vanished :)

Highly recomended for anyone who has vsync on but is tired of watching their frame rate plummet when it drops just below 60.

(an hours play with a frame rate that never drop below 45, and no tearing \o/)
 
Snakebyte said:
Vsync just limits fps to your monitor's refresh rate, and since D3 limits fps to 60 anyway you shouldn't be able to tell any fps loss unless your monitor uses < 60 Hz. And I hope it doesn't. If it does, please get a new monitor.

You're right that it sychnronizes your frames with your refresh rate, but there is always a major fps loss if your original fps is slower than your refresh rate. Here's a crappy illustration:

Without vsync:
Refreshes : 1..........2..........3..........
Frames__ : 1..............2.............3...

If your framerate is slower that your refresh rate (as in the example above), then incomplete frames are displayed every time the screen refreshes. At Refresh 2, only 80% of frame 2 is complete. At refresh 3, you get 50% of Frame 2 and 50% of frame 3, etc etc.

With vsync:
Refreshes : 1..........2..........3..........4..........5..........6...
Frames__ : 1..............2xxxx..............3xxxxx...............4

When vsync is on: At Refresh 1, 100% of Frame 1 is displayed. At refresh 2, 100% of frame 1 is displayed AGAIN because Frame 2 is not complete. Frame 2 gets completed before Refresh 3... but the framebuffer cannot be used to build Frame 3 because Frame 2 has to be held there until it can be displayed. After Refresh 3, Frame 3 starts getting built in the frambuffer, but Refresh 4 happens before the frame is complete, so Frame 2 has to be displayed again.

Essentially vsync will stop new frames from being built until a refresh happens and the last frame can be displayed. If your refresh is 60hz and your fps is between 30 and 60, this has the effect of displaying each frame twice and giving you a constant 30 fps.

Apparently Doom3 uses 60 hz for every resolution. I understand this can be changed in the config file, but whenever you exit D3 it gets changed back to 60hz. 60hz is a big pain in the ass for people with < 60 fps for two reasons:

1) If you have vsync off, tearing will be very promiment because 60 hz is slow enough that your eye notices the tearing easily. At 85hz or more it's much easier to forget that tearing is occuring.

2) If you have vsync on, your framerate will always be your refresh rate (60hz) divided by an integer. 60, 30, 15, 7.5, etc. If your system is capable of doing 59 fps, you will only see 30 fps. If you system can do 29 fps, you will see 15 fps.

I was wrong to say that "vsync has nothing to do with your refresh rate", I meant that nobody should worry about their monitor being less than 60hz. I know this whole thing is a little confusing so I'll try to summarize: If vsync is on and your fps is lower than your refresh rate, your fps will drop to a half, or a quater, or an eighth, etc of your refresh rate.

For people with tearing issues, I would try changing the Hz setting in the D3 config file to whatever your monitor will support so the tearing is not as evident.
 
OK. Thanks for explaining.
I think I now understand what you mean. ;)
 
Back
Top