Question / Help Artifacting

Arimil

New Member
I'm have a strange issue with artifacting, during my stream. It's much less noticeable while the game isn't moving however if I start moving or rotate the camera it is very much noticeable.

Here's an example: http://www.twitch.tv/arimil/b/463355496

And here's the log for that stream, please ignore the streams done at 800Kbps, the stream I linked was done at 1900Kbps.
Code:
17:27:39: Open Broadcaster Software v0.554b - 64bit ( ^ω^)
17:27:39: -------------------------------
17:27:39: CPU Name: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
17:27:39: CPU Speed: 3392MHz
17:27:39: Physical Memory:  8139MB Total, 3699MB Free
17:27:39: stepping id: 9, model 10, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
17:27:39: monitor 1: pos={0, 0}, size={1920, 1080}
17:27:39: Windows Version: 6.1 Build 7601 S
17:27:39: Aero is Enabled
17:27:39: -------------------------------
17:27:39: OBS Modules:
17:27:39: Base Address     Module
17:27:39: 000000003F850000 OBS.exe
17:27:39: 00000000ED410000 OBSApi.dll
17:27:39: 00000000F7A90000 DShowPlugin.dll
17:27:39: 00000000F7530000 GraphicsCapture.dll
17:27:39: 00000000FA220000 NoiseGate.dll
17:27:39: 00000000FA0C0000 PSVPlugin.dll
17:27:39: ------------------------------------------
17:27:39: Adapter 1
17:27:39:   Video Adapter: NVIDIA GeForce GTX 660 
17:27:39:   Video Adapter Dedicated Video Memory: 2086993920
17:27:39:   Video Adapter Shared System Memory: 2147807232
17:27:39: =====Stream Start: 2013-09-18, 17:27:39===============================================
17:27:39:   Multithreaded optimizations: On
17:27:39:   Base resolution: 1280x720
17:27:39:   Output resolution: 1280x720
17:27:39: ------------------------------------------
17:27:39: Loading up D3D10 on NVIDIA GeForce GTX 660...
17:27:39: C:/Users/Renari/AppData/Roaming/OBS/shaderCache/shaders/DrawTexture.pShader.blob
17:27:39: C:/Users/Renari/AppData/Roaming/OBS/shaderCache/shaders/DrawSolid.pShader.blob
17:27:39: C:/Users/Renari/AppData/Roaming/OBS/shaderCache/shaders/DrawYUVTexture.pShader.blob
17:27:39: Playback device Default
17:27:39: ------------------------------------------
17:27:39: Using desktop audio input: Speakers (Realtek High Definition Audio)
17:27:39: ------------------------------------------
17:27:39: Using auxilary audio input: Microphone (Realtek High Definition Audio)
17:27:39: ------------------------------------------
17:27:39: Audio Encoding: AAC
17:27:39:     bitrate: 128
17:27:39: Using graphics capture
17:27:39: C:/Users/Renari/AppData/Roaming/OBS/shaderCache/shaders/DrawTexture_ColorAdjust.pShader.blob
17:27:39: ------------------------------------------
17:27:39: Video Encoding: x264
17:27:39:     fps: 30
17:27:39:     width: 1280, height: 720
17:27:39:     preset: veryfast
17:27:39:     CBR: yes
17:27:39:     CFR: yes
17:27:39:     max bitrate: 800
17:27:39:     buffer size: 800
17:27:39: ------------------------------------------
17:27:39: MMDeviceAudioSource: Frequency for device 'Speakers (Realtek High Definition Audio)' is 384000, samples per sec is 48000
17:27:39: MMDeviceAudioSource: Frequency for device 'Microphone (Realtek High Definition Audio)' is 352800, samples per sec is 44100
17:27:46: SharedTexCapture hooked
17:27:51: Total frames rendered: 337, number of late frames: 7 (2.08%) (it's okay for some frames to be late)
17:27:51: Total duplicated frames to ensure constant framerate: 19 (5.64%)
17:27:51: 
17:27:51: Profiler results:
17:27:51: 
17:27:51: ==============================================================
17:27:51: frame - [100%] [avg time: 2.174 ms (cpu time: avg 1.573 ms, total 530.404 ms)] [avg calls per frame: 1] [children: 99.9%] [unaccounted: 0.092%]
17:27:51: | frame preprocessing and rendering - [37.3%] [avg time: 0.811 ms (cpu time: avg 0.509 ms, total 171.601 ms)] [avg calls per frame: 1] [children: 0.046%] [unaccounted: 37.3%]
17:27:51: | | scene->Preprocess - [0.046%] [avg time: 0.001 ms (cpu time: avg 0 ms, total 0 ms)] [avg calls per frame: 1]
17:27:51: | video encoding and uploading - [62.6%] [avg time: 1.361 ms (cpu time: avg 1.064 ms, total 358.803 ms)] [avg calls per frame: 1] [children: 61.9%] [unaccounted: 0.736%]
17:27:51: | | flush - [4.46%] [avg time: 0.097 ms (cpu time: avg 0.138 ms, total 46.801 ms)] [avg calls per frame: 1]
17:27:51: | | CopyResource - [0.874%] [avg time: 0.019 ms (cpu time: avg 0 ms, total 0 ms)] [avg calls per frame: 0]
17:27:51: | | conversion to 4:2:0 - [0.736%] [avg time: 0.016 ms (cpu time: avg 0 ms, total 0 ms)] [avg calls per frame: 0]
17:27:51: | | call to encoder - [55.7%] [avg time: 1.212 ms (cpu time: avg 0.925 ms, total 312.002 ms)] [avg calls per frame: 0]
17:27:51: | | sending stuff out - [0.046%] [avg time: 0.001 ms (cpu time: avg 0 ms, total 0 ms)] [avg calls per frame: 0]
17:27:51: | Convert444Threads - [3.05e+003%] [avg time: 66.293 ms (cpu time: avg 0.648 ms, total 218.4 ms)] [avg calls per frame: 1]
17:27:51: ==============================================================
17:27:51: 
17:27:51: =====Stream End: 2013-09-18, 17:27:51=================================================
17:27:53: Using fixed low latency mode, factor 20
17:27:53: =====Stream Start: 2013-09-18, 17:27:53===============================================
17:27:53:   Multithreaded optimizations: On
17:27:53:   Base resolution: 1280x720
17:27:53:   Output resolution: 1280x720
17:27:53: ------------------------------------------
17:27:53: Loading up D3D10 on NVIDIA GeForce GTX 660...
17:27:53: C:/Users/Renari/AppData/Roaming/OBS/shaderCache/shaders/DrawTexture.pShader.blob
17:27:53: C:/Users/Renari/AppData/Roaming/OBS/shaderCache/shaders/DrawSolid.pShader.blob
17:27:53: C:/Users/Renari/AppData/Roaming/OBS/shaderCache/shaders/DrawYUVTexture.pShader.blob
17:27:53: Playback device Default
17:27:53: ------------------------------------------
17:27:53: Using desktop audio input: Speakers (Realtek High Definition Audio)
17:27:53: ------------------------------------------
17:27:53: Using auxilary audio input: Microphone (Realtek High Definition Audio)
17:27:53: ------------------------------------------
17:27:53: Audio Encoding: AAC
17:27:53:     bitrate: 128
17:27:53: Using graphics capture
17:27:53: C:/Users/Renari/AppData/Roaming/OBS/shaderCache/shaders/DrawTexture_ColorAdjust.pShader.blob
17:27:53: ------------------------------------------
17:27:53: Video Encoding: x264
17:27:53:     fps: 30
17:27:53:     width: 1280, height: 720
17:27:53:     preset: veryfast
17:27:53:     CBR: yes
17:27:53:     CFR: yes
17:27:53:     max bitrate: 800
17:27:53:     buffer size: 800
17:27:53: ------------------------------------------
17:27:53: MMDeviceAudioSource: Frequency for device 'Speakers (Realtek High Definition Audio)' is 384000, samples per sec is 48000
17:27:53: MMDeviceAudioSource: Frequency for device 'Microphone (Realtek High Definition Audio)' is 352800, samples per sec is 44100
17:27:53: SharedTexCapture hooked
17:27:55: Using RTMP service: Twitch / Justin.tv
17:27:55:   Server selection: rtmp://live-ord.justin.tv/app
17:27:55:   Interface: Realtek PCIe GBE Family Controller (ethernet, 10 mbps)
17:27:56: SO_SNDBUF was at 8192
17:27:56: SO_SNDBUF is now 65536
17:37:29: Total frames rendered: 17254, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
17:37:29: Total duplicated frames to ensure constant framerate: 0 (0.00%)
17:37:29: RTMPPublisher::SocketLoop: Graceful loop exit
17:37:29: Number of times waited to send: 0, Waited for a total of 0 bytes
17:37:29: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
17:37:29: 
17:37:29: Profiler results:
17:37:29: 
17:37:29: ==============================================================
17:37:29: frame - [100%] [avg time: 1.845 ms (cpu time: avg 1.384 ms, total 23883.8 ms)] [avg calls per frame: 1] [children: 99.8%] [unaccounted: 0.163%]
17:37:29: | frame preprocessing and rendering - [26.6%] [avg time: 0.49 ms (cpu time: avg 0.393 ms, total 6786.05 ms)] [avg calls per frame: 1] [children: 0.0542%] [unaccounted: 26.5%]
17:37:29: | | scene->Preprocess - [0.0542%] [avg time: 0.001 ms (cpu time: avg 0.001 ms, total 31.2 ms)] [avg calls per frame: 1]
17:37:29: | video encoding and uploading - [73.3%] [avg time: 1.352 ms (cpu time: avg 0.99 ms, total 17082.1 ms)] [avg calls per frame: 1] [children: 67.9%] [unaccounted: 5.37%]
17:37:29: | | flush - [11.6%] [avg time: 0.214 ms (cpu time: avg 0.025 ms, total 436.801 ms)] [avg calls per frame: 1]
17:37:29: | | CopyResource - [1.73%] [avg time: 0.032 ms (cpu time: avg 0.012 ms, total 218.401 ms)] [avg calls per frame: 0]
17:37:29: | | conversion to 4:2:0 - [0.813%] [avg time: 0.015 ms (cpu time: avg 0.003 ms, total 62.4 ms)] [avg calls per frame: 0]
17:37:29: | | call to encoder - [52.7%] [avg time: 0.972 ms (cpu time: avg 0.918 ms, total 15849.7 ms)] [avg calls per frame: 0]
17:37:29: | | sending stuff out - [1.08%] [avg time: 0.02 ms (cpu time: avg 0.01 ms, total 187.202 ms)] [avg calls per frame: 0]
17:37:29: | Convert444Threads - [3.61e+003%] [avg time: 66.599 ms (cpu time: avg 0.894 ms, total 15428.5 ms)] [avg calls per frame: 1]
17:37:29: ==============================================================
17:37:29: 
17:37:29: =====Stream End: 2013-09-18, 17:37:29=================================================
17:40:09: Using fixed low latency mode, factor 20
17:40:09: =====Stream Start: 2013-09-18, 17:40:09===============================================
17:40:09:   Multithreaded optimizations: On
17:40:09:   Base resolution: 1280x720
17:40:09:   Output resolution: 1280x720
17:40:09: ------------------------------------------
17:40:09: Loading up D3D10 on NVIDIA GeForce GTX 660...
17:40:09: C:/Users/Renari/AppData/Roaming/OBS/shaderCache/shaders/DrawTexture.pShader.blob
17:40:09: C:/Users/Renari/AppData/Roaming/OBS/shaderCache/shaders/DrawSolid.pShader.blob
17:40:09: C:/Users/Renari/AppData/Roaming/OBS/shaderCache/shaders/DrawYUVTexture.pShader.blob
17:40:09: Playback device Default
17:40:09: ------------------------------------------
17:40:09: Using desktop audio input: Speakers (Realtek High Definition Audio)
17:40:09: ------------------------------------------
17:40:09: Using auxilary audio input: Microphone (Realtek High Definition Audio)
17:40:09: ------------------------------------------
17:40:09: Audio Encoding: AAC
17:40:09:     bitrate: 128
17:40:09: Using graphics capture
17:40:09: C:/Users/Renari/AppData/Roaming/OBS/shaderCache/shaders/DrawTexture_ColorAdjust.pShader.blob
17:40:09: ------------------------------------------
17:40:09: Video Encoding: x264
17:40:09:     fps: 30
17:40:09:     width: 1280, height: 720
17:40:09:     preset: veryfast
17:40:09:     CBR: yes
17:40:09:     CFR: yes
17:40:09:     max bitrate: 1900
17:40:09:     buffer size: 1900
17:40:09: ------------------------------------------
17:40:09: MMDeviceAudioSource: Frequency for device 'Speakers (Realtek High Definition Audio)' is 384000, samples per sec is 48000
17:40:09: MMDeviceAudioSource: Frequency for device 'Microphone (Realtek High Definition Audio)' is 352800, samples per sec is 44100
17:40:09: SharedTexCapture hooked
17:40:11: Using RTMP service: Twitch / Justin.tv
17:40:11:   Server selection: rtmp://live-ord.justin.tv/app
17:40:11:   Interface: Realtek PCIe GBE Family Controller (ethernet, 10 mbps)
17:40:12: SO_SNDBUF was at 8192
17:40:12: SO_SNDBUF is now 65536
17:44:38: Total frames rendered: 8061, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
17:44:38: Total duplicated frames to ensure constant framerate: 0 (0.00%)
17:44:39: RTMPPublisher::SocketLoop: Graceful loop exit
17:44:39: Number of times waited to send: 0, Waited for a total of 0 bytes
17:44:39: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
17:44:39: 
17:44:39: Profiler results:
17:44:39: 
17:44:39: ==============================================================
17:44:39: frame - [100%] [avg time: 2.079 ms (cpu time: avg 1.29 ms, total 10405.3 ms)] [avg calls per frame: 1] [children: 99.8%] [unaccounted: 0.192%]
17:44:39: | frame preprocessing and rendering - [21.1%] [avg time: 0.439 ms (cpu time: avg 0.359 ms, total 2901.62 ms)] [avg calls per frame: 1] [children: 0.0481%] [unaccounted: 21.1%]
17:44:39: | | scene->Preprocess - [0.0481%] [avg time: 0.001 ms (cpu time: avg 0.001 ms, total 15.6 ms)] [avg calls per frame: 1]
17:44:39: | video encoding and uploading - [78.7%] [avg time: 1.636 ms (cpu time: avg 0.928 ms, total 7488.05 ms)] [avg calls per frame: 1] [children: 72.9%] [unaccounted: 5.82%]
17:44:39: | | flush - [20.8%] [avg time: 0.433 ms (cpu time: avg 0.027 ms, total 218.402 ms)] [avg calls per frame: 1]
17:44:39: | | CopyResource - [1.39%] [avg time: 0.029 ms (cpu time: avg 0.003 ms, total 31.2 ms)] [avg calls per frame: 0]
17:44:39: | | conversion to 4:2:0 - [0.962%] [avg time: 0.02 ms (cpu time: avg 0 ms, total 0 ms)] [avg calls per frame: 0]
17:44:39: | | call to encoder - [47.6%] [avg time: 0.99 ms (cpu time: avg 0.866 ms, total 6988.84 ms)] [avg calls per frame: 0]
17:44:39: | | sending stuff out - [2.07%] [avg time: 0.043 ms (cpu time: avg 0.021 ms, total 171.602 ms)] [avg calls per frame: 0]
17:44:39: | Convert444Threads - [3.2e+003%] [avg time: 66.524 ms (cpu time: avg 0.781 ms, total 6302.44 ms)] [avg calls per frame: 1]
17:44:39: ==============================================================
17:44:39: 
17:44:39: =====Stream End: 2013-09-18, 17:44:39=================================================


Last game capture log:
2013-09-18, 17:27:45: we're booting up: 
17:27:45: D3D9 Present
17:27:45: DXGI Present
17:27:45: (half life scientist) everything..  seems to be in order
17:27:46: D3D9EndScene called
17:27:46: D3DPRESENT_PARAMETERS {
17:27:46: 	BackBufferWidth: 1
17:27:46: 	BackBufferHeight: 1
17:27:46: 	BackBufferFormat: D3DFMT_X8R8G8B8
17:27:46: 	BackBufferCount: 1
17:27:46: 	MultiSampleType: D3DMULTISAMPLE_NONE
17:27:46: 	MultiSampleQuality: 0
17:27:46: 	SwapEffect: D3DSWAPEFFECT_DISCARD
17:27:46: 	hDeviceWindow: 462126
17:27:46: 	Windowed: true
17:27:46: 	EnableAutoDepthStencil: false
17:27:46: 	AutoDepthStencilFormat: D3DFMT_UNKNOWN
17:27:46: 	Flags: None
17:27:46: 	FullScreen_RefreshRateInHz: 0
17:27:46: 	PresentationInterval: 2147483648
17:27:46: };
17:27:46: successfully set up d3d9 hooks
17:27:46: D3D9SwapPresent called
17:27:46: DoD3D9GPUHook: success
17:27:46: D3DSURFACE_DESC {
17:27:46: 	Format: D3DFMT_X8R8G8B8
17:27:46: 	Type: D3DRTYPE_SURFACE
17:27:46: 	Usage: D3DUSAGE_RENDERTARGET 
17:27:46: 	Pool: D3DPOOL_DEFAULT
17:27:46: 	MultiSampleType: D3DMULTISAMPLE_NONE
17:27:46: 	MultiSampleQuality: 0
17:27:46: 	Width: 1280
17:27:46: 	Height: 720
17:27:46: };
17:27:46: successfully capturing d3d9 frames via GPU
17:27:51: ---------------------- Cleared D3D9 Capture ----------------------
17:27:51: received restart event, capturing
17:27:51: DoD3D9GPUHook: success
17:27:51: D3D9EndScene called
17:27:51: D3D9SwapPresent called
17:27:53: D3DSURFACE_DESC {
17:27:53: 	Format: D3DFMT_X8R8G8B8
17:27:53: 	Type: D3DRTYPE_SURFACE
17:27:53: 	Usage: D3DUSAGE_RENDERTARGET 
17:27:53: 	Pool: D3DPOOL_DEFAULT
17:27:53: 	MultiSampleType: D3DMULTISAMPLE_NONE
17:27:53: 	MultiSampleQuality: 0
17:27:53: 	Width: 1280
17:27:53: 	Height: 720
17:27:53: };
17:27:53: successfully capturing d3d9 frames via GPU
17:37:29: ---------------------- Cleared D3D9 Capture ----------------------
17:37:29: received restart event, capturing
17:37:29: DoD3D9GPUHook: success
17:37:29: D3D9EndScene called
17:37:29: D3D9SwapPresent called
17:40:09: D3DSURFACE_DESC {
17:40:09: 	Format: D3DFMT_X8R8G8B8
17:40:09: 	Type: D3DRTYPE_SURFACE
17:40:09: 	Usage: D3DUSAGE_RENDERTARGET 
17:40:09: 	Pool: D3DPOOL_DEFAULT
17:40:09: 	MultiSampleType: D3DMULTISAMPLE_NONE
17:40:09: 	MultiSampleQuality: 0
17:40:09: 	Width: 1280
17:40:09: 	Height: 720
17:40:09: };
17:40:09: successfully capturing d3d9 frames via GPU
17:44:38: ---------------------- Cleared D3D9 Capture ----------------------
17:44:38: received restart event, capturing
17:44:38: DoD3D9GPUHook: success
17:44:38: D3D9EndScene called
17:44:38: D3D9SwapPresent called
 

dodgepong

Administrator
Community Helper
MMOs are some of the hardest games to make look good to the nature of the high motion camera rotations. The only way to make it look better is to crank up the bit rate (if you can, and don't go higher than 3500) and user a lower x264 preset (if your system can take it).
 

R1CH

Forum Admin
Developer
Looks fine to me. Encoding sharp text over a moving background is tough on the encoder. If you're unhappy the only thing you can do is throw more bitrate at it.
 

Arimil

New Member
Alright, I lowered teh x264 preset to fast and was able to keep 60fps in-game while using ~90% of my CPU during high motion and I also upped the bitrate to 2600 which is about as high as I can handle. And it looks quite a bit better so it seems this is the best I can do, thanks for the help everyone.
 

Krazy

Town drunk
You might consider doing 48FPS. Will reduce CPU strain, help overall picture quality, and still look noticeably smoother than 30fps.
 
Top