About Quick Sync

sodade21

New Member
So I tried to use the Quick Sync Technology and I wanted to give my feedback.
This post is not complain or anything just wanna say what i have observe while i was testing things with Quick Sync so I can help a bit the Dev Gods to Improve the OBS even more!! :)

My PC specs:
i7 2600k 4ghz,
8gb ram
Ati 7950 windforce 3gb
PSU Corsair TX750M
mobo gigabyte GA-z77-D3H rev 1.1
main monitor LG 23'' 1080p connected via Hdmi
second monitor AoC 19" CRT 1600x1200 but i use 1280x1024
"fake monitor" resolution 1280x1024
camera logitech c920
Browser: Chrome

Firstly I Did enabled Quick Sync with the "fake" detection method.
I noticed that my CPU wasn't effected at all on streaming. The Details were Good Enough at 720p @60fps and 4200kbits . only a few artifact squares when i was moving too much.
With the use of CBR and CBR padding. When i deselected CBR i noticed that the encoded video (I rewatch the videos and have fraps on to have an estimation of fps) was limited to 30fps and sometimes it was going for 2 sec up to 40-42 and then rapidly at exactly 30... like it was a frame limiter on or something. the videos with CBR on were all at 60fps.
Also i have noticed that if i re watch the videos immiedietly the quality is not so good (twitch) but after 1 hour the quality is alot better..maybe twitch.tv does some encoding itself i dunno... maybe its just my imagination :p

also when im streaming and in another window I watch what im streaming ,the in game fps droping to 30fps again like i have some kind of frame limiter on. when I hide/stop the video (twitch dashboard) the fps goes up and steady at 60 (with vsync on). I thought it could be by cpu stressing or something,but my cpu was not high enough to limit the ingame fps with the video play on or off.
I monitoring in the second monitor CPU load,GPU Load and iGPU load.
Cpu goes up to 60% with indipended cores going up to 70-75%
GPU goes everywhere between 40-100% but when im testing the "fps droping" the gpu is at 60%
iGPU is at the most 35-40%

Anyway i could live with that little issue...so next thing i wanted to sort out was the fake detection of the third monitor with the use of igpu. so i decided to connect my second monitor to the intergrated gpu. everything perfect and i didnt loose the mouse on the edge anymore :p the only change so far was that iGPU load was a bit higher 40-55%
Everything worked as before with the fake detection Except one thing. When i tried to watch what i was streaming while i was streaming it, the ingame fps droped to 15fps. steady again like i had enable some fps limiter. GPU didnt changed the load at all,igpu the same only the cpu was like 10-15% higher load (still under 70% load) due to HD video playback. When I stoped the playback of the video everything gone again smooth at 60fps. So I suspect that OBS need some optimize on Quick Sync still.
I decided for Now to enable the Quick Sync via the Fake Detection so I can check what im streaming now and then, without making the game completely unplayble.
BTW do you think I have done something wrongly that i could change in order for all to be perfect?

My monitor is at 1920:1080 i play at the same resolution but im streaming at 720p with the resolution downscale.. is that the right way to stream at 720p? oh and what about those filters on the downscale..do they have some effect with quicksync? (bilinear,bicubic,Lanczos) I use the Lanczos.. not sure if thats better..u tell me :P

Thanks For all that good Work and hope to make it even better! :D
sorry for my poor english..im greek..

PS: Now that the encoding being done (mostly if not all) by my iGPU Quick Sync tech, i could have some fps improvements ingame if i turn the Hyperthreading off again? My Game is Guild Wars 2.

