Question / Help Minimize network impact causes in-game stuttering

João Reis

New Member
So I've been trying to stream CS:GO in the past few days and I've noticed that without "minimize network impact" option activated I get laggy animations and weird glitches but I'm able to stream 720p @ 60fps. When I activate that option, I no longer have those glitches in game but I do get some stuttering every 3 or 4 seconds. I don't think this is a problem with FPS as I get ~300 fps while streaming. How can this option cause my cs go to stutter? The only way to get rid of this stuttering and keeping the option activated is to reduce the stream fps to about 40 but I have a quite powerful CPU (i7 4790k) and GPU (gtx 980) so I should be able to stream 720p60fps even with "Minimize network impact" activated... Here is the log from my most recent stream.

Code:
14:39:41: =====Stream Start: 2015-05-28, 14:39:41===============================================
14:39:41:   Multithreaded optimizations: On
14:39:41:   Base resolution: 1920x1080
14:39:41:   Output resolution: 1280x720
14:39:41: ------------------------------------------
14:39:41: Loading up D3D10 on NVIDIA GeForce GTX 980 (Adapter 1)...
14:39:41: ------------------------------------------
14:39:41: Audio Format: 44100 Hz
14:39:41: ------------------------------------------
14:39:41: Audio Channels: 2 Ch
14:39:41: Playback device Default
14:39:41: ------------------------------------------
14:39:41: Using desktop audio input: Speakers (Realtek High Definition Audio)
14:39:41: Global Audio time adjust: 0
14:39:41: ------------------------------------------
14:39:41: Using auxilary audio input: Mic in at rear panel (Pink) (Realtek High Definition Audio)
14:39:41: Mic time offset: 0
14:39:41: ------------------------------------------
14:39:41: Audio Encoding: AAC
14:39:41:     bitrate: 128
14:39:41: Using Monitor Capture
14:39:41: Scene buffering time set to 700
14:39:41: ------------------------------------------
14:39:41: Video Encoding: x264
14:39:41:     fps: 60
14:39:41:     width: 1280, height: 720
14:39:41:     preset: veryfast
14:39:41:     profile: main
14:39:41:     keyint: 120
14:39:41:     CBR: yes
14:39:41:     CFR: yes
14:39:41:     max bitrate: 3500
14:39:41:     buffer size: 3500
14:39:41: ------------------------------------------
14:39:41: Syncing audio to video time (WARNING: you should not be doing this if you are just having webcam desync, that's a separate issue)
14:39:43: Using RTMP service: Twitch
14:39:43:   Server selection: rtmp://live-cdg.twitch.tv/app
14:39:43:   Interface: Intel(R) Ethernet Connection (2) I218-V (ethernet, 1000 mbps)
14:39:43: Completed handshake with rtmp://live-cdg.twitch.tv/app in 935 ms.
14:39:44: SO_SNDBUF was at 65536
14:39:49: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
14:39:49:   New Scene
14:39:49: Using graphics capture
14:39:49: Using anti-cheat hooking for game capture
14:39:49: Trying to hook process: csgo.exe
14:39:50: SharedTexCapture hooked
14:40:52: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
14:40:52:   New Scene
14:40:53: FlushBufferedVideo: Flushing 49 packets over 800 ms
14:40:54: Total frames encoded: 4348, total frames duplicated: 78 (1.79%)
14:40:54: Total frames rendered: 4290, number of late frames: 5 (0.12%) (it's okay for some frames to be late)
14:40:54:
14:40:54: Profiler time results:
14:40:54:
14:40:54: ==============================================================
14:40:54: video thread frame - [100%] [avg time: 0.613 ms] [children: 89.7%] [unaccounted: 10.3%]
14:40:54: | scene->Preprocess - [45%] [avg time: 0.276 ms]
14:40:54: | GPU download and conversion - [44.7%] [avg time: 0.274 ms] [children: 38.3%] [unaccounted: 6.36%]
14:40:54: | | flush - [37.5%] [avg time: 0.23 ms]
14:40:54: | | CopyResource - [0.489%] [avg time: 0.003 ms]
14:40:54: | | conversion to 4:2:0 - [0.326%] [avg time: 0.002 ms]
14:40:54: Convert444Threads - [100%] [avg time: 0.425 ms] [children: 99.3%] [unaccounted: 0.706%]
14:40:54: | Convert444toNV12 - [99.3%] [avg time: 0.422 ms]
14:40:54: encoder thread frame - [100%] [avg time: 0.73 ms] [children: 2.19%] [unaccounted: 97.8%]
14:40:54: | sending stuff out - [2.19%] [avg time: 0.016 ms]
14:40:54: ==============================================================
14:40:54:
14:40:54:
14:40:54: Profiler CPU results:
14:40:54:
14:40:54: ==============================================================
14:40:54: video thread frame - [cpu time: avg 0.003 ms, total 15.625 ms] [avg calls per frame: 1]
14:40:54: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
14:40:54: | GPU download and conversion - [cpu time: avg 0.003 ms, total 15.625 ms] [avg calls per frame: 1]
14:40:54: | | flush - [cpu time: avg 0.003 ms, total 15.625 ms] [avg calls per frame: 1]
14:40:54: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
14:40:54: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
14:40:54: Convert444Threads - [cpu time: avg 0.011 ms, total 93.75 ms] [avg calls per frame: 2]
14:40:54: | Convert444toNV12 - [cpu time: avg 0.011 ms, total 93.75 ms] [avg calls per frame: 2]
14:40:54: encoder thread frame - [cpu time: avg 0.039 ms, total 171.875 ms] [avg calls per frame: 1]
14:40:54: | sending stuff out - [cpu time: avg 0.003 ms, total 15.625 ms] [avg calls per frame: 1]
14:40:54: ==============================================================
14:40:54:
14:40:54: =====Stream End: 2015-05-28, 14:40:54=================================================
14:40:54: ~RTMPPublisher: Packet flush completed in 100 ms
14:40:54: ~RTMPPublisher: Send thread terminated in 0 ms
14:40:55: RTMPPublisher::SocketLoop: Graceful loop exit
14:40:55: ~RTMPPublisher: Socket thread terminated in 511 ms
14:41:05: ~RTMPPublisher: Final socket shutdown completed in 10232 ms
14:41:05: Average send payload: 149147 bytes, average send interval: 334 ms
14:41:05: Number of times waited to send: 0, Waited for a total of 0 bytes
14:41:05: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
14:41:05: Number of bytes sent: 31171925
14:43:47: Server Ping plugin instance deleted; removing dynamically loaded localization strings
14:43:47: Terminating 0x1abc
14:43:47: Terminating 0x23f8
14:43:47: Terminating 0x1378


Last game capture log:
2015-05-28, 14:39:50: we're booting up:
14:39:50: CaptureThread: attached to process csgo.exe
14:39:50: D3D9 Present
14:39:50: (half life scientist) everything..  seems to be in order
14:39:50: D3D9EndScene called
14:39:50: D3DPRESENT_PARAMETERS {
14:39:50:     BackBufferWidth: 1280
14:39:50:     BackBufferHeight: 960
14:39:50:     BackBufferFormat: D3DFMT_A8R8G8B8
14:39:50:     BackBufferCount: 1
14:39:50:     MultiSampleType: D3DMULTISAMPLE_NONE
14:39:50:     MultiSampleQuality: 0
14:39:50:     SwapEffect: D3DSWAPEFFECT_DISCARD
14:39:50:     hDeviceWindow: 657678
14:39:50:     Windowed: false
14:39:50:     EnableAutoDepthStencil: true
14:39:50:     AutoDepthStencilFormat: D3DFMT_D24S8
14:39:50:     Flags: None
14:39:50:     FullScreen_RefreshRateInHz: 120
14:39:50:     PresentationInterval: 2147483648
14:39:50: };
14:39:50: WARNING: Another hook is already present while trying to hook d3d9.dll, hook target is unknown. If you experience crashes, try disabling the other hooking application
14:39:50: WARNING: Another hook is already present while trying to hook d3d9.dll, hook target is unknown. If you experience crashes, try disabling the other hooking application
14:39:50: WARNING: Another hook is already present while trying to hook d3d9.dll, hook target is unknown. If you experience crashes, try disabling the other hooking application
14:39:50: successfully set up d3d9 hooks
14:39:50: D3D9Present called
14:39:50: DoD3D9GPUHook: success
14:39:50: D3DSURFACE_DESC {
14:39:50:     Format: D3DFMT_A8R8G8B8
14:39:50:     Type: D3DRTYPE_SURFACE
14:39:50:     Usage: D3DUSAGE_RENDERTARGET
14:39:50:     Pool: D3DPOOL_DEFAULT
14:39:50:     MultiSampleType: D3DMULTISAMPLE_NONE
14:39:50:     MultiSampleQuality: 0
14:39:50:     Width: 1280
14:39:50:     Height: 960
14:39:50: };
14:39:50: successfully capturing d3d9 frames via GPU
 

João Reis

New Member
Hmmm I just disabled f.lux (https://justgetflux.com) and I think it solved my problem... I'm still getting the warning "hook conflict" but the stuttering is gone! What is weird is that if I don't have the "minimize network impact" option activated I can keep f.lux ON and have no stuttering at all...
 

dping

Active Member
So I've been trying to stream CS:GO in the past few days and I've noticed that without "minimize network impact" option activated I get laggy animations and weird glitches but I'm able to stream 720p @ 60fps. When I activate that option, I no longer have those glitches in game but I do get some stuttering every 3 or 4 seconds. I don't think this is a problem with FPS as I get ~300 fps while streaming. How can this option cause my cs go to stutter? The only way to get rid of this stuttering and keeping the option activated is to reduce the stream fps to about 40 but I have a quite powerful CPU (i7 4790k) and GPU (gtx 980) so I should be able to stream 720p60fps even with "Minimize network impact" activated... Here is the log from my most recent stream.

Code:
14:39:41: =====Stream Start: 2015-05-28, 14:39:41===============================================
14:39:41:   Multithreaded optimizations: On
14:39:41:   Base resolution: 1920x1080
14:39:41:   Output resolution: 1280x720
14:39:41: ------------------------------------------
14:39:41: Loading up D3D10 on NVIDIA GeForce GTX 980 (Adapter 1)...
14:39:41: ------------------------------------------
14:39:41: Audio Format: 44100 Hz
14:39:41: ------------------------------------------
14:39:41: Audio Channels: 2 Ch
14:39:41: Playback device Default
14:39:41: ------------------------------------------
14:39:41: Using desktop audio input: Speakers (Realtek High Definition Audio)
14:39:41: Global Audio time adjust: 0
14:39:41: ------------------------------------------
14:39:41: Using auxilary audio input: Mic in at rear panel (Pink) (Realtek High Definition Audio)
14:39:41: Mic time offset: 0
14:39:41: ------------------------------------------
14:39:41: Audio Encoding: AAC
14:39:41:     bitrate: 128
14:39:41: Using Monitor Capture
14:39:41: Scene buffering time set to 700
14:39:41: ------------------------------------------
14:39:41: Video Encoding: x264
14:39:41:     fps: 60
14:39:41:     width: 1280, height: 720
14:39:41:     preset: veryfast
14:39:41:     profile: main
14:39:41:     keyint: 120
14:39:41:     CBR: yes
14:39:41:     CFR: yes
14:39:41:     max bitrate: 3500
14:39:41:     buffer size: 3500
14:39:41: ------------------------------------------
14:39:41: Syncing audio to video time (WARNING: you should not be doing this if you are just having webcam desync, that's a separate issue)
14:39:43: Using RTMP service: Twitch
14:39:43:   Server selection: rtmp://live-cdg.twitch.tv/app
14:39:43:   Interface: Intel(R) Ethernet Connection (2) I218-V (ethernet, 1000 mbps)
14:39:43: Completed handshake with rtmp://live-cdg.twitch.tv/app in 935 ms.
14:39:44: SO_SNDBUF was at 65536
14:39:49: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
14:39:49:   New Scene
14:39:49: Using graphics capture
14:39:49: Using anti-cheat hooking for game capture
14:39:49: Trying to hook process: csgo.exe
14:39:50: SharedTexCapture hooked
14:40:52: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
14:40:52:   New Scene
14:40:53: FlushBufferedVideo: Flushing 49 packets over 800 ms
14:40:54: Total frames encoded: 4348, total frames duplicated: 78 (1.79%)
14:40:54: Total frames rendered: 4290, number of late frames: 5 (0.12%) (it's okay for some frames to be late)
14:40:54:
14:40:54: Profiler time results:
14:40:54:
14:40:54: ==============================================================
14:40:54: video thread frame - [100%] [avg time: 0.613 ms] [children: 89.7%] [unaccounted: 10.3%]
14:40:54: | scene->Preprocess - [45%] [avg time: 0.276 ms]
14:40:54: | GPU download and conversion - [44.7%] [avg time: 0.274 ms] [children: 38.3%] [unaccounted: 6.36%]
14:40:54: | | flush - [37.5%] [avg time: 0.23 ms]
14:40:54: | | CopyResource - [0.489%] [avg time: 0.003 ms]
14:40:54: | | conversion to 4:2:0 - [0.326%] [avg time: 0.002 ms]
14:40:54: Convert444Threads - [100%] [avg time: 0.425 ms] [children: 99.3%] [unaccounted: 0.706%]
14:40:54: | Convert444toNV12 - [99.3%] [avg time: 0.422 ms]
14:40:54: encoder thread frame - [100%] [avg time: 0.73 ms] [children: 2.19%] [unaccounted: 97.8%]
14:40:54: | sending stuff out - [2.19%] [avg time: 0.016 ms]
14:40:54: ==============================================================
14:40:54:
14:40:54:
14:40:54: Profiler CPU results:
14:40:54:
14:40:54: ==============================================================
14:40:54: video thread frame - [cpu time: avg 0.003 ms, total 15.625 ms] [avg calls per frame: 1]
14:40:54: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
14:40:54: | GPU download and conversion - [cpu time: avg 0.003 ms, total 15.625 ms] [avg calls per frame: 1]
14:40:54: | | flush - [cpu time: avg 0.003 ms, total 15.625 ms] [avg calls per frame: 1]
14:40:54: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
14:40:54: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
14:40:54: Convert444Threads - [cpu time: avg 0.011 ms, total 93.75 ms] [avg calls per frame: 2]
14:40:54: | Convert444toNV12 - [cpu time: avg 0.011 ms, total 93.75 ms] [avg calls per frame: 2]
14:40:54: encoder thread frame - [cpu time: avg 0.039 ms, total 171.875 ms] [avg calls per frame: 1]
14:40:54: | sending stuff out - [cpu time: avg 0.003 ms, total 15.625 ms] [avg calls per frame: 1]
14:40:54: ==============================================================
14:40:54:
14:40:54: =====Stream End: 2015-05-28, 14:40:54=================================================
14:40:54: ~RTMPPublisher: Packet flush completed in 100 ms
14:40:54: ~RTMPPublisher: Send thread terminated in 0 ms
14:40:55: RTMPPublisher::SocketLoop: Graceful loop exit
14:40:55: ~RTMPPublisher: Socket thread terminated in 511 ms
14:41:05: ~RTMPPublisher: Final socket shutdown completed in 10232 ms
14:41:05: Average send payload: 149147 bytes, average send interval: 334 ms
14:41:05: Number of times waited to send: 0, Waited for a total of 0 bytes
14:41:05: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
14:41:05: Number of bytes sent: 31171925
14:43:47: Server Ping plugin instance deleted; removing dynamically loaded localization strings
14:43:47: Terminating 0x1abc
14:43:47: Terminating 0x23f8
14:43:47: Terminating 0x1378


Last game capture log:
2015-05-28, 14:39:50: we're booting up:
14:39:50: CaptureThread: attached to process csgo.exe
14:39:50: D3D9 Present
14:39:50: (half life scientist) everything..  seems to be in order
14:39:50: D3D9EndScene called
14:39:50: D3DPRESENT_PARAMETERS {
14:39:50:     BackBufferWidth: 1280
14:39:50:     BackBufferHeight: 960
14:39:50:     BackBufferFormat: D3DFMT_A8R8G8B8
14:39:50:     BackBufferCount: 1
14:39:50:     MultiSampleType: D3DMULTISAMPLE_NONE
14:39:50:     MultiSampleQuality: 0
14:39:50:     SwapEffect: D3DSWAPEFFECT_DISCARD
14:39:50:     hDeviceWindow: 657678
14:39:50:     Windowed: false
14:39:50:     EnableAutoDepthStencil: true
14:39:50:     AutoDepthStencilFormat: D3DFMT_D24S8
14:39:50:     Flags: None
14:39:50:     FullScreen_RefreshRateInHz: 120
14:39:50:     PresentationInterval: 2147483648
14:39:50: };
14:39:50: WARNING: Another hook is already present while trying to hook d3d9.dll, hook target is unknown. If you experience crashes, try disabling the other hooking application
14:39:50: WARNING: Another hook is already present while trying to hook d3d9.dll, hook target is unknown. If you experience crashes, try disabling the other hooking application
14:39:50: WARNING: Another hook is already present while trying to hook d3d9.dll, hook target is unknown. If you experience crashes, try disabling the other hooking application
14:39:50: successfully set up d3d9 hooks
14:39:50: D3D9Present called
14:39:50: DoD3D9GPUHook: success
14:39:50: D3DSURFACE_DESC {
14:39:50:     Format: D3DFMT_A8R8G8B8
14:39:50:     Type: D3DRTYPE_SURFACE
14:39:50:     Usage: D3DUSAGE_RENDERTARGET
14:39:50:     Pool: D3DPOOL_DEFAULT
14:39:50:     MultiSampleType: D3DMULTISAMPLE_NONE
14:39:50:     MultiSampleQuality: 0
14:39:50:     Width: 1280
14:39:50:     Height: 960
14:39:50: };
14:39:50: successfully capturing d3d9 frames via GPU
dont use monitor capture, use game capture and make sure Aero is enabled, I cant tell since this isn't a full log.
Uncheck sync audio to video that can cause various issues
 

dping

Active Member
I am so sorry, I deleted your reply, I thought it was spam :P good you got it working, but see above what I wrote.
 

João Reis

New Member
I use monitor capture in my desktop scene and game capture in my CSGO scene. I use windows 8 so I don't think it's possible to disable aero? Not sure. I've been having audio sync issues that's why I tried to sync audio option.
 

dping

Active Member
Here's a more recent log (full this time).
Since we've found whats causing the issue, I could call this solved per say, but minimize network impact just changes the priority of OBS network packets, nothing more. that flux program changes the screen's brightness based on geo location correct? this could impact the "hook" and cause stuttering yes but it shouldn't matter if minimize network impact is on or off.
 
Top