Moehammered / switch-remote-play

Let the switch remotely play PC games (similar to steam link or remote play)
GNU General Public License v3.0
302 stars 14 forks source link

Encoder thread count? #12

Closed Ritaku02 closed 3 years ago

Ritaku02 commented 3 years ago

On the PC side, how many threads is the host application telling ffmpeg to use? I have a 16c/32t Ryzen 3950x, and while the stream is running I've noticed it's barely being pegged, and the stream framerate is low (26 @ 1440p desktop/48 @ 720p desktop). It doesn't matter what quality settings I use, framerate and CPU usage stays the same.

Oh yeah, my router is a Wireless-AC router, my PC is connected through ethernet and my Switch is connected to the 5GHz

Moehammered commented 3 years ago

The thread count is unspecified and ffmpeg uses the default value. I'm not sure how many threads ffmpeg decides when it defaults.

That said, the ffmpeg encoder shouldn't peg the cpu as it captures the desktop. However it should show more cpu usage if you set the preset to a relatively demanding setting.

When you try preset on very slow and quality control factor to 0 is the cpu usage higher than ultra fast and qcf of 20?

Ritaku02 commented 3 years ago

Yeah, it does, a bit, and looking at ffmpeg in process manager, it says it's using 64 threads. I did a search, and ffmpeg's default is 1.5x your CPU thread count for frame threads, 1x for sliced threads.

Moehammered commented 3 years ago

Thanks for looking that up and sharing it. It's good to know and might be worth experimenting with sliced frames as an option. I'll look into that as an extra down the line.

Did you have any other issue related to encoder thread count? Or was that the only thing? If so please close the issue.