Question / Help Frame Rate Issue

SDub

New Member
Hey Guys,

My issue might be simple and maybe have already been posted about. Specifically, I am trying to stream the game "Crysis 3." I have the game on completely low, and even have several cvars set to reduce the graphics even further. While playing Crysis 3 w/o streaming, I get capped at 125 FPS (set in my autoexec.cf) which is expected. When I begin streaming w/OBS, however, my framerate drops to 45 FPS pretty consistently. Is this expected?

Specs:

Windows 7 64 bit
Core i5 750 @4.0Ghz
Radeon 7970 Ghz Edition
8Gb Muskin Blackline
120GB Adata S511 SSD
ASUS P755D Pro
 

Cloudwolf

Member
Please post the log file. Which capture method are you using and what are your settings? On advanced you the slower the speed you set that the more CPU intensive it is and the worse performance you could be seeing which is why it's recommended to be on very fast. If you are on windows 7 and have aero on DO NOT USE monitor capture. Game capture and window capture would work well. Monitor capture to the best of my knowledge still has the worst performance.
 

SDub

New Member
Thanks for your response! Here's one of my recent log files:

Code:
16:26:42: Open Broadcaster Software v0.522b - 64bit ( ^ω^)
16:26:42: -------------------------------
16:26:42: CPU Name: Intel(R) Core(TM) i5 CPU         750  @ 2.67GHz
16:26:42: CPU Speed: 3812MHz
16:26:42: Physical Memory:  8190MB Total, 4740MB Free
16:26:42: stepping id: 5, model 14, family 6, type 0, extmodel 0, extfamily 0, HTT 1, logical cores 4, total cores 4
16:26:42: monitor 1: pos={0, 0}, size={1920, 1080}
16:26:42: monitor 2: pos={1920, 0}, size={1280, 1024}
16:26:42: Windows Version: 6.1 Build 7601 S
16:26:42: Aero is Enabled
16:26:42: -------------------------------
16:26:42: OBS Modules:
16:26:42: Base Address     Module
16:26:42: 000000003F1B0000 OBS.exe
16:26:42: 00000000ED890000 OBSApi.dll
16:26:42: 00000000F8EC0000 DShowPlugin.dll
16:26:42: 00000000F8E90000 GraphicsCapture.dll
16:26:42: 00000000F21E0000 NoiseGate.dll
16:26:42: ------------------------------------------
16:26:42: Adapter 1
16:26:42:   Video Adapter: AMD Radeon HD 7900 Series
16:26:42:   Video Adapter Dedicated Video Memory: 3202543616
16:26:42:   Video Adapter Shared System Memory: 4025493504
16:26:42: ------------------------------------------
16:26:42: Adapter 2
16:26:42:   Video Adapter: AMD Radeon HD 7900 Series
16:26:42:   Video Adapter Dedicated Video Memory: 3202576384
16:26:42:   Video Adapter Shared System Memory: 4025493504
16:26:42: =====Stream Start: 2013-05-17, 16:26:42===============================================
16:26:42:   Multithreaded optimizations: On
16:26:42:   Base resolution: 1280x720
16:26:42:   Output resolution: 1280x720
16:26:42: ------------------------------------------
16:26:43: Loading up D3D10...
16:26:43: Playback device {0.0.0.00000000}.{8d3a51e7-5073-47ff-a387-1cb4111c16a2}
16:26:43: ------------------------------------------
16:26:43: Using desktop audio input: Speakers (High Definition Audio Device)
16:26:43: ------------------------------------------
16:26:43: Using auxilary audio input: Microphone (High Definition Audio Device)
16:26:43: ------------------------------------------
16:26:43: Audio Encoding: AAC
16:26:43:     bitrate: 256
16:26:43: ------------------------------------------
16:26:43:     device: Logitech HD Webcam C270,
16:26:43:     device id \\?\usb#vid_046d&pid_0825&mi_00#7&de4bdff&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bbefb6c7-2fc4-4139-bb8b-a58bba724083},
16:26:43:     chosen type: I420, usingFourCC: false, res: 320x240 - 320x240, frameIntervals: 333333-2000000, fourCC: 'I420'
16:26:43:     audio device: (null),
16:26:43:     audio device id (null),
16:26:43: 
16:26:43: Using directshow input
16:26:43: Using Window Capture
16:26:43: Using bitmap image
16:26:44: ------------------------------------------
16:26:44: Video Encoding: x264
16:26:44:     fps: 60
16:26:44:     width: 1280, height: 720
16:26:44:     preset: superfast
16:26:44:     CBR: no
16:26:44:     CFR: no
16:26:44:     max bitrate: 2300
16:26:44:     buffer size: 2400
16:26:44:     quality: 10
16:26:44: ------------------------------------------
16:26:45: Using RTMP service: Twitch / Justin.tv
16:26:45:   Server selection: rtmp://live-ord.justin.tv/app
16:26:46: SO_SNDBUF was at 8192
16:26:46: SO_SNDBUF is now 65536
16:27:27: Total frames rendered: 2448, number of frames that lagged: 139 (5.68%) (it's okay for some frames to lag)
16:27:27: RTMPPublisher::SocketLoop: Aborting due to bStopping
16:27:27: Number of times waited to send: 0, Waited for a total of 0 bytes
16:27:27: Number of b-frames dropped: 2 (0.086%), Number of p-frames dropped: 0 (0%), Total 2 (0.086%)
16:27:27: =====Stream End: 2013-05-17, 16:27:27=================================================

In regards to my settings, the only ones that I believe might effect the frame rate is the x264 preset, which is currently set to ultrafast (I played around with all the settings, no luck), and I'm capturing my 1920x1080 monitor and downscaling it to 1280x720 which is what my twitch displays.
 

Cloudwolf

Member
try lowering your stream fps to 30 for a test (not sure if thats the issue). If I remember correctly obs doesn't get along well with sli/crossfire. I'm assumign you have 2 cards running in crossfire because your log says it has 2 video adapters (i'm not very proficient at reading logs but others here are)
 

SDub

New Member
I was running 2 7970s in crossfire. I am no longer. I will change the FPS as soon as I can.
 

SDub

New Member
Well guess what? That increased my FPS in game. I now get around 55-70 which is playable much NOTHING like capped 125 FPS. I even OC'd my CPU to 4.011Ghz and that didn't change a thing (stable in game). How the heck am I gonna make this work to stream at 120 FPS? Is that even possible?
 

SDub

New Member
A webcam as well.

When I use a game capture device setting for Crysis 3 instead of a window capture, I get really good frame rate. As soon as I add a webcam, OBS crashes. Is this expected?
 

Xianahru

Member
Streaming Crysis 3 hits quite heavy on your Hardware. The results you are getting are pretty much expected for your firstGen i7, even tho I wouldnt call them bad. 70FPS ingame is a solid framerate to begin with.

Window Capture with Aero On uses your CPU to capture instead of your GPU, which results in the GPU hhaving more resources to spend on the game, hence a higher framerate.

You are getting a few lagged frames, probably because your CPU is maxing out at 60FPS. Try lowering to 30 FPS. Can you try and add the webcam as a global source? Does OBS craqsh if you stream nothing but your webcam? (Make a new scene, only add the webcam).
 

Krazy

Town drunk
You can also try lowering the resolution of your webcam in the source properties, there's no reason to have your webcam at full resolution if you are just shrinking it into a corner.

Anyway, as Xianahru said, this is about as good as you are going to get with a first gen i5 and a high motion game which stresses the encoder a lot like Crysis 3. Even if you do use ultrafast, it will look quite bad, as the quality sacrifices you make are just too much, especially with an FPS game. You can probably have a decent looking stream if you switch to 30fps, and downscale one more step while sticking to Veryfast preset.
 

SDub

New Member
Yeah, that might be the case that my hardware isn't good enough. However, I did use game capture instead and while it was very finicky (dependant on what order I did, booting game first, booting OBS first, starting stream first, etc.) it gave me a stream w/120 FPS only when I didn't use a webcam. If I started streaming while Crysis 3 was loading, I would get a 0xA1 BSOD. Pretty strange eh? I wonder how I can make this more stable...


New question: I have 3 7970s. I know some people will purchase a capture card and use it exclusively for streaming. Could I use 1 7970 exclusively for streaming, and 1 exclusively for 3D applications such as Crysis 3?
 

Bensam123

Member
Yeah, a first gen i5 wouldn't be able to handle that. I would suggest lowering your OBS resolution. I really don't know how you'd stream any FPS on that. I had a i7-860 and had to upgrade from that.

Kind of a off question, but why do you have 3 7970s and a ancient processor? Capture cards use a completely different computer to capture the video output from a video card, you don't use extra video cards for it. So you'd make a secondary computer exclusively for capturing what the first computer puts out.
 

SDub

New Member
Well, I was using a GTX 470. I won these cards in a Crysis 3 competition. I plan to upgrade to the Haswell architecture as soon as it comes out.
 
Top