Question / Help Game runs fine, but stream is dropping >50% of frames

avolcano

New Member
I recently got a CPU upgrade (went from a Core 2 Duo to an i5 3570K; it's amazing :D), and was excited to get to try streaming again (since, obviously, not a lot you can do on a C2D). I've been trying a few games now, all through software capture in windowed mode, and there's good news and bad news.

Good news is, the games themselves are all running perfectly, whereas before streaming would completely cripple my system.

Bad news - this isn't resulting in good streams. All of my streams have been choppy and laggy (though not low-quality, other than frame rate - this doesn't seem to be a bitrate issue). My target is 1280x720 (well, technically 1280x800 since it's a 16:10 capture) at 30fps, but at that resolution, the stream becomes a total slideshow. If I downscale it all the way down to 640x400, it just barely ekes out a steady 30 fps - which works, but isn't ideal, of course. If I had to pin this to one root cause, my graphics card is somewhat old - a GTX 275 - but I didn't think it would cause this much difficulty at 720p (though I don't expect it to pull 1080p 60fps or anything!).

I've attached a log, which has some different attempts at changing quality while streaming TF2 today. Hopefully there's a solution for this that I'm missing.

(the first couple of entries, which have 0% frames dropped, are all from the menus. You can tell the gameplay ones because they'll have 50-75% dropped :p)

Code:
Open Broadcaster Software v0.460a - 32bit (´・ω・`)
-------------------------------
CPU Name: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
CPU Speed: 3392MHz
Physical Memory:  4095MB Total, 4095MB Free
stepping id: 9, model 10, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
Windows Version: 6.2 Build 9200 
Aero is Enabled
------------------------------------------
Adapter 1
  Video Adapter: NVIDIA GeForce GTX 275
  Video Adapter Dedicated Video Memory: 911605760
  Video Adapter Shared System Memory: 3354996736
------------------------------------------
Adapter 2
  Video Adapter: Microsoft Basic Render Driver
  Video Adapter Dedicated Video Memory: 0
  Video Adapter Shared System Memory: 268435456
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1280x800
  Output resolution: 1280x800
------------------------------------------
Loading up D3D10...
------------------------------------------
Audio Encoding: AAC
    bitrate: 96
Using Window Capture
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 1280, height: 800
    preset: veryfast
    CBR: no
    max bitrate: 2500
    buffer size: 2500
    quality: 7
------------------------------------------
Total frames rendered: 145, number of frames that lagged: 0 (0.00%) (it's okay for some frames to lag)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1200
  Output resolution: 1280x800
------------------------------------------
Loading up D3D10...
------------------------------------------
Audio Encoding: AAC
    bitrate: 96
Using Window Capture
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 1280, height: 800
    preset: veryfast
    CBR: no
    max bitrate: 2500
    buffer size: 2500
    quality: 7
------------------------------------------
Total frames rendered: 48, number of frames that lagged: 0 (0.00%) (it's okay for some frames to lag)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1200
  Output resolution: 1280x800
------------------------------------------
Loading up D3D10...
------------------------------------------
Audio Encoding: AAC
    bitrate: 96
Using Window Capture
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 1280, height: 800
    preset: veryfast
    CBR: no
    max bitrate: 2500
    buffer size: 2500
    quality: 7
------------------------------------------
SO_SNDBUF already at 65536
bufferTime: 1714, outputRateWindowTime: 1000, dropThreshold: 2214
Total frames rendered: 7327, number of frames that lagged: 103 (1.41%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1200
  Output resolution: 1280x800
------------------------------------------
Loading up D3D10...
------------------------------------------
Audio Encoding: AAC
    bitrate: 96
Using Window Capture
Using Window Capture
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 1280, height: 800
    preset: veryfast
    CBR: no
    max bitrate: 2500
    buffer size: 2500
    quality: 7
------------------------------------------
Total frames rendered: 27, number of frames that lagged: 0 (0.00%) (it's okay for some frames to lag)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1200
  Output resolution: 1280x800
------------------------------------------
Loading up D3D10...
------------------------------------------
Audio Encoding: AAC
    bitrate: 96
Using Window Capture
Using Window Capture
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 1280, height: 800
    preset: veryfast
    CBR: no
    max bitrate: 2500
    buffer size: 2500
    quality: 7
------------------------------------------
SO_SNDBUF already at 65536
bufferTime: 1850, outputRateWindowTime: 1000, dropThreshold: 2350
Total frames rendered: 6581, number of frames that lagged: 1098 (16.68%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1200
  Output resolution: 1280x800
------------------------------------------
Loading up D3D10...
------------------------------------------
Audio Encoding: AAC
    bitrate: 96
Using Window Capture
Using Window Capture
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 1280, height: 800
    preset: veryfast
    CBR: no
    max bitrate: 2000
    buffer size: 2000
    quality: 7
------------------------------------------
SO_SNDBUF already at 65536
bufferTime: 1619, outputRateWindowTime: 1000, dropThreshold: 2119
Total frames rendered: 786, number of frames that lagged: 477 (60.69%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1200
  Output resolution: 1280x800
------------------------------------------
Loading up D3D10...
------------------------------------------
Audio Encoding: AAC
    bitrate: 96
Using Window Capture
Using Window Capture
------------------------------------------
Video Encoding: x264
    fps: 60
    width: 1280, height: 800
    preset: veryfast
    CBR: no
    max bitrate: 3500
    buffer size: 3500
    quality: 7
------------------------------------------
SO_SNDBUF already at 65536
bufferTime: 1864, outputRateWindowTime: 1000, dropThreshold: 2364
Total frames rendered: 804, number of frames that lagged: 639 (79.48%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1200
  Output resolution: 1920x1200
------------------------------------------
Loading up D3D10...
------------------------------------------
Audio Encoding: AAC
    bitrate: 96
Using Window Capture
Using Window Capture
------------------------------------------
Video Encoding: x264
    fps: 60
    width: 1920, height: 1200
    preset: veryfast
    CBR: no
    max bitrate: 4000
    buffer size: 4000
    quality: 7
------------------------------------------
SO_SNDBUF already at 65536
bufferTime: 1854, outputRateWindowTime: 1000, dropThreshold: 2354
RTMPPublisher::BufferedSend: Buffer is full (522375 / 524288 bytes), waiting to send 4097 bytes
RTMPPublisher::BufferedSend: Buffer is full (522375 / 524288 bytes), waiting to send 4097 bytes
RTMPPublisher::BufferedSend: Buffer is full (521065 / 524288 bytes), waiting to send 4097 bytes
RTMPPublisher::BufferedSend: Buffer is full (520377 / 524288 bytes), waiting to send 4097 bytes
RTMPPublisher::BufferedSend: Buffer is full (521035 / 524288 bytes), waiting to send 4097 bytes
Total frames rendered: 929, number of frames that lagged: 420 (45.21%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 3 (0.098%), Number of p-frames dropped: 37 (1.2%), Total 40 (1.3%)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1200
  Output resolution: 1280x800
------------------------------------------
Loading up D3D10...
------------------------------------------
Audio Encoding: AAC
    bitrate: 96
Using Window Capture
Using Window Capture
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 1280, height: 800
    preset: veryfast
    CBR: no
    max bitrate: 4000
    buffer size: 4000
    quality: 7
------------------------------------------
SO_SNDBUF already at 65536
bufferTime: 1645, outputRateWindowTime: 1000, dropThreshold: 2145
Total frames rendered: 4203, number of frames that lagged: 2659 (63.26%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1280x800
  Output resolution: 1280x800
------------------------------------------
Loading up D3D10...
------------------------------------------
Audio Encoding: AAC
    bitrate: 96
Using Window Capture
Using Window Capture
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 1280, height: 800
    preset: veryfast
    CBR: no
    max bitrate: 4000
    buffer size: 4000
    quality: 7
------------------------------------------
SO_SNDBUF already at 65536
bufferTime: 1940, outputRateWindowTime: 1000, dropThreshold: 2440
Total frames rendered: 684, number of frames that lagged: 318 (46.49%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1200
  Output resolution: 960x600
------------------------------------------
Loading up D3D10...
------------------------------------------
Audio Encoding: AAC
    bitrate: 96
Using Window Capture
Using Window Capture
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 960, height: 600
    preset: veryfast
    CBR: no
    max bitrate: 4000
    buffer size: 4000
    quality: 7
------------------------------------------
SO_SNDBUF already at 65536
bufferTime: 1442, outputRateWindowTime: 1000, dropThreshold: 1942
Total frames rendered: 2630, number of frames that lagged: 2074 (78.86%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1200
  Output resolution: 960x600
------------------------------------------
Loading up D3D10...
------------------------------------------
Audio Encoding: AAC
    bitrate: 96
Using Window Capture
Using Window Capture
------------------------------------------
Video Encoding: x264
    fps: 60
    width: 960, height: 600
    preset: veryfast
    CBR: no
    max bitrate: 4000
    buffer size: 4000
    quality: 7
------------------------------------------
SO_SNDBUF already at 65536
bufferTime: 2540, outputRateWindowTime: 1000, dropThreshold: 3040
Total frames rendered: 1028, number of frames that lagged: 780 (75.88%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1200
  Output resolution: 640x400
------------------------------------------
Loading up D3D10...
------------------------------------------
Audio Encoding: AAC
    bitrate: 96
Using Window Capture
Using Window Capture
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 640, height: 400
    preset: veryfast
    CBR: no
    max bitrate: 4000
    buffer size: 4000
    quality: 7
------------------------------------------
SO_SNDBUF already at 65536
bufferTime: 1872, outputRateWindowTime: 1000, dropThreshold: 2372
Total frames rendered: 4235, number of frames that lagged: 434 (10.25%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1200
  Output resolution: 852x532
------------------------------------------
Loading up D3D10...
------------------------------------------
Audio Encoding: AAC
    bitrate: 96
Using Window Capture
Using Window Capture
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 852, height: 532
    preset: veryfast
    CBR: no
    max bitrate: 4000
    buffer size: 4000
    quality: 6
------------------------------------------
SO_SNDBUF already at 65536
bufferTime: 1985, outputRateWindowTime: 1000, dropThreshold: 2485
Total frames rendered: 2516, number of frames that lagged: 1865 (74.13%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
=====Stream End=======================================================================

Profiler results:

==============================================================
frame - [100%] [avg time: 26.844 ms] [avg calls per frame: 1] [children: 99.2%] [unaccounted: 0.76%]
| scene->Preprocess - [3.95%] [avg time: 1.059 ms] [avg calls per frame: 1]
| video encoding and uploading - [95.3%] [avg time: 25.581 ms] [avg calls per frame: 1] [children: 95.2%] [unaccounted: 0.0708%]
| | CopyResource - [91.5%] [avg time: 24.574 ms] [avg calls per frame: 0]
| | conversion to 4:2:0 - [0.0782%] [avg time: 0.021 ms] [avg calls per frame: 0]
| | call to encoder - [3.52%] [avg time: 0.945 ms] [avg calls per frame: 0]
| | sending stuff out - [0.082%] [avg time: 0.022 ms] [avg calls per frame: 0]
==============================================================
 

avolcano

New Member
Capping my FPS seems to have fixed the issue! Thanks. Would explain why I was having the same issue in CSGO :p
 

Krazy

Town drunk
Yeah, for some older/less powerful GPUs, you have to specifically allow room for Game Capture to work :P
 
Top