Bug Report Game Capture reduces my framerate by 77% in DOTA2

DAOWAce

Member
Edit: Re-writing OP, copying a later post over.
---
For quick reference, I have an i7-3770K @4.5GHz and a GTX 780. (Full specs in sig)

This is using my 1080p30 preset.

In D3D9 mode:

Stock FPS is 197.

Enabling game capture (ie. game hooked) drops my FPS to 163.

Enabling preview drops my FPS to 125.


In D3D9Ex mode:

Stock FPS is 185.

Enabling game capture (ie. game hooked) didn't seem to drop my FPS for some reason. This randomly also happened in D3D9 when I unchecked and rechecked the source. Sometimes it would drop my FPS like it did before. Could not get the drop to happen in D3D9Ex.

Enabling preview drops my FPS to 42.

That's 77% decrease in framerate.

Even worse is when i stopped the preview my FPS dropped to 27. What the hell?

I'm forced to completely close OBS to get rid of the FPS hit. Unchecking the source, deleting the source, changing the scene, re-previewing.. nothing I do resolves it, forced to exit the program.


Based on this test, I have to assume people that don't have problems are running it in D3D9 mode. Kharay confirmed he wasn't.

Does OBS properly support D3D9Ex? I found this post on the dev forum, though it's quite old and might not be an issue in present time: http://dev.dota2.com/showthread.php?t=9 ... #post58105


Here's the 2 logs from these tests:

