Question / Help Unusual tearing/artifacts when using Game Capture

Lapppy

Member
For the past while, I have occasionally noticed an issue in my recordings where only part of the next frame is captured, creating some unusual screen tearing.

2018-09-16 23-49-10.mp4_snapshot_04.19.jpg2018-09-17 00-57-56.flv_snapshot_00.57.jpgtearing.jpg

This only happens when using Game Capture, and seems to happen regardless of encoding settings as long as the recording is at least 60fps (I've never seen it happen at 30fps). In certain games I'm only able to reproduce it If I increase the graphics settings in the game. It may not necessarily be related to GPU load however. Forza Horizon 4 Demo appears to 'flicker' in OBS (but not in game) when on the main menu until you disable VSync.
In Overwatch it can happen for no real reason... as far as I can tell. I can easily achieve a stable 60fps with 50% GPU load and plenty of room to spare, and occasionally a frame will be partially captured.

There are plenty of ways to work around this in the mean time (display capture, lower graphics) though I'm interested in finding out what exactly the cause might be, or any other potential workarounds.
 

Attachments

Ken Ishizu

New Member
Sorry for replying to an old post, but it seems no one else is discussing this kind of issue.

I noticed the same artifacts / tearing when recording Hollow Knight:

Tearing Game Capture.png


What I've discovered so far:
- Just like you said, it only happens in Game Capture mode.
- However, if I check the "Limit capture framerate" in the Game Capture option, this issue is gone. I mean, it's replaced by a few seconds of microstuttering every 10 or 15 minutes of recording.
- It seems Display Capture works in a similar way, albeit less efficiently, as the Game Capture mode with limited capture framerate.

The type of microstutter I'm facing in my recordings is similar to what you described in other posts. There aren't any reports of rendering or encoding lags in my OBS Log, but the footage doesn't 'feel' like it is 60 fps during the stutter sessions.

A few months ago, back in my old PC, I'm 100% sure I wasn't having any issues like this. The only thing I started using after upgrading the PC was RTSS. But since most people seem to be using it for limiting framerate, I don't think there's any relation to the issue.
 

Lapppy

Member
I'm still having this issue a year later, this time an example from Apex Legends:

apex_tearing2.png

Every frame that it appears, it's the same tearing pattern or very close to it, and it can appear anywhere on the frame.
The frame that is before this one is usually a duplicated frame of the one previous to it.
I searched around and found someone in the discord with this issue from a few months ago but it seems like they didn't get any help...
 

Lapppy

Member
I have found some more threads here and elsewhere online from people who also have this issue:
https://obsproject.com/forum/threads/checkered-artifacts-when-screen-tearing.108542/
https://obsproject.com/forum/thread...eird-pattern-artifact-in-my-recordings.97150/
https://www.reddit.com/r/obs/comments/9r48gf/help_i_keep_getting_this_weird_pattern_in_my/
https://howto.streamlabs.com/stream...e-grid-pattern-while-recording-streaming-2658

Also, I have found that the tearing pattern is determined by how the graphics card does tile based rasterization,which does so in a pattern that looks identical to the artifacts seen in my recordings. My GTX 1070 (and I assume most Pascal cards?) looks like this:
rasterization_pattern.png
 

Ken Ishizu

New Member
Good point! That makes a lot of sense.

But does that means there's no way to avoid this issue with Game Capture, since there'll always be a chance for OBS to capture that kind of frame while probing the video memory? :(
 

Bramblejack

New Member
@Ken Ishizu does using display capture in your case get rid of the microstutter? I appear to have a similar issue, but it would appear that every few minutes the preview and recording seems to slowly start stuttering, as if the "lag" built up to the point where the frame rate becomes basically half what it should be, 30FPS in this case. Game capture on the other hand has this issue rather randomly, although maybe there is some pattern to it as well, can't really tell.
 

Ken Ishizu

New Member
@Ken Ishizu does using display capture in your case get rid of the microstutter?
Unfortunately no. When I used display capture I had the exact same issue as you described. Never managed to solve it... :(

And game capture mode ends up capturing "torn" frames every now and then.

The only thing that seemed to work well for me was using a capture card, operating on passthrough mode with my main monitor, in a single PC setup. I didn't test this thoroughly so I'm not 100% sure it will work for everyone.
 

Bramblejack

New Member
Have you tried recording at a framerate 10 frames less than you're game is pushing out? For example, set the limit to 70FPS while recording 60 (with screen capture)? It did the trick for me while I was trying to record Doom 2016 in 50FPs (I set the limit to 60 with V-Sync off, I got massive tearing, but it wasn't visible in the recording). Currently I don't have the time to test it the way I suggest you, but maybe you do. The refresh rate also should be set to whatever you're recording at.
 

Lapppy

Member
Good point! That makes a lot of sense.

But does that means there's no way to avoid this issue with Game Capture, since there'll always be a chance for OBS to capture that kind of frame while probing the video memory? :(
So far everything that I've tried to get rid of this has not worked.
Turns out my fix that I thought had solved this, doesn't solve it though it helps a little bit. If I play games at double the framerate that OBS is running at (ie. 120fps), the stutters are mostly gone but the torn frames can still occur.

also, I again noticed someone else had this problem yesterday on the discord, they posted this image with another example of tearing:
 
Last edited:

Bramblejack

New Member
This issue may actually be game dependent and because of that game capture suffers from it the most. I've tested a few games and here's what I got:
  • Terraria: The recording is jittery every 50 to 120 frames.
  • Doom 2016: The game records fine for a few minutes then the frame rate drops down to half.
  • Minecraft: Surprisingly haven't had any issues.
  • GTA San Andreas: No issues either, although I haven't tested it thoroughly. I suggest someone else test this game as well.
Ideally, screen capture should work the best in this case, but for some reason I get this issue, which I believe has been described here, where it is fine for a few minutes then for 10 to 15 seconds frame rate drops and goes back up.
 

Lapppy

Member
While trying to fix this, I have found that running a clean 'install' of OBS (by that I mean, delete 'obs-studio' in AppData/roaming and let OBS create a new profile and scene collection, or run in portable mode) and adding ONLY a game capture source to a scene appears to minimize the occurrences of torn frames. This alone does not fix torn frames... they can still happen but much less often.
Creating a new scene collection/profile was something I had tried earlier, but it didn't seem to work nearly as well as deleting the folder in AppData.
(be sure to backup the folder before you do this!)
I'll try rebuilding my scene collection, and see when the torn frames get worse again. I have a feeling that it may be related to having one of each type of capture source in the collection despite them all being in their own scenes.
 

xcasxcursex

New Member
Managed to trace this issue down to DirectX injections, specifically in my case it was ReShade, but I'm sure it could happen with other injections as well.

Renaming the ReShade dll from dxgi.dll to d3d11.dll sorted it out.
 

Ken Ishizu

New Member
OMG!!! I can't believe it! Someone managed to fix this issue after all these years!
Hopefully it will be merged and released soon. :D
 

Wayne01

New Member
I think your issue is related to my thread:

I have the video with a very specific tearing at a very specific area in the game (there are more areas, like when a guy plays on a guitar, the same bug accure)
 
Top