Zarolho
Power Member
Um exemplo...Um caso...
«...
Horizontal Tearing.
I never got this problem before I upgraded to a lcd monitor, now I do unless I turn vsync on, which thrashes my framerates. Is there some video card driver settings or something I can use to minimize or eliminate this problem without vsync?...»
-------------------------------------------
«...No, that's normal for double-buffered framebuffers with v-sync disabled. It's called tearing. You can get rid of it by enabling v-sync, or triple-buffering, but these "solutions" have their own issues.
When v-sync is enabled, your graphics card has to wait for a refresh interval before it can update the screen with the latest framebuffer. When you reach a refresh interval (every 1/60th of a second), if the next frame is finished rendering, it is sent to the screen. Otherwise, the previous frame is repeated. This makes use of a double buffer: one for the previous frame, and one for the frame being rendered.
Also, if the video card finds it can render some frames particularly fast, it is left waiting for the refresh interval, because it can't start work on the next frame until that interval.
Unfortunately, this can create a very jerky feel when your framerate is significantly less than the video refresh. Some frames are shown only once, while others are shown 2, maybe 3 times, creating an ugly jerky effect. This makes low framerates feel even lower than they actually are.
When v-sync is disabled, your video card has the go-ahead to start rendering the next frame when it finishes the current one. This allows your video card to render as fast as it possibly can, which makes for smoother framerates even when bogged down. The downside is, the frame drawing is completely out of sync, and thus most frames will be "in-progress" when rendered.
This creates your horizontal tearing, and you'll notice it more when the camera moves further between frames. The frame is drawn top-to-bottom, and the tear you see is where the new frame ends and what is left of the old frame begins.
Triple buffering can also help make v-sync more playable. As the name implies, this creates a third buffer, so now the video card has a buffer to start rendering to if it finishes a frame early. This lets you get the most out of your video card without putting up with tearing, although it still has the same problem as v-sync at lower framerates (jerky reuse of the previous buffer if the next frame isn't ready yet).
Thus, you see why most of the world plays with v-sync disabled, double-buffered, and puts up with tearing. The "solutions" available suck. The only real solution is to buy hardware that can crank out framerates in excess of your monitor's refresh rate, or drop your settings in-game. Higher framerates make tearing less noticable, and also make playing with v-sync MUCH smoother. Maybe you didn't notice it before you got the LCD because you played at a lower resolution...»
http://www.hardforum.com/printthread.php?t=1034668
«...
Horizontal Tearing.
I never got this problem before I upgraded to a lcd monitor, now I do unless I turn vsync on, which thrashes my framerates. Is there some video card driver settings or something I can use to minimize or eliminate this problem without vsync?...»
-------------------------------------------
«...No, that's normal for double-buffered framebuffers with v-sync disabled. It's called tearing. You can get rid of it by enabling v-sync, or triple-buffering, but these "solutions" have their own issues.
When v-sync is enabled, your graphics card has to wait for a refresh interval before it can update the screen with the latest framebuffer. When you reach a refresh interval (every 1/60th of a second), if the next frame is finished rendering, it is sent to the screen. Otherwise, the previous frame is repeated. This makes use of a double buffer: one for the previous frame, and one for the frame being rendered.
Also, if the video card finds it can render some frames particularly fast, it is left waiting for the refresh interval, because it can't start work on the next frame until that interval.
Unfortunately, this can create a very jerky feel when your framerate is significantly less than the video refresh. Some frames are shown only once, while others are shown 2, maybe 3 times, creating an ugly jerky effect. This makes low framerates feel even lower than they actually are.
When v-sync is disabled, your video card has the go-ahead to start rendering the next frame when it finishes the current one. This allows your video card to render as fast as it possibly can, which makes for smoother framerates even when bogged down. The downside is, the frame drawing is completely out of sync, and thus most frames will be "in-progress" when rendered.
This creates your horizontal tearing, and you'll notice it more when the camera moves further between frames. The frame is drawn top-to-bottom, and the tear you see is where the new frame ends and what is left of the old frame begins.
Triple buffering can also help make v-sync more playable. As the name implies, this creates a third buffer, so now the video card has a buffer to start rendering to if it finishes a frame early. This lets you get the most out of your video card without putting up with tearing, although it still has the same problem as v-sync at lower framerates (jerky reuse of the previous buffer if the next frame isn't ready yet).
Thus, you see why most of the world plays with v-sync disabled, double-buffered, and puts up with tearing. The "solutions" available suck. The only real solution is to buy hardware that can crank out framerates in excess of your monitor's refresh rate, or drop your settings in-game. Higher framerates make tearing less noticable, and also make playing with v-sync MUCH smoother. Maybe you didn't notice it before you got the LCD because you played at a lower resolution...»
http://www.hardforum.com/printthread.php?t=1034668
Última edição: