遅延とかラグとか [pc/家電]
いつか自分もゲーム配信やってみたいなぁと思ったことから、実はちょこちょこと調べていた。でも間違えている可能性もあるため、私の話を鵜呑みにするより、ガチの配信者の人に教えてもらうのが一番だろう。(有名配信者の人たちのブログで普通に公開されてることも多い)
では、私の知っている範囲の話をしていこう。
遅延であるとか、ラグであるものの原因は、実は複数ある。大雑把にわければ3つだ。
1.回線の速度やピン
2.ゲームプログラムが最適化されていないことによる同期ズレ(レインボーシックスシージやPUBGはここが甘い。CSGOはここがよくできてる)
3.パソコンの問題(単純にスペックが低いことや、2pc配信をしていないことや、ゲームの設定を失敗していることや、デバイスが悪さをしたりドライバが悪さをするパターンも含んでいる)
だいたいこの三つである。
さてなぜ配信者の人たちが2pc配信をやるのかというと、cpuは思ったより忙しいからである。1pc配信をやってしまうと「ゲームプログラム・エンコード・配信画面や視聴者のコメントを表示するためのブラウザ(棒読みちゃんを動かしても一緒)」この三つを一つのcpuで動かすことになる。
近年流行のメニーコアcpu(6コア、8コアなど)ならこれをクリアできそうなものだが、実はそうでもないのが実情だ。以前プロゲーマーの人がメニーコアcpuに切り替えたから、試しに1pc配信でfps系の対戦ゲームをやったところ、露骨に遅延が発生してビックリしていた。もちろん2pc配信に戻したら、綺麗に遅延が消えたので、やはりメニーコアcpuといえど、現代のゲームプログラムを動かすにはパワーが足りないようだ(もしかしたら、エンスーユーザー向けの16コアcpuなんかなら大丈夫かもしれないが、それだとゲームプログラムに最適化していないので、今度はfpsがうまく出ない)
さすがに私も内部プログラムの優先権までは把握していないが、メニーコアcpuの場合、一つのゲームで四コア占有するものもあるし、二コアしか占有しないものもある。つまり対戦ゲームの種類によって、コアの占有率が変化するので、このあたりは一概にはいえない。だが配信エンコードとブラウザに関しては同じ動きをするから、そこに触れていこう。
エンコードやブラウザが仕事をするたびに、命令の優先権が変更されるため(たとえエンコやブラウザの負担が小さくても、変更処理自体が発生する)本来ならゲームを動かすために使っていたコアないしスレッドが奪われるわけだ。(このあたりは本職のゲームプログラマの人たちに任せる。だいたい概念としてはあってると思うけど)しかもウインドウズが常にバックグラウンドで動いているわけだから、そっちに処理を割くこともある。
なのでゲームプログラムを安定して動かすためには、一人でゲームをプレイするときみたいに、一つのpcで一つの処理しかさせないことが大事になってくる。
もうわかったと思うが、配信用pcを別途用意するのは、ゲーミングpcでゲームだけを動かすためである。
おまけの話をしておくと、ゲームの設定で画質を変えられると思う。これは美しい画質なんて全部捨てて、とにかくゲームを軽くすることが肝要だ。もちろん画質を悪くしすぎると、今度はゲームプレイが困難になることもあるため、このギリギリのラインを見極めるのもまた醍醐味である。
もちろんここまで話した内容は、プロの競技選手たちの基準に近い。カジュアル勢であるとか、ストリーマーの人たちがここまで徹底するかというと、そうでもない。
だから「配信をしながらガチで対戦ゲームに勝つぞ」みたいな目的がないなら、無理して2pcにする必要はない。メニーコアの恩恵を活かして、1pc配信をするといいだろう。
長々と書いたが、もちろん私の情報は間違っている可能性もある。あくまで私の知っている範囲の情報であり、あとで見返すことで自分の情報量を確かめる目的もある。
こんなところで、お疲れさまでした。
では、私の知っている範囲の話をしていこう。
遅延であるとか、ラグであるものの原因は、実は複数ある。大雑把にわければ3つだ。
1.回線の速度やピン
2.ゲームプログラムが最適化されていないことによる同期ズレ(レインボーシックスシージやPUBGはここが甘い。CSGOはここがよくできてる)
3.パソコンの問題(単純にスペックが低いことや、2pc配信をしていないことや、ゲームの設定を失敗していることや、デバイスが悪さをしたりドライバが悪さをするパターンも含んでいる)
だいたいこの三つである。
さてなぜ配信者の人たちが2pc配信をやるのかというと、cpuは思ったより忙しいからである。1pc配信をやってしまうと「ゲームプログラム・エンコード・配信画面や視聴者のコメントを表示するためのブラウザ(棒読みちゃんを動かしても一緒)」この三つを一つのcpuで動かすことになる。
近年流行のメニーコアcpu(6コア、8コアなど)ならこれをクリアできそうなものだが、実はそうでもないのが実情だ。以前プロゲーマーの人がメニーコアcpuに切り替えたから、試しに1pc配信でfps系の対戦ゲームをやったところ、露骨に遅延が発生してビックリしていた。もちろん2pc配信に戻したら、綺麗に遅延が消えたので、やはりメニーコアcpuといえど、現代のゲームプログラムを動かすにはパワーが足りないようだ(もしかしたら、エンスーユーザー向けの16コアcpuなんかなら大丈夫かもしれないが、それだとゲームプログラムに最適化していないので、今度はfpsがうまく出ない)
さすがに私も内部プログラムの優先権までは把握していないが、メニーコアcpuの場合、一つのゲームで四コア占有するものもあるし、二コアしか占有しないものもある。つまり対戦ゲームの種類によって、コアの占有率が変化するので、このあたりは一概にはいえない。だが配信エンコードとブラウザに関しては同じ動きをするから、そこに触れていこう。
エンコードやブラウザが仕事をするたびに、命令の優先権が変更されるため(たとえエンコやブラウザの負担が小さくても、変更処理自体が発生する)本来ならゲームを動かすために使っていたコアないしスレッドが奪われるわけだ。(このあたりは本職のゲームプログラマの人たちに任せる。だいたい概念としてはあってると思うけど)しかもウインドウズが常にバックグラウンドで動いているわけだから、そっちに処理を割くこともある。
なのでゲームプログラムを安定して動かすためには、一人でゲームをプレイするときみたいに、一つのpcで一つの処理しかさせないことが大事になってくる。
もうわかったと思うが、配信用pcを別途用意するのは、ゲーミングpcでゲームだけを動かすためである。
おまけの話をしておくと、ゲームの設定で画質を変えられると思う。これは美しい画質なんて全部捨てて、とにかくゲームを軽くすることが肝要だ。もちろん画質を悪くしすぎると、今度はゲームプレイが困難になることもあるため、このギリギリのラインを見極めるのもまた醍醐味である。
もちろんここまで話した内容は、プロの競技選手たちの基準に近い。カジュアル勢であるとか、ストリーマーの人たちがここまで徹底するかというと、そうでもない。
だから「配信をしながらガチで対戦ゲームに勝つぞ」みたいな目的がないなら、無理して2pcにする必要はない。メニーコアの恩恵を活かして、1pc配信をするといいだろう。
長々と書いたが、もちろん私の情報は間違っている可能性もある。あくまで私の知っている範囲の情報であり、あとで見返すことで自分の情報量を確かめる目的もある。
こんなところで、お疲れさまでした。