Code:
23:25:50: Open Broadcaster Software v0.542b - 32bit (´・ω・`)
23:25:50: -------------------------------
23:25:50: CPU Name: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz
23:25:50: CPU Speed: 3403MHz
23:25:50: Physical Memory:  4095MB Total, 4095MB Free
23:25:50: stepping id: 7, model 10, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
23:25:50: monitor 1: pos={0, 0}, size={1920, 1080}
23:25:50: monitor 2: pos={-1280, -292}, size={1280, 1024}
23:25:50: monitor 3: pos={-2560, -1208}, size={1280, 1024}
23:25:50: Windows Version: 6.1 Build 7601 S
23:25:50: Aero is Enabled
23:25:50: -------------------------------
23:25:50: OBS Modules:
23:25:50: Base Address     Module
23:25:50: 01170000         OBS.exe
23:25:50: 60910000         OBSApi.dll
23:25:50: 607F0000         DShowPlugin.dll
23:25:50: 6D410000         GraphicsCapture.dll
23:25:50: 608F0000         NoiseGate.dll
23:25:50: 607A0000         PSVPlugin.dll
23:25:50: ------------------------------------------
23:25:50: Adapter 1
23:25:50:   Video Adapter: AMD Radeon HD 7900 Series
23:25:50:   Video Adapter Dedicated Video Memory: 3202543616
23:25:50:   Video Adapter Shared System Memory: 1092358144
23:25:50: ------------------------------------------
23:25:50: Adapter 2
23:25:50:   Video Adapter: Intel(R) HD Graphics 3000
23:25:50:   Video Adapter Dedicated Video Memory: 134217728
23:25:50:   Video Adapter Shared System Memory: 1711276032
23:25:50: =====Stream Start: 2013-07-21, 23:25:50===============================================
23:25:50:   Multithreaded optimizations: On
23:25:50:   Base resolution: 1920x1080
23:25:50:   Output resolution: 1280x720
23:25:50: ------------------------------------------
23:25:50: Loading up D3D10...
23:25:50: Playback device Default
23:25:50: ------------------------------------------
23:25:50: Using desktop audio input: Headset Earphone (3- Microsoft LifeChat LX-3000 )
23:25:50: ------------------------------------------
23:25:50: Using auxilary audio input: Headset Microphone (3- Microsoft LifeChat LX-3000 )
23:25:50: ------------------------------------------
23:25:50: Audio Encoding: AAC
23:25:50:     bitrate: 128
23:25:50: ------------------------------------------
23:25:50:     device: Logitech HD Pro Webcam C920,
23:25:50:     device id \\?\usb#vid_046d&pid_082d&mi_00#7&299cc550&1&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bbefb6c7-2fc4-4139-bb8b-a58bba724083},
23:25:50:     chosen type: I420, usingFourCC: false, res: 640x480 - 640x480, frameIntervals: 333333-2000000, fourCC: 'I420'
23:25:50:     audio device: Disable,
23:25:50:     audio device id Disabled,
23:25:50: 
23:25:51: Using directshow input
23:25:51: Using graphics capture
23:25:51: Found QSV hardware support
23:25:51: ------------------------------------------
23:25:51: QSV version 1.4 using MFX_IMPL_HARDWARE_ANY | MFX_IMPL_VIA_ANY (actual: MFX_IMPL_HARDWARE3 | MFX_IMPL_VIA_D3D9)
23:25:51: Using 13 encode tasks
23:25:51: ------------------------------------------
23:25:51: Video Encoding: QSV
23:25:51:     fps: 60
23:25:51:     width: 1280, height: 720
23:25:51:     target-usage: MFX_TARGETUSAGE_BEST_QUALITY
23:25:51:     CBR: yes
23:25:51:     CFR: no
23:25:51:     max bitrate: 4350
23:25:51: ------------------------------------------
23:25:51: SharedTexCapture hooked
23:25:52: Using RTMP service: Twitch / Justin.tv
23:25:52:   Server selection: rtmp://live-lhr.justin.tv/app
23:25:55: SO_SNDBUF was at 8192
23:25:55: SO_SNDBUF is now 65536
23:26:00: RTMPPublisher::BufferedSend: Increasing socket send buffer to ISB 131072
23:26:13: RTMPPublisher::BufferedSend: Increasing socket send buffer to ISB 262144
02:26:12: GraphicsCaptureSource::NewCapture:  eliminating old capture
02:26:12: SharedTexCapture hooked
02:41:23: Total frames rendered: 703732, number of frames that lagged: 609 (0.09%) (it's okay for some frames to lag)
02:41:24: RTMPPublisher::SocketLoop: Aborting due to bStopping
02:41:24: Number of times waited to send: 165, Waited for a total of 608664 bytes
02:41:24: Number of b-frames dropped: 2619 (0.37%), Number of p-frames dropped: 321 (0.046%), Total 2940 (0.42%)
02:41:24: =====Stream End: 2013-07-22, 02:41:24=================================================
02:41:29: 
02:41:29: Profiler results:
02:41:29: 
02:41:29: ==============================================================
02:41:29: frame - [100%] [avg time: 1.697 ms (cpu time: avg 0.668 ms, total 470171 ms)] [avg calls per frame: 1] [children: 99.6%] [unaccounted: 0.412%]
02:41:29: | frame preprocessing and rendering - [35.2%] [avg time: 0.598 ms (cpu time: avg 0.35 ms, total 246903 ms)] [avg calls per frame: 1] [children: 5.66%] [unaccounted: 29.6%]
02:41:29: | | scene->Preprocess - [5.66%] [avg time: 0.096 ms (cpu time: avg 0.091 ms, total 64116.4 ms)] [avg calls per frame: 1]
02:41:29: | video encoding and uploading - [64.3%] [avg time: 1.092 ms (cpu time: avg 0.314 ms, total 221553 ms)] [avg calls per frame: 1] [children: 59%] [unaccounted: 5.36%]
02:41:29: | | flush - [48.4%] [avg time: 0.822 ms (cpu time: avg 0.139 ms, total 98202.6 ms)] [avg calls per frame: 1]
02:41:29: | | CopyResource - [0.53%] [avg time: 0.009 ms (cpu time: avg 0.008 ms, total 6006.04 ms)] [avg calls per frame: 0]
02:41:29: | | conversion to 4:2:0 - [0.295%] [avg time: 0.005 ms (cpu time: avg 0.005 ms, total 3853.22 ms)] [avg calls per frame: 0]
02:41:29: | | call to encoder - [6.78%] [avg time: 0.115 ms (cpu time: avg 0.107 ms, total 75816.5 ms)] [avg calls per frame: 0] [children: 5.89%] [unaccounted: 0.884%]
02:41:29: | | | ProcessEncodedFrame - [2.12%] [avg time: 0.036 ms (cpu time: avg 0.031 ms, total 22027.3 ms)] [avg calls per frame: 0]
02:41:29: | | | EncodeFrameAsync - [3.77%] [avg time: 0.064 ms (cpu time: avg 0.062 ms, total 44039.1 ms)] [avg calls per frame: 0]
02:41:29: | | sending stuff out - [2.95%] [avg time: 0.05 ms (cpu time: avg 0.036 ms, total 25989.8 ms)] [avg calls per frame: 0]
02:41:29: | Convert444Threads - [1.96e+003%] [avg time: 33.34 ms (cpu time: avg 2.801 ms, total 1.97123e+006 ms)] [avg calls per frame: 1]
02:41:29: ==============================================================
02:41:29:
 

sodade21

New Member
I found out that If i disable vsync ingame i dont have the massive decrese when im watching what im streaming!!! :D

edit1 : I just checked it with the second monitor connected to the iGPU (with in game vsync off) and while the fps are alot better than before (with vsync i had like 15-30fps while i was watching the preview of my stream) still there is a decrease.
i get like 40-55 istead of 60 steady (guild wars has a limiter for 60 fps without the need of vsync..and actually lock like 60-62 accortding to fraps). i dunno maybe there is some settings i need to mess with....anyone knows anything? what else should i try? thanks! :D
 
Top