D3D9:
Code:
02:09:18: Open Broadcaster Software v0.541b - 32bit (´・ω・`)
02:09:18: -------------------------------
02:09:18: CPU Name: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
02:09:18: CPU Speed: 3500MHz
02:09:18: Physical Memory:  4095MB Total, 4095MB Free
02:09:18: stepping id: 9, model 10, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
02:09:18: monitor 1: pos={0, 0}, size={1920, 1200}
02:09:18: Windows Version: 6.0 Build 6002 S
02:09:18: Aero is Enabled
02:09:18: -------------------------------
02:09:18: OBS Modules:
02:09:18: Base Address     Module
02:09:18: 00F60000         OBS.exe
02:09:18: 67090000         OBSApi.dll
02:09:18: 71930000         DShowPlugin.dll
02:09:18: 71910000         GraphicsCapture.dll
02:09:18: 718F0000         NoiseGate.dll
02:09:18: 718D0000         PSVPlugin.dll
02:09:18: ------------------------------------------
02:09:18: Adapter 1
02:09:18:   Video Adapter: NVIDIA GeForce GTX 780
02:09:18:   Video Adapter Dedicated Video Memory: 3140157440
02:09:18:   Video Adapter Shared System Memory: 3997978624
02:09:18: =====Stream Start: 2013-07-18, 02:09:18===============================================
02:09:18:   Multithreaded optimizations: On
02:09:18:   Base resolution: 1920x1080
02:09:18:   Output resolution: 1920x1080
02:09:18: ------------------------------------------
02:09:18: Loading up D3D10...
02:09:18: Playback device Default
02:09:18: ------------------------------------------
02:09:18: Using desktop audio input: Speakers (Creative SB X-Fi)
02:09:18: ------------------------------------------
02:09:18: Using auxilary audio input: "What U Hear" (Creative SB X-Fi)
02:09:18: ------------------------------------------
02:09:18: Audio Encoding: MP3
02:09:18:     bitrate: 128
02:09:18: Using graphics capture
02:09:18: Using custom x264 settings: "opencl=true"
02:09:18: ------------------------------------------
02:09:18: Video Encoding: x264
02:09:18:     fps: 30
02:09:18:     width: 1920, height: 1080
02:09:18:     preset: faster
02:09:18:     CBR: no
02:09:18:     CFR: no
02:09:18:     max bitrate: 4000
02:09:18:     buffer size: 7000
02:09:18:     quality: 9
02:09:18: ------------------------------------------
02:09:23: using memory capture
02:09:38: GraphicsCaptureSource::NewCapture:  eliminating old capture
02:09:38: using memory capture
02:10:01: GraphicsCaptureSource::NewCapture:  eliminating old capture
02:10:01: using memory capture
02:10:29: Total frames rendered: 2097, number of frames that lagged: 14 (0.67%) (it's okay for some frames to lag)
02:10:29: =====Stream End: 2013-07-18, 02:10:29=================================================
02:10:32: 
02:10:32: Profiler results:
02:10:32: 
02:10:32: ==============================================================
02:10:32: frame - [100%] [avg time: 4.506 ms (cpu time: avg 3.816 ms, total 8002.85 ms)] [avg calls per frame: 1] [children: 53%] [unaccounted: 47%]
02:10:32: | scene->Preprocess - [0.0222%] [avg time: 0.001 ms (cpu time: avg 0 ms, total 0 ms)] [avg calls per frame: 1]
02:10:32: | video encoding and uploading - [52.9%] [avg time: 2.385 ms (cpu time: avg 2.216 ms, total 4648.83 ms)] [avg calls per frame: 1] [children: 52.4%] [unaccounted: 0.488%]
02:10:32: | | CopyResource - [0.289%] [avg time: 0.013 ms (cpu time: avg 0.007 ms, total 15.6 ms)] [avg calls per frame: 0]
02:10:32: | | conversion to 4:2:0 - [0.266%] [avg time: 0.012 ms (cpu time: avg 0.014 ms, total 31.201 ms)] [avg calls per frame: 0]
02:10:32: | | call to encoder - [51.8%] [avg time: 2.336 ms (cpu time: avg 2.164 ms, total 4539.63 ms)] [avg calls per frame: 0]
02:10:32: | | sending stuff out - [0.0444%] [avg time: 0.002 ms (cpu time: avg 0.007 ms, total 15.6 ms)] [avg calls per frame: 0]
02:10:32: | Convert444Threads - [1.49e+003%] [avg time: 67.155 ms (cpu time: avg 2.507 ms, total 5257.23 ms)] [avg calls per frame: 1]
02:10:32: ==============================================================
02:10:32:

D3D9Ex:
Code:
02:17:02: Open Broadcaster Software v0.541b - 32bit (´・ω・`)
02:17:02: -------------------------------
02:17:02: CPU Name: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
02:17:02: CPU Speed: 3500MHz
02:17:02: Physical Memory:  4095MB Total, 4095MB Free
02:17:02: stepping id: 9, model 10, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
02:17:02: monitor 1: pos={0, 0}, size={1920, 1200}
02:17:02: Windows Version: 6.0 Build 6002 S
02:17:02: Aero is Enabled
02:17:02: -------------------------------
02:17:02: OBS Modules:
02:17:02: Base Address     Module
02:17:02: 00F60000         OBS.exe
02:17:02: 678C0000         OBSApi.dll
02:17:02: 6FC50000         DShowPlugin.dll
02:17:02: 70510000         GraphicsCapture.dll
02:17:02: 6FFA0000         NoiseGate.dll
02:17:02: 6FE50000         PSVPlugin.dll
02:17:02: ------------------------------------------
02:17:02: Adapter 1
02:17:02:   Video Adapter: NVIDIA GeForce GTX 780
02:17:02:   Video Adapter Dedicated Video Memory: 3140157440
02:17:02:   Video Adapter Shared System Memory: 3997978624
02:17:02: =====Stream Start: 2013-07-18, 02:17:02===============================================
02:17:02:   Multithreaded optimizations: On
02:17:02:   Base resolution: 1920x1080
02:17:02:   Output resolution: 1920x1080
02:17:02: ------------------------------------------
02:17:02: Loading up D3D10...
02:17:03: Playback device Default
02:17:03: ------------------------------------------
02:17:03: Using desktop audio input: Speakers (Creative SB X-Fi)
02:17:03: ------------------------------------------
02:17:03: Using auxilary audio input: "What U Hear" (Creative SB X-Fi)
02:17:03: ------------------------------------------
02:17:03: Audio Encoding: MP3
02:17:03:     bitrate: 128
02:17:03: Using graphics capture
02:17:03: Using custom x264 settings: "opencl=true"
02:17:03: ------------------------------------------
02:17:03: Video Encoding: x264
02:17:03:     fps: 30
02:17:03:     width: 1920, height: 1080
02:17:03:     preset: faster
02:17:03:     CBR: no
02:17:03:     CFR: no
02:17:03:     max bitrate: 4000
02:17:03:     buffer size: 7000
02:17:03:     quality: 9
02:17:03: ------------------------------------------
02:17:16: Total frames rendered: 366, number of frames that lagged: 7 (1.91%) (it's okay for some frames to lag)
02:17:16: =====Stream End: 2013-07-18, 02:17:16=================================================
02:17:17: =====Stream Start: 2013-07-18, 02:17:17===============================================
02:17:17:   Multithreaded optimizations: On
02:17:17:   Base resolution: 1920x1080
02:17:17:   Output resolution: 1920x1080
02:17:17: ------------------------------------------
02:17:17: Loading up D3D10...
02:17:17: Playback device Default
02:17:17: ------------------------------------------
02:17:17: Using desktop audio input: Speakers (Creative SB X-Fi)
02:17:17: ------------------------------------------
02:17:17: Using auxilary audio input: "What U Hear" (Creative SB X-Fi)
02:17:17: ------------------------------------------
02:17:17: Audio Encoding: MP3
02:17:17:     bitrate: 128
02:17:17: Using custom x264 settings: "opencl=true"
02:17:18: ------------------------------------------
02:17:18: Video Encoding: x264
02:17:18:     fps: 30
02:17:18:     width: 1920, height: 1080
02:17:18:     preset: faster
02:17:18:     CBR: no
02:17:18:     CFR: no
02:17:18:     max bitrate: 4000
02:17:18:     buffer size: 7000
02:17:18:     quality: 9
02:17:18: ------------------------------------------
02:17:18: Using graphics capture
02:17:23: Total frames rendered: 146, number of frames that lagged: 7 (4.79%) (it's okay for some frames to lag)
02:17:23: =====Stream End: 2013-07-18, 02:17:23=================================================
02:17:38: =====Stream Start: 2013-07-18, 02:17:38===============================================
02:17:38:   Multithreaded optimizations: On
02:17:38:   Base resolution: 1920x1080
02:17:38:   Output resolution: 1920x1080
02:17:38: ------------------------------------------
02:17:38: Loading up D3D10...
02:17:38: Playback device Default
02:17:38: ------------------------------------------
02:17:38: Using desktop audio input: Speakers (Creative SB X-Fi)
02:17:38: ------------------------------------------
02:17:38: Using auxilary audio input: "What U Hear" (Creative SB X-Fi)
02:17:38: ------------------------------------------
02:17:38: Audio Encoding: MP3
02:17:38:     bitrate: 128
02:17:38: Using custom x264 settings: "opencl=true"
02:17:38: ------------------------------------------
02:17:38: Video Encoding: x264
02:17:38:     fps: 30
02:17:38:     width: 1920, height: 1080
02:17:38:     preset: faster
02:17:38:     CBR: no
02:17:38:     CFR: no
02:17:38:     max bitrate: 4000
02:17:38:     buffer size: 7000
02:17:38:     quality: 9
02:17:38: ------------------------------------------
02:17:40: Total frames rendered: 50, number of frames that lagged: 0 (0.00%) (it's okay for some frames to lag)
02:17:40: =====Stream End: 2013-07-18, 02:17:40=================================================
02:17:47: =====Stream Start: 2013-07-18, 02:17:47===============================================
02:17:47:   Multithreaded optimizations: On
02:17:47:   Base resolution: 1920x1080
02:17:47:   Output resolution: 1920x1080
02:17:47: ------------------------------------------
02:17:47: Loading up D3D10...
02:17:47: Playback device Default
02:17:47: ------------------------------------------
02:17:47: Using desktop audio input: Speakers (Creative SB X-Fi)
02:17:47: ------------------------------------------
02:17:47: Using auxilary audio input: "What U Hear" (Creative SB X-Fi)
02:17:47: ------------------------------------------
02:17:47: Audio Encoding: MP3
02:17:47:     bitrate: 128
02:17:47: Using bitmap image
02:17:47: Using custom x264 settings: "opencl=true"
02:17:48: ------------------------------------------
02:17:48: Video Encoding: x264
02:17:48:     fps: 30
02:17:48:     width: 1920, height: 1080
02:17:48:     preset: faster
02:17:48:     CBR: no
02:17:48:     CFR: no
02:17:48:     max bitrate: 4000
02:17:48:     buffer size: 7000
02:17:48:     quality: 9
02:17:48: ------------------------------------------
02:17:55: Total frames rendered: 200, number of frames that lagged: 7 (3.50%) (it's okay for some frames to lag)
02:17:55: =====Stream End: 2013-07-18, 02:17:55=================================================
02:20:46: =====Stream Start: 2013-07-18, 02:20:46===============================================
02:20:46:   Multithreaded optimizations: On
02:20:46:   Base resolution: 1920x1080
02:20:46:   Output resolution: 1920x1080
02:20:46: ------------------------------------------
02:20:46: Loading up D3D10...
02:20:46: Playback device Default
02:20:46: ------------------------------------------
02:20:46: Using desktop audio input: Speakers (Creative SB X-Fi)
02:20:46: ------------------------------------------
02:20:46: Using auxilary audio input: "What U Hear" (Creative SB X-Fi)
02:20:46: ------------------------------------------
02:20:46: Audio Encoding: MP3
02:20:46:     bitrate: 128
02:20:46: Using custom x264 settings: "opencl=true"
02:20:46: ------------------------------------------
02:20:46: Video Encoding: x264
02:20:46:     fps: 30
02:20:46:     width: 1920, height: 1080
02:20:46:     preset: faster
02:20:46:     CBR: no
02:20:46:     CFR: no
02:20:46:     max bitrate: 4000
02:20:46:     buffer size: 7000
02:20:46:     quality: 9
02:20:46: ------------------------------------------
02:20:47: Total frames rendered: 32, number of frames that lagged: 0 (0.00%) (it's okay for some frames to lag)
02:20:47: =====Stream End: 2013-07-18, 02:20:47=================================================
02:20:51: 
02:20:51: Profiler results:
02:20:51: 
02:20:51: ==============================================================
02:20:51: frame - [100%] [avg time: 5.855 ms (cpu time: avg 3.025 ms, total 2402.41 ms)] [avg calls per frame: 1] [children: 40.8%] [unaccounted: 59.2%]
02:20:51: | scene->Preprocess - [0.0171%] [avg time: 0.001 ms (cpu time: avg 0 ms, total 0 ms)] [avg calls per frame: 1]
02:20:51: | video encoding and uploading - [40.8%] [avg time: 2.387 ms (cpu time: avg 2.318 ms, total 1840.81 ms)] [avg calls per frame: 1] [children: 40.2%] [unaccounted: 0.564%]
02:20:51: | | CopyResource - [0.222%] [avg time: 0.013 ms (cpu time: avg 0 ms, total 0 ms)] [avg calls per frame: 0]
02:20:51: | | conversion to 4:2:0 - [0.12%] [avg time: 0.007 ms (cpu time: avg 0 ms, total 0 ms)] [avg calls per frame: 0]
02:20:51: | | call to encoder - [39.8%] [avg time: 2.332 ms (cpu time: avg 2.318 ms, total 1840.81 ms)] [avg calls per frame: 0]
02:20:51: | | sending stuff out - [0.0342%] [avg time: 0.002 ms (cpu time: avg 0 ms, total 0 ms)] [avg calls per frame: 0]
02:20:51: | Convert444Threads - [1.1e+003%] [avg time: 64.209 ms (cpu time: avg 2.004 ms, total 1591.21 ms)] [avg calls per frame: 1]
02:20:51: ==============================================================
02:20:51:

Hopefully there's a discrepancy between them..
 

Fas

Member
Re: Game Capture halves my framerate in DOTA2

Do you run Dota 2 in Borderless window?
Do you have VSync turned off in the dota 2 video settings? That brought my fps to a stable 120 and about 80 while streaming.

What are you pc specs, especially what cpu are u using?
I stream Dota 2 with 60 fps @ 1920x1080, downscaled 1.5 to 1280x720 with lanczos, best downscaling possible and I dont drop a frame at ~2200 bitrate.
using intel i5-3570K @ 3,6GHz
 

Kharay

Member
Re: Game Capture halves my framerate in DOTA2

Well, given the fact you did enable OpenCL I am going to go out on a limb here and assume you're simply overtaxing the GPU a bit. To resolve that, try and disable some of the most GPU intensive fluff in DOTA2. Just free up some cycles and you should be fine. A MOBA like DOTA2 isn't about the graphical fluff anyhow. Good resolution, nice textures and a solid framerate and you're good to go.

Edit: http://www.twitch.tv/kharay1977/b/429391159 -- http://pastebin.com/b3qbrg3m -- At the end there you will see what video options I used for DOTA2. Notice how a whopping 3 frames lagged, as far as OBS could tell. My FPS in DOTA2 was fine throughout that whole video.
 

DAOWAce

Member
Re: Game Capture halves my framerate in DOTA2

I'm running in fullscreen with my FPS capped to 60 and vsync enabled; tearing is god awful. It's also in its native D3D9Ex mode.

That was a log from one of the many tests I ran. The next one was without OpenCL; it didn't change anything. My GPU wasn't even over 50% usage with it regardless.

I will try to test more, but it's not a priority this weekend. (Evo was.. but they're partnering with an organization who wants to charge for a reasonable quality stream, so screw watching that..)

FWIW; I will not broadcast in 720p unless absolutely necessary. I'd rather drop to 1080p45 over 720p60. But again, I need to do more testing.
 

Kharay

Member
Re: Game Capture halves my framerate in DOTA2

DAOWAce said:
I'd rather drop to 1080p45 over 720p60. But again, I need to do more testing.
I highly recommend against doing more than 30 FPS in 1080p. Not only for performance but also for bandwidth purposes and how those 2 interact with one another. 1080p @ 60 FPS puts a massive strain on your bandwidth, as you're doubling the number of frames, over 30. Which means that on average the quality of said frames is half of what they could be at 30 FPS.

Well, it's not that simple obviously but you get my point. As far as viewing pleasure is concerned, few people will actually be able to distinguish between 60 FPS and 30 FPS at 1080p. And fewer people still eve care to make that distinction. 30 FPS is the default for 1080p, basically. And it looks fine. My example was 900p@30 FPS and it looked fine, did it not?
 

DAOWAce

Member
Re: Game Capture halves my framerate in DOTA2

I now have a GTX 780.

It's still dropping my FPS to the same levels (around 30).

Switched it to 1080p30, removed my advanced params; still dropping FPS severely. (Down to 42 instead of 30)

Doesn't make any sense. Suppose I can try running in D3D9 instead of Ex.
 

Kharay

Member
Re: Game Capture halves my framerate in DOTA2

42 frames or 42%? 42 frames isn't too much to worry about. Even if you're streaming at 30 FPS, that's a second and a half.
 

Kharay

Member
Re: Game Capture halves my framerate in DOTA2

I'm not entirely sure why that would happen. Just tried it myself and it's maybe costing me 10 FPS at the most. On older hardware than yours. Admittedly, I am not playing the game in 1080 nor capturing it in 1080. I run the game in 1600x900 (just so I can have it windowed and still see a popped out Twitch.tv chat window easily) and recording it (downscaled with Lanczos) in 720p.

Stable 60 FPS (VSync, I hate page tearing) without streaming it and 50 while streaming it.

http://www.twitch.tv/kharay1977/b/431752739 (FPS counter may be a bit hard to make out, not sure why the devs chose to have it in that particular color, haven't found an option yet to change the color of it).

http://pastebin.com/Pyh5KdeX -- OBS settings.

Never mind the quality of the VOD, this was purely to test the framerate of DOTA2. The quality would improve dramatically with only 500 Kbps more. ;)

Note: At the end of the stream I show my graphics and audio settings in DOTA2. Maybe it'll help.
 

DAOWAce

Member
Re: Game Capture halves my framerate in DOTA2

1080p60 4k CBR veryfast: http://www.twitch.tv/daowace/b/431776090

Compression artifacts are disgusting; colors are washed out. Did a 5K faster test, but game was hurting due to CPU maxing out. Minor hiccups at these settings; don't like it. CPU didn't seem to be hitting 100%, not sure why it was having issues.

1080p45 using same settings: http://www.twitch.tv/daowace/b/431777675 No noticeable problems, aside from the same compression artifacts and color loss.

This is with XSplit, FWIW.

Still gotta try normal D3D9 in OBS. Will do this after I sleep.

&ex:bframes:16&ex:b-adapt:1 are probably why colors look like ass now that I think about it.. No, not why. Don't have a clue why now. This is without those params: http://www.twitch.tv/daowace/b/431782833

5k bitrate, faster: http://www.twitch.tv/daowace/b/431783897 No more obvious compression artifacts; colors still terrible.
 

Kharay

Member
Re: Game Capture halves my framerate in DOTA2

Don't do 1080 in 60 FPS. And, 4000 bitrate? The Twitch.tv staff severely frowns upon anyone going over 3500 kbps and in fact recommends keeping it at CBR @ 2000 kbps for a lag-free experience for your viewers. And as my VOD demonstrated, 2000 kbps CBR already looks more than watchable.

Which is what you shouldn't be forgetting -- watchability. Yes, if you push the system hard enough, the stream can almost look like it does to you ingame. But, it will be incredibly taxing on the Twitch infrastructure not to mention completely unwatchable for anyone with a poor Internet connection. And you will not get viewers if people lag out while trying to watch your stream.

If I were you, I would settle for maybe something that is not 100% game accurate yet is perfectly watchable and does not cause you to drop frames or cause your viewers to lag out.

And remember this, if you stream in 60 FPS at <x> bitrate that means that that <x> bitrate will be used to encode twice the frames as <x> bitrate would do at 30 FPS. It's not an exact figure of course but roughly speaking you could make an argument for 30 FPS looking twice as good at the same bitrate over 60 FPS.

I can prove to you going absolutely berserk on the bitrate won't matter much, I have a 150 Mbit symmetrical line that actually gets to such speeds in real world scenarios and can easily stream at such bitrates. But, it will still not make the stream look 100% game accurate and will become completely unwatchable. Simply because of the distributed nature of Twitch.tv's infrastructure in conjunction with the limited bandwidth of the average viewer.

Edit: Added the word staff, forgot that one.
Edit 2: Just to show an example. One of the more successful DOTA2 streams, it even features a 7 dollar subscription free. And yet, my 2k CBR example looked a great deal better. Quality is not everything.
 

DAOWAce

Member
Re: Game Capture halves my framerate in DOTA2

Edit: Moved to OP.
---

@Kharay: 720p25 at a low bitrate? That stream looks like absolute shit unless the picture is sitting still. It most likely has a lot of viewers due to the environment of the stream, such as the caster(s) and type of games being broadcasted.. along it with being, you know, DOTA2. (Same with LoL, SC2 and other main esports titles)

Again, I am well aware they don't like people going over 3.5Mbps; but people routinely do, and for such high resolution and high framerate content, we NEED to do it to avoid awful compression artifacts. There is no escaping this unless you use a dual-PC setup with a very powerful 6+ core processor; which is unfeasible for almost everyone.

I know about watchability to people with low internet speeds. It's unfortunate, but I'm not going to the ruin the quality of my stream so people in third world countries can watch it. I state this on my channel page and give estimations on the bandwidth needed to view things properly. I also use those VoDs to upload to Youtube, as I do not have the capability to also record a high quality local stream at the same time; so again, I need high source quality or else they look absolutely awful once YT does its encoding pass. (I recommend everyone go watch the raw Twitch stream anyway, as YT only supports 30FPS)

I already settle for things that aren't 100% game accurate: 30/45 FPS. :P But seriously, I do compromise in multiple aspects; ie I have never gone over 5Mbps except for a few tests and I am always constrained by if my game is performing well or not. If I cannot achieve sluggish or stutter-free 60FPS gameplay, I will not stream the game. Unfortunately, as easy as this seems on paper, in practice it is very difficult, mostly due to some internal issues/inefficiencies with the way applications, even Windows, works.

I know lower FPS results in higher quality frames; it has more time and resources (bitrate) to process them. Again.. this is why much more bitrate is needed at higher framerates.

Twitch is obviously not designed with high quality content in mind; and this is something that we have to deal with. Other streaming providers support high quality content like that and even recommend a MINIMUM of 3.5Mbps if doing 1080p, regardless of framerate.

If you want to see someone who actually has the setup to support the quality I want all the time: http://www.twitch.tv/ipengineer78/b/399793148

They stream run at 7+Mbps and state it prominently on their user page.


TLDR: I have my quality preferences and I will not deviate from them, regardless of any lecturing I receive. It's the part of what makes my stream mostly unique to most other streams out there. If that means I alienate people with poor internet, then so be it.

FWIW, this is my net speed:
2839885717.png
(Cable. As much as I would love symmetrical fiber, it's not available in my area because the only ISP that could do that (Verizon) never bothered to wire down my dead in street over 3 years ago; preventing me from ever getting fiber in the forseeable future)
 

R1CH

Forum Admin
Developer
Re: Game Capture halves my framerate in DOTA2

Dota 2 is a pretty GPU intensive game, you should turn off opencl or your GPU will likely face contention.
 

Kharay

Member
Re: Game Capture halves my framerate in DOTA2

DAOWace said:
Based on this test, I have to assume people that don't have problems are running it in D3D9 mode.
You assume incorrectly. As that is an explicit launch option for DOTA2 which I have not enabled.

DAOWAce said:
TLDR: I have my quality preferences and I will not deviate from them, regardless of any lecturing I receive. It's the part of what makes my stream mostly unique to most other streams out there. If that means I alienate people with poor internet, then so be it.
Sorry to be blunt and harsh but... in that case I have nothing further to add.

@R1CH -- That is not what is going on here, I'm using OpenCL for DOTA2 and it's working fine for me. And from what I've been able to tell, the OP has far superior hardware to mine.

Edit: Every bit of fluff in DOTA2 enabled, the graphs show total CPU and GPU usage, OpenCL enabled. -- For the record, enabling OpenCL in OBS by itself puts about 25% load on my GPU and given the fact streaming DOTA2 with everything on and while using OpenCL did not put my GPU over ~45% I would say DOTA2 is anything but GPU intensive. In fact, I personally feel DOTA2 is a very well optimized title, to be entirely honest.
 

DAOWAce

Member
Re: Game Capture halves my framerate in DOTA2

R1CH said:
Dota 2 is a pretty GPU intensive game, you should turn off opencl or your GPU will likely face contention.
Gonna have to echo what Kharay said: My GPU is nowhere near max load when playing this game. The highest I've gotten it was 77% load when attempting to stream at 1080p60.

The game runs beautifully; even on my previous GPU.

Kharay said:
You assume incorrectly. As that is an explicit launch option for DOTA2 which I have not enabled
Well, then I really have no idea what's causing the issue.


Oh, and I think I figured out why my videos have been looking either washed out or too dark for the last half a year or so.

Twitch's x264 decoder. I think they changed something last year and caused it to run under a limited color space. I've enforced full color space via the NVCP and my VoDs have their color returned to them.

Shame that everyone else watching will have washed out colors unless they explicitly do the same..


Edit: Added logs to above post.
 

Kharay

Member
Re: Game Capture halves my framerate in DOTA2

Because I'm easily just as stubborn an sob as you are (grin) -- 30 FPS vs 60 FPS. 30 @ 2500 Kbps CBR, 60 @ 3500 Kbps CBR. Roughly speaking, to accomplish the same quality in 60 FPS, I'd have to double the bitrate to a whopping 5000 Kbps. Which I am not going to do, I am not going add further strain on an already heavily strained system (Twitch.tv).

viewtopic.php?p=6409#p6409 -- Twitch.TV staff position on very high bitrates.

We've discussed banning any stream that presents an average bitrate that high, although we're not to that point yet.
-- Note the yet.

Regarding 30 vs 60 in DOTA2 -- You're not missing any of the action in 30 FPS. It's not an FPS, it's not an MMORPG, it's a MOBA. It doesn't need 60 FPS to be very pretty and lag-free. And on that note, given the fact you most likely do not have a monitor that can refresh at 185 Hz that 185 FPS is completely wasted anyhow. And will only end up looking awful (page/screen tearing -- http://en.wikipedia.org/wiki/Screen_tearing ). Please enable VSync for a more realistic figure (and a more comfortable experience to your eyes).
 

DAOWAce

Member
Re: Game Capture halves my framerate in DOTA2

Your stream may be running at 60FPS, but your game sure isn't. I don't think the FPS changed at all from 30 despite the stream increase. Something's wrong.


Note my OP says "dropped from 60 to 30". I disabled the FPS limiter and Vsync solely to test the FPS drop OBS caused. (I've been gaming since I was 3 and I'm an IT consultant; I know about screen tearing, aliasing, input lag based on non-capped framerate when using vsync.. and all that jazz. I'd love a 120+Hz monitor.. but I'm not going into my rant about how there's STILL no 16:10 120+Hz displays over 1680x1050.)


We can argue all we want about stream FPS, but at the end of the day, most people appreciate watching a stream at 60FPS, regardless of the genre. (Fighting, FPS, RTS, MOBA..) If that means being confined to 720p, then most accept it. As for my standards, I regularly view videos in fullscreen, so I try to keep 1080p wherever possible due to the immense loss of clarity from upscaling 720p content. Doing so means I need to find a median between high FPS or high resolution content; which is why I've been focused around 1080p45 for nearly a year now, constantly trying to reach 1080p60 wherever possible.
 

Kharay

Member
Re: Game Capture halves my framerate in DOTA2

The fact my game wasn't running at 60 FPS was not the point. So, not sure why you would point that out. I never claimed to have the hardware of that 7Mbps example streamer you linked. Nor would I stream in 1080p@60 FPS even if I did. Simply because of the bandwidth requirements. I am willing to bet my Internet connection beats even that 7Mbps guy's connection a bloody pulp but, well... Twitch.tv does not have a limitless bandwidth and is a distributed system.

Anyhow, I am not going to get through to you so I am really done trying now. In closing I would like to note one thing though -- I have yet to run into 1 major stream (as in -- a stream that actually generates solid revenue for all parties involved) that runs at 1080p@60 FPS.

Have fun ruining your stream.
 

Krazy

Town drunk
Re: Game Capture halves my framerate in DOTA2

Or you could just do 864p (1.25 downscale) barely lose any clarity from 1080p, reduce your bitrate requirements significantly, and ease the strain of encoding by a very noticeable amount. All while still looking pretty damn good in fullscreen.

I'm also not really sure what you mean about Twitch changing the colorspace. Forcing full range color in my NVCP doesn't have any affect on any of my VODs. As far as I know, Flash player doesn't have anything to do with changing colorspace, that's handled by the encoder (OBS/x264).
 

DAOWAce

Member
Re: Game Capture halves my framerate in DOTA2

Kharay said:
The fact my game wasn't running at 60 FPS was not the point. So, not sure why you would point that out.
..because there's zero point to streaming in 60FPS if what you're streaming isn't running at 60FPS?

I thought you were streaming in 720p as well?


And yes, I don't recall seeing any major event that ran a 1080p60 stream; every one I've seen has been individual users, ranging from 5 followers to 500 followers. Not a big audience, but I don't mind that. The big events either do 720p60 or 1080p30. Some, maybe most (hard to say) individual partner users (usually pro gamers) usually do 720p60, sometimes 1080p30, with slight enthusiasts pushing to 1080p60.


Krazy said:
Or you could just do 864p (1.25 downscale) barely lose any clarity from 1080p, reduce your bitrate requirements significantly, and ease the strain of encoding by a very noticeable amount. All while still looking pretty damn good in fullscreen.
Don't know how I feel about that.. Would have to test it out to see what I think of it. If it's acceptable, I'll probably only use it in cases where it's problematic even at 1080p45.

Krazy said:
I'm also not really sure what you mean about Twitch changing the colorspace. Forcing full range color in my NVCP doesn't have any affect on any of my VODs. As far as I know, Flash player doesn't have anything to do with changing colorspace, that's handled by the encoder (OBS/x264).
The video has to get decoded somewhere, and x264 decoders have a big problem with using a limited color space and making colors look washed out. Strange that it did not affect your VoDs. Maybe I am being loony from all the testing I'm doing.


Side note: How did you get SC2 running so well at 1080p60? (if it's actually 1080p in your earlier streams). SC2 runs like absolute shit on most systems, including mine, especially when pushing such a high fidelity stream.
 
Top