Question / Help 2PC setup extremely much stream tearing on stream

Darker

Member
My gaming PC is running the game at solid 70-80 FPS and the streaming PC is outputting 720p30 with a AMD Phenom 955 BE overclocked to 3.8 GHz. 4 GB RAM. Using LGP Lite.

When I'm playing a FPS game and moving the camera around I get so much screen tearing on the stream output. If I change the x264 preset to ultrafast I will have no screen tearing but the quality will of course be shit. Seriously, I can't believe my CPU is too weak for encoding a 720p30 stream?!


Couldn't paste the log file here even if I hade it inside code brackets, so here it is: http://pastebin.com/AReKrZSn
 

Boildown

Active Member
The logs do seem to indicate that your streaming computer is struggling. The duplicated frames in most of your streams is well over 1%, which is the maximum that I found wasn't a huge degradation to the quality of the stream (I strive to average around .25% to .5% duplicated frames).

You should try the SuperFast preset and see if that helps. Also try using the Bicubic Sharper downscale, people have found the quality to possibly be better than the other downscales and use less CPU.

Also set your Scene buffering time to 700 instead of 400 and set your Constant Frame Rate (CFR) to on (Yes) instead of off (No).
 

Darker

Member
The logs do seem to indicate that your streaming computer is struggling. The duplicated frames in most of your streams is well over 1%, which is the maximum that I found wasn't a huge degradation to the quality of the stream (I strive to average around .25% to .5% duplicated frames).

You should try the SuperFast preset and see if that helps. Also try using the Bicubic Sharper downscale, people have found the quality to possibly be better than the other downscales and use less CPU.

Also set your Scene buffering time to 700 instead of 400 and set your Constant Frame Rate (CFR) to on (Yes) instead of off (No).

The superfast preset helps, going with ultrafast removes the screen tearing, but with only 3000 bitrate it just looks so fucking bad it's unwatchable. I changed to bicubic downscale, the scene buffering and enabled CFR. This is my log now: http://pastebin.com/0bbZAunx

I still had some screen tearing but not too much. Would like to go with preset veryfast but my CPU doesn't seem to handle it. But seriously, at 720p30, how can my CPU not handle that? :S
 

FerretBomb

Active Member
Obvious question, but have you tried turning vsync on, on your gaming system? Should eliminate tearing, given that's its function. Could also be the capture device at fault, if it's falling behind (especially possible given that the audio timestamps were falling behind at points, per the log). Then again, I tend not to have a high regard for Avermedia stuff.

CFR shouldn't really have any effect on this, as far as I know.
All of that said, AMD isn't really the way I tend to point most looking to start streaming, and the Phenom 955 is definitely an aging processor. I'd probably still look at the LGP first though, far as blame goes.

Just a note, when doing testing you want to let the stream run for at least 5 minutes with realistic usage when trying new settings, so that the capture/encoder/network/etc have time to 'bed in' and settle. Most of those logfile tests were less than 20 seconds in duration each, from what I saw.
 

Darker

Member
Obvious question, but have you tried turning vsync on, on your gaming system? Should eliminate tearing, given that's its function. Could also be the capture device at fault, if it's falling behind (especially possible given that the audio timestamps were falling behind at points, per the log). Then again, I tend not to have a high regard for Avermedia stuff.

CFR shouldn't really have any effect on this, as far as I know.
All of that said, AMD isn't really the way I tend to point most looking to start streaming, and the Phenom 955 is definitely an aging processor. I'd probably still look at the LGP first though, far as blame goes.

Just a note, when doing testing you want to let the stream run for at least 5 minutes with realistic usage when trying new settings, so that the capture/encoder/network/etc have time to 'bed in' and settle. Most of those logfile tests were less than 20 seconds in duration each, from what I saw.

I absolutely hate vsync because whenever I enable it it locks my FPS to something low and garbage. I guess that's intended but I have a 144 Hz monitor and I absolutely want to play at the highest possible FPS at all times.

The Avermedia capture card I'm using is very popular and I realized that the sound is no longer being delayed throughout the stream, even if I stream for hours. That problem occurred because I was using the veryfast preset which my CPU obviously can't handle. The "lower" presets I use, the more tearing I get. I get tremendous amounts of tearing if I'm running on the faster preset. I even think the stream freezes for a few seconds with that setting.

Yes, I will make at least 5 minute test recordings in the future.
 

Darker

Member
I just tried recording with vsync on and it doesn't help with the screen tearing at all. It's still there.
 

R1CH

Forum Admin
Developer
You will always have screen tearing when using a capture card unless you vsync to the capture card's rate.
 

Darker

Member
You will always have screen tearing when using a capture card unless you vsync to the capture card's rate.

For real? I've seen tons of streamers who uses capture cards and many of them have 144 Hz monitors but their streams seems to be just fine with no tearing.

Would you mind explain why this occurs? I mean there is a huge difference in the tearing based on what preset I use. I get a lot more tearing when using the veryfast preset than I get when using the ultrafast preset.
 

misterslin

New Member
I'd love to see an answer for this as well. I use a 2pc setup and get screen tearing on the stream when playing FPS games.
 

misterslin

New Member
[solved]

@dodgepong @Jack0r @Floatingthru thanks again for helping me earlier tonight in IRC! I wanted to update you on what happened with my screen tearing issue.

If you can recall, I was the guy using 2 PC's and a Avermedia Live Gamer HD c985 and getting screen tearing issues on my stream. My setup is simple. Monitor #1 on my gaming PC plugs into my gaming GPU. A single HDMI cord connects my gaming GPU to my c985 which is plugged into my streaming PC. I have a streaming GPU in my streaming PC which then connects to Monitor #2.

