Question / Help New CPU or new GPU?

bertys

New Member
Hello, right now when I stream with OBS, my frames drop dramatically. I obviously do need an upgrade, but I'm not sure what would benefit me more at the moment. Ingame I cap at 60fps without streaming, but as soon as I try to stream I drop to around 15-20)
Here's my current setup:

GPU: AMD Radeon HD 6670
CPU: i3-2120 @3.3Ghz
RAM: 4GB DDR3
Monitor Resolution: 1600x900 (I downscale OBS to 1280x720)

What would be better to upgrade? How big of an increase would I get? I'm looking to get an i5-3570k (http://www.newegg.com/Product/Product.a ... 6819116504)

Any suggestions?
Thanks!
 

dodgepong

Administrator
Community Helper
Video encoding is much more CPU bound than anything else, so a better CPU will produce a better stream.
 
if your claiming of alot of ingame lag a gpu will give you extra frames ingame. a faster cpu will enable u to use a slower preset, and stream at a higher fps. if you can stream 30 fps ok and dont want to go to 60 a gpu will help ingame lag.
 

FerretBomb

Active Member
Sounds like a CPU problem. Can have the highest-power performance GPU available; if your CPU is bottlenecking it, it'll perform poorly.
I'd definitely look at a faster CPU, and possibly more RAM as well... 4GB is a bit small for a gaming+streaming system, and it's pretty cheap at this point.

Posting a log of a streaming session could help as well.
 

WayZHC

Member
Actually your GPU is really "low-low-end" GPU so i3 isn't bottlenecking it at all. i3 doesn't bottleneck even a GTX 660 or HD 7850 (higher-end than those "need" more CPU power to perform at their best). I'd upgrade my GPU if i had i3-2120 with HD 6670. with cards like 6670, OBS uses its power like 40-50% when with better card it uses much less. OBS uses a lot GPU for stuff. CPU doesn't do much more than encoding which i3 handles nicely at 540/30p or 720/30p with x264 preset Veryfast or if game needs more CPU, Superfast is the way to go.

IMO the best solution would be getting i5 2500(k) (since you obviously have a sandy bridge chipset mobo which might work with ivys after bios update but sandys works for sure) and getting new GPU. If on budget, search for used stuff. Like i5 2500(k) (for about $100 (original price was like $220 two years ago)) and used HD 7850 for $100-140 (new costs about $200)

Ofc buy 3570k if you are sure it will work with your mobo.

I don't know where you live so i used US dollars just to show the price scaling. Actual prices may vary where you live but scaling goes like that
 

bertys

New Member
Thanks for the quick and helpful replies.
A major issue I have right now is I can stream without a problem in 720p @ 30fps, and still hold 60 ingame, but as soon as I add my webcam (Logitech C270) to the scene, I drop to about 25-30 ingame, and then if I try to add my friends cam also, I dip to 15-25.
What could be causing this? My CPU or my GPU? Or both? My plan is to always have a dual cam stream going (his cam from skype)
Thanks!
 

WayZHC

Member
Well GPU renders the scene in OBS so adding more stuff to scene might need more GPU "horsepower". HD 6670 isn't really meant for gaming. It's more like GPU for basic use like internet browsing and light games and stuff. In HD 6XXX series HD 6750 is the entry-level GPU for gaming. I'd recommend to upgrade GPU first since i know i3 2120 can handle streaming.

At $100+- price point HD 7750 or 7770 is a good choise and runs even all new games fine with little settings optimisation.
At $200+- price point i'd go with 7850 or 7870 which are really powerful GPUs.
 

bertys

New Member
I'm looking at this 7770 (http://www.newegg.com/Product/Product.a ... 6814202011) and I'm considering buying it if it's what I need.

