Question / Help Dota 2 FPS Drop

Berdem

New Member
Hello,

I really do like to stream while I'm playing dota 2. I'm studying abroad therefore I don't have desktop computer but I have a good gaming laptop. My laptop model is ASUS Rog G751JY. When I'm playing Dota 2 without stream I'm getting ~120 fps. However, when I starting stream its dropping to 80 ( in combats its dropping 50). Well its actually really important situation for me. because I can easily feel the differences between 120 and 80. I didn't write my specs because I already gave my laptop brand. So What you guys suggest me to do. I want to share my obs settings with you but I don't how to do. Can you tell me how to share my obs settings ? I set fps 30. I also decrease the bit rate to 1800 kbps ( my upload speed 90 Mbps :P). But it didn't work. I realized that my laptop is warming so much when I streaming but its not warming when I'm only playing. So basically the problem should be about cpu/gpu usage...
 

Sapiens

Forum Moderator
Enable vsync in Dota 2 and see if that helps. If not, check the stickies at the top of the forum for instructions on how to post a log file.
 

Berdem

New Member
So I don't want to open vsync because I got this laptop to play dota 2 with good settings and you know vsync sets dota 2 to 60 fps. I don't want to play in 60 fps


Code:
20:43:02: Server Ping plugin strings not found, dynamically loading 24 strings
20:43:04: Open Broadcaster Software v0.657b - 32bit (´・ω・`)
20:43:04: -------------------------------
20:43:04: CPU Name: Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz
20:43:04: CPU Speed: 2594MHz
20:43:04: Physical Memory:  4095MB Total, 4095MB Free
20:43:04: stepping id: 3, model 60, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
20:43:04: monitor 1: pos={0, 0}, size={1920, 1080}
20:43:04: Windows Version: 10.0 Build 10240 (revision 16384)
20:43:04: Aero is Enabled
20:43:04: -------------------------------
20:43:04: OBS Modules:
20:43:04: Base Address     Module
20:43:04: 00EC0000         OBS.exe
20:43:04: 56AE0000         OBSApi.dll
20:43:04: 60C50000         DShowPlugin.dll
20:43:04: 58850000         GraphicsCapture.dll
20:43:04: 58820000         NoiseGate.dll
20:43:04: 69C20000         PSVPlugin.dll
20:43:04: 58800000         scenesw.dll
20:43:04: 587E0000         ServerPingPlugin.dll
20:43:04: ------------------------------------------
20:43:04: Adapter 1
20:43:04:   Video Adapter: NVIDIA GeForce GTX 980M    
20:43:04:   Video Adapter Dedicated Video Memory: 3221225472
20:43:04:   Video Adapter Shared System Memory: 1073676288
20:43:04:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
20:43:04: =====Stream Start: 2015-12-12, 20:43:04===============================================
20:43:04:   Multithreaded optimizations: On
20:43:04:   Base resolution: 1920x1080
20:43:04:   Output resolution: 1920x1080
20:43:04: ------------------------------------------
20:43:04: Loading up D3D10 on NVIDIA GeForce GTX 980M (Adapter 1)...
20:43:04: ------------------------------------------
20:43:04: Audio Format: 48000 Hz
20:43:04: ------------------------------------------
20:43:04: Audio Channels: 2 Ch
20:43:04: Playback device {0.0.0.00000000}.{a7c2c0a0-d1a6-4048-8691-a6352fadc327}
20:43:04: ------------------------------------------
20:43:04: Using desktop audio input: Headset Earphone (2- Razer Kraken 7.1 Chroma)
20:43:04: Global Audio time adjust: 0
20:43:04: ------------------------------------------
20:43:04: Using auxilary audio input: Headset Microphone (2- Razer Kraken 7.1 Chroma)
20:43:04: Mic time offset: 0
20:43:04: ------------------------------------------
20:43:04: Audio Encoding: AAC
20:43:04:     bitrate: 128
20:43:04: ------------------------------------------
20:43:04:     device: Logitech HD Webcam C310,
20:43:04:     device id \\?\usb#vid_046d&pid_081b&mi_00#6&2e2c1e2&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bbefb6c7-2fc4-4139-bb8b-a58bba724083},
20:43:04:     chosen type: I420, usingFourCC: false, res: 1280x960 - 1280x960, frameIntervals: 333333-2000000
20:43:04:     use buffering: false - 0, fourCC: 'I420'
20:43:04:     audio device: Disable,
20:43:04:     audio device id Disabled,
20:43:04:     audio time offset 0,
20:43:04: 
20:43:04: Using directshow input
20:43:04: ------------------------------------------
20:43:04:     device: USB2.0 HD UVC WebCam,
20:43:04:     device id \\?\usb#vid_04f2&pid_b414&mi_00#6&a451efb&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global,
20:43:04:     chosen type: MJPG, usingFourCC: false, res: 1280x720 - 1280x720, frameIntervals: 333333-666666
20:43:04:     use buffering: false - 0, fourCC: 'MJPG'
20:43:04:     audio device: Disable,
20:43:04:     audio device id Disabled,
20:43:04:     audio time offset 0,
20:43:04: 
20:43:05: Using directshow input
20:43:05: Using graphics capture
20:43:07: Trying to hook process: dota2.exe
20:43:07: Scene buffering time set to 700
20:43:07: ------------------------------------------
20:43:07: Video Encoding: x264
20:43:07:     fps: 30
20:43:07:     width: 1920, height: 1080
20:43:07:     preset: veryfast
20:43:07:     profile: main
20:43:07:     keyint: 60
20:43:07:     CBR: yes
20:43:07:     CFR: yes
20:43:07:     max bitrate: 2000
20:43:07:     buffer size: 2000
20:43:07: ------------------------------------------
20:43:07: SharedTexCapture hooked
20:43:08: Audio timestamp for device 'Headset Microphone (2- Razer Kraken 7.1 Chroma)' was behind target timestamp by 292350093
20:43:09: Using RTMP service: Twitch
20:43:09:   Server selection: rtmp://live-ord.twitch.tv/app
20:43:09:   Interface: Realtek PCIe GBE Family Controller (ethernet, 100 mbps)
20:43:09: Completed handshake with rtmp://live-ord.twitch.tv/app in 158 ms.
20:43:09: SO_SNDBUF was at 65536
20:44:09: ------------------------------------------
20:44:09:     device: USB2.0 HD UVC WebCam,
20:44:09:     device id \\?\usb#vid_04f2&pid_b414&mi_00#6&a451efb&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global,
20:44:09:     chosen type: MJPG, usingFourCC: false, res: 1280x720 - 1280x720, frameIntervals: 333333-666666
20:44:09:     use buffering: false - 0, fourCC: 'MJPG'
20:44:09:     audio device: Disable,
20:44:09:     audio device id Disabled,
20:44:09:     audio time offset 0,
20:44:09: 
20:44:10: Using directshow input
21:27:57: Total frames encoded: 80680, total frames duplicated: 111 (0.14%)
21:27:57: Total frames rendered: 80657, number of late frames: 10 (0.01%) (it's okay for some frames to be late)
21:27:57: 
21:27:57: Profiler time results:
21:27:57: 
21:27:57: ==============================================================
21:27:57: video thread frame - [100%] [avg time: 2.606 ms] [children: 89.5%] [unaccounted: 10.5%]
21:27:57: | scene->Preprocess - [67.9%] [avg time: 1.77 ms]
21:27:57: | GPU download and conversion - [21.6%] [avg time: 0.562 ms] [children: 20.7%] [unaccounted: 0.883%]
21:27:57: | | flush - [20.2%] [avg time: 0.527 ms]
21:27:57: | | CopyResource - [0.269%] [avg time: 0.007 ms]
21:27:57: | | conversion to 4:2:0 - [0.192%] [avg time: 0.005 ms]
21:27:57: Convert444Threads - [100%] [avg time: 2.055 ms] [children: 99.4%] [unaccounted: 0.633%]
21:27:57: | Convert444toNV12 - [99.4%] [avg time: 2.042 ms]
21:27:57: encoder thread frame - [100%] [avg time: 2.435 ms] [children: 3.04%] [unaccounted: 97%]
21:27:57: | sending stuff out - [3.04%] [avg time: 0.074 ms]
21:27:57: ==============================================================
21:27:57: 
21:27:57: 
21:27:57: Profiler CPU results:
21:27:57: 
21:27:57: ==============================================================
21:27:57: video thread frame - [cpu time: avg 1.733 ms, total 139781 ms] [avg calls per frame: 1]
21:27:57: | scene->Preprocess - [cpu time: avg 1.478 ms, total 119219 ms] [avg calls per frame: 1]
21:27:57: | GPU download and conversion - [cpu time: avg 0.106 ms, total 8625 ms] [avg calls per frame: 1]
21:27:57: | | flush - [cpu time: avg 0.081 ms, total 6593.75 ms] [avg calls per frame: 1]
21:27:57: | | CopyResource - [cpu time: avg 0.005 ms, total 406.25 ms] [avg calls per frame: 1]
21:27:57: | | conversion to 4:2:0 - [cpu time: avg 0.005 ms, total 406.25 ms] [avg calls per frame: 1]
21:27:57: Convert444Threads - [cpu time: avg 1.801 ms, total 290578 ms] [avg calls per frame: 2]
21:27:57: | Convert444toNV12 - [cpu time: avg 1.797 ms, total 289844 ms] [avg calls per frame: 2]
21:27:57: encoder thread frame - [cpu time: avg 2 ms, total 161391 ms] [avg calls per frame: 1]
21:27:57: | sending stuff out - [cpu time: avg 0.048 ms, total 3890.63 ms] [avg calls per frame: 1]
21:27:57: ==============================================================
21:27:57: 
21:27:57: =====Stream End: 2015-12-12, 21:27:57=================================================
21:27:57: ~RTMPPublisher: Packet flush completed in 133 ms
21:27:57: ~RTMPPublisher: Send thread terminated in 0 ms
21:27:57: RTMPPublisher::SocketLoop: Graceful loop exit
21:27:57: ~RTMPPublisher: Socket thread terminated in 0 ms
21:27:57: ~RTMPPublisher: Final socket shutdown completed in 96 ms
21:27:57: Average send payload: 7706 bytes, average send interval: 28 ms
21:27:57: Number of times waited to send: 372, Waited for a total of 1391004 bytes
21:27:57: Number of b-frames dropped: 5 (0.0062%), Number of p-frames dropped: 0 (0%), Total 5 (0.0062%)
21:27:57: Number of bytes sent: 717091071
21:27:58: Server Ping plugin instance deleted; removing dynamically loaded localization strings
21:27:58: Terminating 0x6c78
21:27:58: Terminating 0x5c50


Last game capture log:
2015-12-12, 20:43:07: we're booting up: 
20:43:07: CaptureThread: attached to process dota2.exe
20:43:07: D3D9 Present
20:43:07: (half life scientist) everything..  seems to be in order
20:43:07: D3D9EndScene called
20:43:07: D3DPRESENT_PARAMETERS {
20:43:07:     BackBufferWidth: 1920
20:43:07:     BackBufferHeight: 1080
20:43:07:     BackBufferFormat: D3DFMT_A8R8G8B8
20:43:07:     BackBufferCount: 1
20:43:07:     MultiSampleType: D3DMULTISAMPLE_NONE
20:43:07:     MultiSampleQuality: 0
20:43:07:     SwapEffect: D3DSWAPEFFECT_DISCARD
20:43:07:     hDeviceWindow: 198866
20:43:07:     Windowed: false
20:43:07:     EnableAutoDepthStencil: true
20:43:07:     AutoDepthStencilFormat: D3DFMT_D24S8
20:43:07:     Flags: None
20:43:07:     FullScreen_RefreshRateInHz: 75
20:43:07:     PresentationInterval: 2147483648
20:43:07: };
20:43:07: successfully set up d3d9 hooks
20:43:07: D3D9SwapPresent called
20:43:07: DoD3D9GPUHook: success - d3d9ex
20:43:07: D3DSURFACE_DESC {
20:43:07:     Format: D3DFMT_A8R8G8B8
20:43:07:     Type: D3DRTYPE_SURFACE
20:43:07:     Usage: D3DUSAGE_RENDERTARGET 
20:43:07:     Pool: D3DPOOL_DEFAULT
20:43:07:     MultiSampleType: D3DMULTISAMPLE_NONE
20:43:07:     MultiSampleQuality: 0
20:43:07:     Width: 1920
20:43:07:     Height: 1080
20:43:07: };
20:43:07: successfully capturing d3d9 frames via GPU
21:27:57: ---------------------- Cleared D3D9 Capture ----------------------
21:27:57: D3D9EndScene called
21:27:57: D3D9SwapPresent called
[code]
 

Berdem

New Member
I'm also using 2 webcam. One of them for my face the other for my hands keyboard and mouse. Both of them set 720p. But I don't think they are the reason of my fps drop because I was not using the second webcam 1 week ago and the problem was still continuing.
 

Sapiens

Forum Moderator
Please don't ask for help and then refuse to test.

Letting Dota 2 run with no frame limit is likely maxing out your laptop -- i.e. it renders as many frames as possible until the CPU or GPU hits 100% usage or you hit 300 FPS, whichever comes first. Combine that with trying to stream at 1080p and you have a recipe for terrible performance. Guess how you might fix it.
 

Sapiens

Forum Moderator
If you're maxing out your CPU or GPU as a result of refusing to limit your in-game frame rate then OBS will likely choke regardless of your settings.
 

Berdem

New Member
So basically I opened vsync but it didnt fix it. I'm streaming right now and I saw 40 fps unfortunatelly and the game was so laggy because of the fps drop.
 

Berdem

New Member
Hey guys I realize that in this log file I have 4095 mb physical memory but I actually have 16273 mb. How can I fix it ?
 
Top