Question / Help Low CPU usage, Big FPS drop at Fast Preset

InsomniZack

New Member
My cpu never passes 30% usage at this preset, but I end up with really bad FPS lag in game. What might be my bottleneck?
i7 5820k core clock
16 gb ddr4 RAM
geforce gtx 960 4gb vram
 

InsomniZack

New Member
Code:
02:19:47: =====Stream Start: 2016-03-31, 02:19:47===============================================
02:19:47:   Multithreaded optimizations: On
02:19:47:   Base resolution: 1920x1080
02:19:47:   Output resolution: 1280x720
02:19:47: ------------------------------------------
02:19:47: Loading up D3D10 on NVIDIA GeForce GTX 960 (Adapter 1)...
02:19:47: ------------------------------------------
02:19:47: Audio Format: 48000 Hz
02:19:47: ------------------------------------------
02:19:47: Audio Channels: 2 Ch
02:19:47: Playback device Default
02:19:47: ------------------------------------------
02:19:47: Using desktop audio input: Headset Earphone (HyperX 7.1 Audio)
02:19:47: Global Audio time adjust: 0
02:19:47: ------------------------------------------
02:19:47: Using auxilary audio input: Line (USB AUDIO  CODEC)
02:19:47: Mic time offset: 0
02:19:48: ------------------------------------------
02:19:48: Audio Encoding: AAC
02:19:48:     bitrate: 128
02:19:48: ------------------------------------------
02:19:48:     device: USB Video Device,
02:19:48:     device id \\?\usb#vid_046d&pid_0825&mi_00#7&2a92de72&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global,
02:19:48:     chosen type: MJPG, usingFourCC: false, res: 960x720 - 960x720, frameIntervals: 333333-2000000
02:19:48:     use buffering: false - 0, fourCC: 'MJPG'
02:19:48:     audio device: Disable,
02:19:48:     audio device id Disabled,
02:19:48:     audio time offset 0,
02:19:48:
02:19:48: Using directshow input
02:19:48: Using graphics capture
02:19:48: Scene buffering time set to 700
02:19:48: ------------------------------------------
02:19:48: Video Encoding: x264
02:19:48:     fps: 30
02:19:48:     width: 1280, height: 720
02:19:48:     preset: fast
02:19:48:     profile: high
02:19:48:     keyint: 250
02:19:48:     CBR: yes
02:19:48:     CFR: yes
02:19:48:     max bitrate: 2200
02:19:48:     buffer size: 2200
02:19:48: ------------------------------------------
02:19:50: Using RTMP service: Twitch
02:19:50:   Server selection: rtmp://live-ord.twitch.tv/app
02:19:50:   Interface: ASUS PCE-N15 11n Wireless LAN PCI-E Card (802.11, 215 mbps)
02:19:51: Completed handshake with rtmp://live-ord.twitch.tv/app in 232 ms.
02:19:51: SO_SNDBUF was at 8192
02:19:51: SO_SNDBUF is now 65536
02:19:52: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 0 / 297984)
02:20:09: Trying to hook process: jetsetradio.exe
02:20:09: SharedTexCapture hooked
02:20:44: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 262144 (buffer: 0 / 297984)
02:23:16: Total frames encoded: 6232, total frames duplicated: 19 (0.30%)
02:23:16: Total frames rendered: 6248, number of late frames: 4 (0.06%) (it's okay for some frames to be late)
02:23:17:
02:23:17: Profiler time results:
02:23:17:
02:23:17: ==============================================================
02:23:17: video thread frame - [100%] [avg time: 1.181 ms] [children: 61.5%] [unaccounted: 38.5%]
02:23:17: | scene->Preprocess - [25.3%] [avg time: 0.299 ms]
02:23:17: | GPU download and conversion - [36.2%] [avg time: 0.427 ms] [children: 13.1%] [unaccounted: 23%]
02:23:17: | | flush - [12%] [avg time: 0.142 ms]
02:23:17: | | CopyResource - [0.423%] [avg time: 0.005 ms]
02:23:17: | | conversion to 4:2:0 - [0.677%] [avg time: 0.008 ms]
02:23:17: Convert444Threads - [100%] [avg time: 0.208 ms] [children: 97.6%] [unaccounted: 2.4%]
02:23:17: | Convert444toNV12 - [97.6%] [avg time: 0.203 ms]
02:23:17: encoder thread frame - [100%] [avg time: 0.98 ms] [children: 2.35%] [unaccounted: 97.7%]
02:23:17: | sending stuff out - [2.35%] [avg time: 0.023 ms]
02:23:17: ==============================================================
02:23:17:
02:23:17:
02:23:17: Profiler CPU results:
02:23:17:
02:23:17: ==============================================================
02:23:17: video thread frame - [cpu time: avg 0.214 ms, total 1341.61 ms] [avg calls per frame: 1]
02:23:17: | scene->Preprocess - [cpu time: avg 0.022 ms, total 140.4 ms] [avg calls per frame: 1]
02:23:17: | GPU download and conversion - [cpu time: avg 0.059 ms, total 374.403 ms] [avg calls per frame: 1]
02:23:17: | | flush - [cpu time: avg 0.049 ms, total 312.002 ms] [avg calls per frame: 1]
02:23:17: | | CopyResource - [cpu time: avg 0.005 ms, total 31.2 ms] [avg calls per frame: 1]
02:23:17: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
02:23:17: Convert444Threads - [cpu time: avg 0.192 ms, total 4789.23 ms] [avg calls per frame: 4]
02:23:17: | Convert444toNV12 - [cpu time: avg 0.189 ms, total 4711.23 ms] [avg calls per frame: 4]
02:23:17: encoder thread frame - [cpu time: avg 0.327 ms, total 2043.61 ms] [avg calls per frame: 1]
02:23:17: | sending stuff out - [cpu time: avg 0.02 ms, total 124.802 ms] [avg calls per frame: 1]
02:23:17: ==============================================================
02:23:17:
02:23:17: =====Stream End: 2016-03-31, 02:23:17=================================================
02:23:17: ~RTMPPublisher: Packet flush completed in 135 ms
02:23:17: ~RTMPPublisher: Send thread terminated in 0 ms
02:23:17: RTMPPublisher::SocketLoop: Graceful loop exit
02:23:17: ~RTMPPublisher: Socket thread terminated in 0 ms
02:23:22: ~RTMPPublisher: Final socket shutdown completed in 5077 ms
02:23:22: Average send payload: 5933 bytes, average send interval: 21 ms
02:23:22: Number of times waited to send: 0, Waited for a total of 0 bytes
02:23:22: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
02:23:22: Number of bytes sent: 56660927
02:23:44: Terminating 0x1284
02:23:44: Terminating 0x7bc
02:23:44: Terminating 0x1580
02:23:44: Terminating 0xa70
02:23:44: Terminating 0xc5c
02:23:44: Terminating 0x1bc0


Last game capture log:
2016-03-31, 02:20:09: we're booting up:
02:20:09: CaptureThread: attached to process jetsetradio.exe
02:20:09: D3D9 Present
02:20:09: D3D9EndScene called
02:20:09: D3DPRESENT_PARAMETERS {
02:20:09:     BackBufferWidth: 1600
02:20:09:     BackBufferHeight: 900
02:20:09:     BackBufferFormat: D3DFMT_X8R8G8B8
02:20:09:     BackBufferCount: 2
02:20:09:     MultiSampleType: D3DMULTISAMPLE_NONE
02:20:09:     MultiSampleQuality: 0
02:20:09:     SwapEffect: D3DSWAPEFFECT_DISCARD
02:20:09:     hDeviceWindow: 1181754
02:20:09:     Windowed: true
02:20:09:     EnableAutoDepthStencil: true
02:20:09:     AutoDepthStencilFormat: D3DFMT_D24S8
02:20:09:     Flags: None
02:20:09:     FullScreen_RefreshRateInHz: 0
02:20:09:     PresentationInterval: 1
02:20:09: };
02:20:09: 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
02:20:09: 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
02:20:09: 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
02:20:09: successfully set up d3d9 hooks
02:20:09: D3D9Present called
02:20:09: (half life scientist) everything..  seems to be in order
02:20:09: DoD3D9GPUHook: success
02:20:09: D3DSURFACE_DESC {
02:20:09:     Format: D3DFMT_X8R8G8B8
02:20:09:     Type: D3DRTYPE_SURFACE
02:20:09:     Usage: D3DUSAGE_RENDERTARGET
02:20:09:     Pool: D3DPOOL_DEFAULT
02:20:09:     MultiSampleType: D3DMULTISAMPLE_NONE
02:20:09:     MultiSampleQuality: 0
02:20:09:     Width: 1600
02:20:09:     Height: 900
02:20:09: };
02:20:09: successfully capturing d3d9 frames via GPU
 

Attachments

  • logerino.txt
    7.5 KB · Views: 5

InsomniZack

New Member
Code:
23:40:53: Open Broadcaster Software v0.657b - 32bit (´・ω・`)
23:40:53: -------------------------------
23:40:53: CPU Name: Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz
23:40:53: CPU Speed: 3300MHz
23:40:53: Physical Memory:  4095MB Total, 4095MB Free
23:40:53: stepping id: 2, model 63, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 12, total cores 6
23:40:53: monitor 1: pos={0, 0}, size={1920, 1080}
23:40:53: monitor 2: pos={1920, 0}, size={1920, 1080}
23:40:53: Windows Version: 6.1 Build 7600 (revision 16385)
23:40:53: Aero is Disabled
23:40:53: -------------------------------
23:40:53: OBS Modules:
23:40:53: Base Address     Module
23:40:53: 012D0000         OBS.exe
23:40:53: 72070000         OBSApi.dll
23:40:53: 72D40000         DShowPlugin.dll
23:40:53: 72D10000         GraphicsCapture.dll
23:40:53: 72A20000         NoiseGate.dll
23:40:53: 72BE0000         PSVPlugin.dll
23:40:53: 729B0000         scenesw.dll
23:40:53: ------------------------------------------
23:40:53: Adapter 1
23:40:53:   Video Adapter: NVIDIA GeForce GTX 960
23:40:53:   Video Adapter Dedicated Video Memory: 4205510656
23:40:53:   Video Adapter Shared System Memory: 3974258688
23:40:53:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
23:40:53:   Video Adapter Output 2: pos={1920, 0}, size={1920, 1080}, attached=true
I assume that's what was missing. No, I just had the preview on.
I did just notice I was using the 32 bit version which maybe played a roll in my issues.
 

alpinlol

Active Member
32Bit to 64Bit shouldnt be any different.

When you disable the Preview on OBS, do you still have the FPS Issue ingame?

Because the log looks fine, maybe a bit too much duplicated Frames for this kind of System but its below 0.5% so its okay.

A Reason could be your Webcam, I dont know what kind of Webcam this is and what the nativ Resolution is but going by nowadays standard 960x720 (4:3) is more of a custom set Resolution rather than a downscale of the nativ Resolution, if your Webcam actually is that old and this is even the nativ Resolution then please go ahead and downscale the Cam
 

InsomniZack

New Member
It's a logitech something or other with a 1280x720 native res. I just random picked a 4:3 res becuse 16x9 webcams look weird to me on stream. wouldn't running it as 32 bt only let it use 4 gigs of RAM despite my installed 16? I noticed in the log it only recognizes 4gb.
 

alpinlol

Active Member
It's a logitech something or other with a 1280x720 native res. I just random picked a 4:3 res becuse 16x9 webcams look weird to me on stream. wouldn't running it as 32 bt only let it use 4 gigs of RAM despite my installed 16? I noticed in the log it only recognizes 4gb.

Try using the nativ Resolution and downscale that by 1.25 or something like that.

And yes 64Bit would be able to make use of all your RAM but in theory this doesnt affect Performance at all if it does its within a 1% margin, but you can still try it to see if this fixes the Issue since your game is probably coded as a 64bit Programm.

OBS installs 2 Folders one is with 64bit the other one is 32bit.
 

InsomniZack

New Member
once I'm back at my computer I'll try 86ing the preview and fixing the cam res. The game I was playing to test was probably 32 bit honestly. It's JSR HD. Thanks for all the timely responses.
 

FerretBomb

Active Member
You also don't have your keyframe interval set (should be set at 2 for Twitch), and are streaming over Wifi, which is top of the list of things to avoid ever doing while streaming.
 

dping

Active Member
Last but not least, watching your own stream with chrome or firefox can cause microstutter in game. either use a popout chat (best idea) or use Edge or Internet Explorer if you absolutely have to watch your own stream.

even the twitch dashboard can cause some issues unless you hit the hide button but if you refresh that window, it will continue to view your stream. Best bet is one of the two methods above.
 

FerretBomb

Active Member
Wifi is not meant as a replacement for running network cables. It's meant for lightweight use by mobile devices, where lugging a network cable around would be unfeasible. Any desktop should not be using wifi. Powerline adapters will work, but running a dedicated network cable (even between floors) is actually quite easy.
 

InsomniZack

New Member
In my own home I'd do it in a heartbeat but I'm living with my parents and my dad's not a fan of letting me cut holes in walls.

I've started monitoring my GPU's usage with GPU Tweak and I've noticed that it's peaking at 99% while i'm streaming. I have only TAlerts, a face cam, my split timer, and my game on my scene. The cam at it's current res only costs me 5% GPU. the game adds about 40%, but what I find strange is that window capping TAlerts' alertbox is costing 25%. is that normal? I don't seem to recall running into this problem with my 750ti+2600k

Edit: this is a GTX 960(4gb VRAM) trying to play an HD remake of a Dreamcast game; Jet Set Radio. I don't think that my GPU should be having this much trouble.
 

InsomniZack

New Member
Once again I'm finding myself run into this issue. I've downscaled my 960p webcam to 480p.
I'm still streaming over wifi because that's what I have available.

I streamed today at 2800kb.s bitrate at Faster preset. My base resolution is 1920x1080, downscaled to 720p 30fps. The game I capture is in a 1600:900 window that I game cap and fit to screen.

During the stream I dropped frames a few times, and the stream d/ced two or three times over the course of 6 hours.

I played JSR for awhile, a rather light game, and noticed some light fps loss, but not so bad I couldn't play.
Playing Black Desert Online I could barely do anything, as I was running at about 15 avg FPS in game.

A log of today's events: https://gist.github.com/d799468cd6819badbe845c70ef47c60a
 

FerretBomb

Active Member
Window capture becomes heavy with Aero off, due to the fallback method needed. Turn Aero back on; having it off to improve peformance is old bad info from the Vista days that people keep passing around.

Why are you Window Capturing the TA Alertbox at all? Just use CLR Browser and set it up as a browser source. No need for chromakey as it removes the background automatically.

GPU loading can be easy or heavy depending on how well or poorly the game has been optimized. You can have a really old game DRAG a modern GPU if the coding is poor. OBS uses the GPU as well, but it's minimal impact at best.
 
Top