Here's a log:
Code:
14:29:08: Open Broadcaster Software v0.52.04b toast build - 64bit ( ^ω^)
14:29:08: -------------------------------
14:29:08: CPU Name: Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz
14:29:08: CPU Speed: 3292MHz
14:29:08: Physical Memory:  4008MB Total, 976MB Free
14:29:08: stepping id: 7, model 10, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 2
14:29:08: monitor 1: pos={0, 0}, size={1600, 900}
14:29:08: monitor 2: pos={-1680, 0}, size={1680, 1050}
14:29:08: Windows Version: 6.1 Build 7600 
14:29:08: Aero is Enabled
14:29:08: -------------------------------
14:29:08: OBS Modules:
14:29:08: Base Address     Module
14:29:08: 000000003FBC0000 OBS.exe
14:29:08: 00000000DDDF0000 OBSApi.dll
14:29:08: 00000000DE4A0000 DShowPlugin.dll
14:29:08: 00000000DE470000 GraphicsCapture.dll
14:29:08: 00000000F6E40000 NoiseGate.dll
14:29:08: ------------------------------------------
14:29:08: Adapter 1
14:29:08:   Video Adapter: AMD Radeon HD 6670
14:29:08:   Video Adapter Dedicated Video Memory: 1065054208
14:29:08:   Video Adapter Shared System Memory: 1833254912
14:29:08: ------------------------------------------
14:29:08: Adapter 2
14:29:08:   Video Adapter: Intel(R) HD Graphics Family
14:29:08:   Video Adapter Dedicated Video Memory: 67108864
14:29:08:   Video Adapter Shared System Memory: 1711276032
14:29:08: =====Stream Start: 2013-06-01, 14:29:08===============================================
14:29:08:   Multithreaded optimizations: On
14:29:08:   Base resolution: 1600x900
14:29:08:   Output resolution: 1280x720
14:29:08: ------------------------------------------
14:29:08: Loading up D3D10...
14:29:08: Playback device Default
14:29:08: ------------------------------------------
14:29:08: Using desktop audio input: Speakers (Realtek High Definition Audio)
14:29:09: ------------------------------------------
14:29:09: Using auxilary audio input: FrontMic (Realtek High Definition Audio)
14:29:09: ------------------------------------------
14:29:09: Audio Encoding: AAC
14:29:09:     bitrate: 128
14:29:09: Using Monitor Capture
14:29:09: Using graphics capture
14:29:09: ------------------------------------------
14:29:09: Video Encoding: x264
14:29:09:     fps: 30
14:29:09:     width: 1280, height: 720
14:29:09:     preset: veryfast
14:29:09:     CBR: yes
14:29:09:     CFR: no
14:29:09:     max bitrate: 1300
14:29:09: ------------------------------------------
14:29:09: 
14:29:09: Profiler result for the last frame:
14:29:09: ==============================================================
14:29:09: frame - [time: 85.752 ms (cpu time: 0 ms)]
14:29:09: | scene->Preprocess - [time: 75.556 ms (cpu time: 0 ms)]
14:29:09: | video encoding and uploading - [time: 6.876 ms (cpu time: 0 ms)]
14:29:09: ==============================================================
14:29:09: 
14:29:10: 
14:29:10: Profiler result for the last frame:
14:29:10: ==============================================================
14:29:10: frame - [time: 69.863 ms (cpu time: 15.6 ms)]
14:29:10: | scene->Preprocess - [time: 27.969 ms (cpu time: 15.6 ms)]
14:29:10: | video encoding and uploading - [time: 41.421 ms (cpu time: 0 ms)]
14:29:10: | | CopyResource - [time: 0.011 ms (cpu time: 0 ms)]
14:29:10: | | conversion to 4:2:0 - [time: 0.002 ms (cpu time: 0 ms)]
14:29:10: | | call to encoder - [time: 41.391 ms (cpu time: 0 ms)]
14:29:10: | | sending stuff out - [time: 0.001 ms (cpu time: 0 ms)]
14:29:10: | Convert444Threads - [time: 33.29 ms (cpu time: 15.6 ms)]
14:29:10: ==============================================================
14:29:10: 
14:29:11: ------------------------------------------
14:29:11:     device: Logitech HD Webcam C270,
14:29:11:     device id \\?\usb#vid_046d&pid_0825&mi_00#7&1df92607&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bbefb6c7-2fc4-4139-bb8b-a58bba724083},
14:29:11:     chosen type: I420, usingFourCC: false, res: 1280x720 - 1280x720, frameIntervals: 333333-2000000, fourCC: 'I420'
14:29:11:     audio device: Disable,
14:29:11:     audio device id Disabled,
14:29:11: 
14:29:13: Using directshow input
14:29:56: Using graphics capture
14:29:56: SharedTexCapture hooked
14:30:00: Total frames rendered: 1393, number of frames that lagged: 52 (3.73%) (it's okay for some frames to lag)
14:30:00: =====Stream End: 2013-06-01, 14:30:00=================================================
14:30:01: =====Stream Start: 2013-06-01, 14:30:01===============================================
14:30:01:   Multithreaded optimizations: On
14:30:01:   Base resolution: 1600x900
14:30:01:   Output resolution: 1280x720
14:30:01: ------------------------------------------
14:30:01: Loading up D3D10...
14:30:01: Playback device Default
14:30:01: ------------------------------------------
14:30:01: Using desktop audio input: Speakers (Realtek High Definition Audio)
14:30:01: ------------------------------------------
14:30:01: Using auxilary audio input: FrontMic (Realtek High Definition Audio)
14:30:01: ------------------------------------------
14:30:01: Audio Encoding: AAC
14:30:01:     bitrate: 128
14:30:01: Using Monitor Capture
14:30:01: ------------------------------------------
14:30:01:     device: Logitech HD Webcam C270,
14:30:01:     device id \\?\usb#vid_046d&pid_0825&mi_00#7&1df92607&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bbefb6c7-2fc4-4139-bb8b-a58bba724083},
14:30:01:     chosen type: I420, usingFourCC: false, res: 1280x720 - 1280x720, frameIntervals: 333333-2000000, fourCC: 'I420'
14:30:01:     audio device: Disable,
14:30:01:     audio device id Disabled,
14:30:01: 
14:30:02: Using directshow input
14:30:02: Using graphics capture
14:30:02: ------------------------------------------
14:30:02: Video Encoding: x264
14:30:02:     fps: 30
14:30:02:     width: 1280, height: 720
14:30:02:     preset: veryfast
14:30:02:     CBR: yes
14:30:02:     CFR: no
14:30:02:     max bitrate: 1300
14:30:02: ------------------------------------------
14:30:02: SharedTexCapture hooked
14:31:08: 
14:31:08: Profiler result for the last frame:
14:31:08: ==============================================================
14:31:08: frame - [time: 33.129 ms (cpu time: 0 ms)]
14:31:08: | scene->Preprocess - [time: 26.186 ms (cpu time: 0 ms)]
14:31:08: | video encoding and uploading - [time: 3.734 ms (cpu time: 0 ms)]
14:31:08: | | CopyResource - [time: 0.014 ms (cpu time: 0 ms)]
14:31:08: | | conversion to 4:2:0 - [time: 0.004 ms (cpu time: 0 ms)]
14:31:08: | | call to encoder - [time: 3.686 ms (cpu time: 0 ms)]
14:31:08: | | sending stuff out - [time: 0.004 ms (cpu time: 0 ms)]
14:31:08: | Convert444Threads - [time: 34.697 ms (cpu time: 0 ms)]
14:31:08: ==============================================================
14:31:08: 
14:31:09: 
14:31:09: Profiler result for the last frame:
14:31:09: ==============================================================
14:31:09: frame - [time: 28.489 ms (cpu time: 15.6 ms)]
14:31:09: | scene->Preprocess - [time: 23.962 ms (cpu time: 15.6 ms)]
14:31:09: | video encoding and uploading - [time: 3.366 ms (cpu time: 0 ms)]
14:31:09: | | CopyResource - [time: 0.022 ms (cpu time: 0 ms)]
14:31:09: | | conversion to 4:2:0 - [time: 0.007 ms (cpu time: 0 ms)]
14:31:09: | | call to encoder - [time: 3.308 ms (cpu time: 0 ms)]
14:31:09: | | sending stuff out - [time: 0.003 ms (cpu time: 0 ms)]
14:31:09: | Convert444Threads - [time: 48.774 ms (cpu time: 0 ms)]
14:31:09: ==============================================================
14:31:09: 
14:31:09: 
14:31:09: Profiler result for the last frame:
14:31:09: ==============================================================
14:31:09: frame - [time: 31.932 ms (cpu time: 15.6 ms)]
14:31:09: | scene->Preprocess - [time: 27.6 ms (cpu time: 15.6 ms)]
14:31:09: | video encoding and uploading - [time: 2.83 ms (cpu time: 0 ms)]
14:31:09: | | CopyResource - [time: 0.017 ms (cpu time: 0 ms)]
14:31:09: | | conversion to 4:2:0 - [time: 0.003 ms (cpu time: 0 ms)]
14:31:09: | | call to encoder - [time: 2.784 ms (cpu time: 0 ms)]
14:31:09: | | sending stuff out - [time: 0.003 ms (cpu time: 0 ms)]
14:31:09: | Convert444Threads - [time: 33.348 ms (cpu time: 0 ms)]
14:31:09: ==============================================================
14:31:09: 
14:31:09: 
14:31:09: Profiler result for the last frame:
14:31:09: ==============================================================
14:31:09: frame - [time: 44.887 ms (cpu time: 0 ms)]
14:31:09: | scene->Preprocess - [time: 15.707 ms (cpu time: 0 ms)]
14:31:09: | video encoding and uploading - [time: 3.722 ms (cpu time: 0 ms)]
14:31:09: | | CopyResource - [time: 0.01 ms (cpu time: 0 ms)]
14:31:09: | | conversion to 4:2:0 - [time: 0.003 ms (cpu time: 0 ms)]
14:31:09: | | call to encoder - [time: 3.659 ms (cpu time: 0 ms)]
14:31:09: | | sending stuff out - [time: 0.007 ms (cpu time: 0 ms)]
14:31:09: | Convert444Threads - [time: 47.072 ms (cpu time: 0 ms)]
14:31:09: ==============================================================
14:31:09: 
14:31:09: 
14:31:09: Profiler result for the last frame:
14:31:09: ==============================================================
14:31:09: frame - [time: 35.338 ms (cpu time: 0 ms)]
14:31:09: | scene->Preprocess - [time: 30.336 ms (cpu time: 0 ms)]
14:31:09: | video encoding and uploading - [time: 2.935 ms (cpu time: 0 ms)]
14:31:09: | | CopyResource - [time: 0.012 ms (cpu time: 0 ms)]
14:31:09: | | conversion to 4:2:0 - [time: 0.004 ms (cpu time: 0 ms)]
14:31:09: | | call to encoder - [time: 2.9 ms (cpu time: 0 ms)]
14:31:09: | | sending stuff out - [time: 0.002 ms (cpu time: 0 ms)]
14:31:09: | Convert444Threads - [time: 36.6 ms (cpu time: 0 ms)]
14:31:09: ==============================================================
14:31:09: 
14:31:09: 
14:31:09: Profiler result for the last frame:
14:31:09: ==============================================================
14:31:09: frame - [time: 20.64 ms (cpu time: 0 ms)]
14:31:09: | scene->Preprocess - [time: 16.25 ms (cpu time: 0 ms)]
14:31:09: | video encoding and uploading - [time: 3.154 ms (cpu time: 0 ms)]
14:31:09: | | CopyResource - [time: 0.024 ms (cpu time: 0 ms)]
14:31:09: | | conversion to 4:2:0 - [time: 0.005 ms (cpu time: 0 ms)]
14:31:09: | | call to encoder - [time: 3.096 ms (cpu time: 0 ms)]
14:31:09: | | sending stuff out - [time: 0.002 ms (cpu time: 0 ms)]
14:31:09: | Convert444Threads - [time: 49.706 ms (cpu time: 0 ms)]
14:31:09: ==============================================================
14:31:09: 
14:31:09: 
14:31:09: Profiler result for the last frame:
14:31:09: ==============================================================
14:31:09: frame - [time: 33.684 ms (cpu time: 0 ms)]
14:31:09: | scene->Preprocess - [time: 28.963 ms (cpu time: 0 ms)]
14:31:09: | video encoding and uploading - [time: 3.236 ms (cpu time: 0 ms)]
14:31:09: | | CopyResource - [time: 0.021 ms (cpu time: 0 ms)]
14:31:09: | | conversion to 4:2:0 - [time: 0.007 ms (cpu time: 0 ms)]
14:31:09: | | call to encoder - [time: 3.17 ms (cpu time: 0 ms)]
14:31:09: | | sending stuff out - [time: 0.002 ms (cpu time: 0 ms)]
14:31:09: | Convert444Threads - [time: 44.062 ms (cpu time: 0 ms)]
14:31:09: ==============================================================
14:31:09: 
14:31:09: 
14:31:09: Profiler result for the last frame:
14:31:09: ==============================================================
14:31:09: frame - [time: 31.351 ms (cpu time: 0 ms)]
14:31:09: | scene->Preprocess - [time: 24.226 ms (cpu time: 0 ms)]
14:31:09: | video encoding and uploading - [time: 2.653 ms (cpu time: 0 ms)]
14:31:09: | | CopyResource - [time: 0.015 ms (cpu time: 0 ms)]
14:31:09: | | conversion to 4:2:0 - [time: 0.003 ms (cpu time: 0 ms)]
14:31:09: | | call to encoder - [time: 2.614 ms (cpu time: 0 ms)]
14:31:09: | | sending stuff out - [time: 0.003 ms (cpu time: 0 ms)]
14:31:09: | Convert444Threads - [time: 34.469 ms (cpu time: 0 ms)]
14:31:09: ==============================================================
14:31:09: 
14:31:10: 
14:31:10: Profiler result for the last frame:
14:31:10: ==============================================================
14:31:10: frame - [time: 31.403 ms (cpu time: 15.6 ms)]
14:31:10: | scene->Preprocess - [time: 23.69 ms (cpu time: 0 ms)]
14:31:10: | video encoding and uploading - [time: 2.893 ms (cpu time: 15.6 ms)]
14:31:10: | | CopyResource - [time: 0.036 ms (cpu time: 0 ms)]
14:31:10: | | conversion to 4:2:0 - [time: 0.005 ms (cpu time: 0 ms)]
14:31:10: | | call to encoder - [time: 2.822 ms (cpu time: 15.6 ms)]
14:31:10: | | sending stuff out - [time: 0.003 ms (cpu time: 0 ms)]
14:31:10: | Convert444Threads - [time: 32.773 ms (cpu time: 0 ms)]
14:31:10: ==============================================================
14:31:10: 
14:31:10: Total frames rendered: 1977, number of frames that lagged: 201 (10.17%) (it's okay for some frames to lag)
14:31:10: =====Stream End: 2013-06-01, 14:31:10=================================================
14:31:31: 
14:31:31: Profiler results:
14:31:31: 
14:31:31: ==============================================================
14:31:31: frame - [100%] [avg time: 20.548 ms (cpu time: avg 5.045 ms, total 17004.1 ms)] [avg calls per frame: 1] [children: 91.2%] [unaccounted: 8.79%]
14:31:31: | scene->Preprocess - [75.5%] [avg time: 15.522 ms (cpu time: avg 1.879 ms, total 6333.65 ms)] [avg calls per frame: 1]
14:31:31: | video encoding and uploading - [15.7%] [avg time: 3.219 ms (cpu time: avg 2.758 ms, total 9297.66 ms)] [avg calls per frame: 1] [children: 15.4%] [unaccounted: 0.234%]
14:31:31: | | CopyResource - [0.122%] [avg time: 0.025 ms (cpu time: avg 0.023 ms, total 78.002 ms)] [avg calls per frame: 0]
14:31:31: | | conversion to 4:2:0 - [0.0535%] [avg time: 0.011 ms (cpu time: avg 0.004 ms, total 15.6 ms)] [avg calls per frame: 0]
14:31:31: | | call to encoder - [15.2%] [avg time: 3.131 ms (cpu time: avg 2.698 ms, total 9094.85 ms)] [avg calls per frame: 0]
14:31:31: | | sending stuff out - [0.0195%] [avg time: 0.004 ms (cpu time: avg 0 ms, total 0 ms)] [avg calls per frame: 0]
14:31:31: | Convert444Threads - [169%] [avg time: 34.778 ms (cpu time: avg 2.171 ms, total 7316.45 ms)] [avg calls per frame: 0]
14:31:31: ==============================================================
14:31:31:
 

WayZHC

Member
Looks to me that the preprocess time is pretty high. At the end of log:
14:31:31: | scene->Preprocess - [75.5%] [avg time: 15.522 ms
(it seems to vary between 15 to 27ms in your log)

and this is from my log using GTX 670:
20:48:47: | scene->Preprocess - [1.87%] [avg time: 0.052 ms]

So sounds like GPU upgrade is needed.

HD 7770 will do fine. What kind of games you play?
 

bertys

New Member
Right now I'm playing WoW, and I plan to stream that & League, which aren't very performance hungry games.
 

WayZHC

Member
bertys said:
Right now I'm playing WoW, and I plan to stream that & League, which aren't very performance hungry games.
Okay those games will run fine on HD 7770. Even BF3 would run at high settings :p

But hmmm also you cpu times in encoding are a bit high at "encoding and uploading" average 2.7ms and i have about 0.5-1 ms. But it's normal since i have more powerful cpu. about 3ms encoding and uploading isn't much but preprocessing 15-27ms sounds pretty high for me. So i guess GPU upgrade is more important at this point
 

dodgepong

Administrator
Community Helper
You should not use Monitor Capture with Aero enabled. That is why your preprocess time is so high. Either don't use Monitor Capture, or disable Aero.
 

bertys

New Member
I was using Game Capture with Aero enabled, it runs a lot smoother that way. The monitor capture you see is a scene that's capturing a little section of Spotify on my 2nd monitor. There's no performance change in me disabling that either.
 
Top