When I streamed, the game was totally fine but I was having big screen tearing issues within the stream player itself, mostly caused by high motion turning found in FPS games. This would happen whether I was streaming 720p at 60FPS or 1080p at 30FPS.

Dodgepong's fix was the one that did it for me. After posting my OBS log to him, he saw that I was using 720p 60fps on my c985, resizing it to 1080p in OBS video options, and then using the 1.5x resolution downscale back to 720p in video options to get a 720p stream. By removing that process, it cut all of the screen tearing from my stream. I now use 720p 60fps on the c985 and 720p with no downscale in the video options. Thank you again for your help!

I'm hoping that by telling you this you can spread the word. It turns out I didn't need to buy a different capture card or go through a no-capture card method. An active HDMI splitter is not needed either! I do not use Vsync, I do not use any external program to limit my FPS, and I'm able to use my 144hz monitor to its fullest capacity!

If you want to see a VOD from tonight, check here: http://www.twitch.tv/misterslin/c/5564445 (this link will likely expire if you're reading this thread later, so you can always check my stream at http://www.twitch.tv/misterslin and shoot me a Twitch PM. I will be glad to help anyone out as I read all of my Twitch PMs!).

Hope this helps anyone else reading this thread!


Computer #1 specs:
i7-3930K
8 GB RAM
GTX 770

Computer #2 specs:
i7-3770K
16GB RAM
GTX 580
Avermedia Live Gamer HD C985
 
Last edited:

nipnops

New Member
Dodgepong's fix was the one that did it for me. After posting my OBS log to him, he saw that I was using 720p 60fps on my c985, resizing it to 1080p in OBS video options, and then using the 1.5x resolution downscale back to 720p in video options to get a 720p stream. By removing that process, it cut all of the screen tearing from my stream. I now use 720p 60fps on the c985 and 720p with no downscale in the video options. Thank you again for your help!

@misterslin So the fix was basically to longer downscale in OBS options, but set the base resolution to 720p? I'm thinking of getting 144hz and don't want that screen tear for my viewers. I use basically the exact set up you do.
 

VooDoo

Member
I absolutely hate vsync because whenever I enable it it locks my FPS to something low and garbage. I guess that's intended but I have a 144 Hz monitor and I absolutely want to play at the highest possible FPS at all times.

The Avermedia capture card I'm using is very popular and I realized that the sound is no longer being delayed throughout the stream, even if I stream for hours. That problem occurred because I was using the veryfast preset which my CPU obviously can't handle. The "lower" presets I use, the more tearing I get. I get tremendous amounts of tearing if I'm running on the faster preset. I even think the stream freezes for a few seconds with that setting.

Yes, I will make at least 5 minute test recordings in the future.

Ok, think about it like this, screen tearing is cause from feeding more frames than the maximum refresh, and if your capture card is rated for 60 or less fps you'd be exceeding the refresh, and not even by a divisible. This is directly what causes tearing, you have 1 option build your PC to actually be capable of a stable 60Hz refresh or i.e 60FPS with Vsync on or deal with Vsync on as is. honestly it should be obvious to you that when you turn Vsync on it dips under 60FPS. My pc will not even hit 59 fps w/ Vsync on @ 1080p so I'd be curious as to what you think is 60+ real world capable. Benchmarking 230fps doesn't mean it will hold 60 no matter what.

This reminds me of Crysis days, people thinking 120 peak was good >.>
 

Cryonic

Member
The capture card should limit the captured frames at 60, doesnt matter how many your system can push out.
How can tearing even happen while capturing with a locked amount of FPS (the passthrough is still unlimited!)?
 

FerretBomb

Active Member
A capture card essentially is grabbing a frame at a time. if VSync is off, your video card is going to kick out even incomplete frames. This is what vsync is *for*, it ensures that frames don't go out half-completed, which is what causes the 'tearing' effect.

A capture card is going to bring in whatever is shown to it, tearing and all.
Essentially what you're doing running a capture card with vsync off is showing it a torn picture, and asking why it's capturing a torn picture.

This is also why triple-buffering exists. It allows your video card to run at full speed, and keeps the last fully-completed frame ready-to-go as soon as your monitor is ready for the next one. It removes the added latency induced by vsync, ensuring that each frame displayed is the most up-to-date possible.
Unfortunately there are a number of competitive gamers who don't understand technology, parrot things they've heard from other people, and use the placebo effect to reinforce bad information. One reason vsync has a bad rap among competitive circles, even with triple buffering... even though it will induce at most one extra frame's worth of delay.
 

Cryonic

Member
Yeah but anyway with 144Hz input the capture card should be able to handle the FPS at the gives resolution, cutting it down to 60 for the stream.
 

Cryonic

Member
Then tearing would appear on screen, not only in the recorded HDMI capture. And we all know there are a few tricks around that - cap the FPS without VSYNC at your monitor refresh rate, use VSYNC or simply use triple buffering. And all games i know (and games that are not locked to 30 or 60fps) have at least one of the options with VSYNC being the worst of them (and it should be used only in the case where nothing else helps).
 

FerretBomb

Active Member
Capping the framerate to your monitor's refresh does not guarantee a lack of tearing. Close-sync tears generally look a lot worse, as they're consistently on screen more of the time and in close to the same location, drawing the eye.
Triple buffering works in conjunction with vsync. You can't triple-buffer without it.
The on-screen tearing may be minimized by the display and refresh type in conjunction with persistence-of-vision, while the (potentially) slower capture will make the appearance of tears worse. So yes, it can appear minimal to not-present to the person playing (especially if their video card allows monitor and cap card to negotiate at different refresh rates when duplicating) and still be extremely visible on the capture, for several reasons.

I've seen similar troubling advice in many of your posts. I understand that you're trying to help, but in a lot of cases it's inaccurate or misleading, and can be outright harmful, especially when given to new streamers.
 
Top