ブログ

ふじいの ふぁじーぶろぐ

Twitterに書ききれないこととか。格ゲー/FPS中心に。

『Krunker』をフルスクリーン表示しつつ快適に録画/配信する!

ブラウザFPS『Krunker.io』のクライアント版(Electron製)は、全画面表示(F11)にすると録画/配信が上手くいかないことが多々あります。 現在いくつかの解決策がわかっているので簡単にまとめてみました!

■問題点

(A) フルスクリーン時にインスタントリプレイ/ShadowPlayなどで録画出来ない

(B) OBS(配信ソフト)に画面が映らない

■解決策

結論から言うと①だけでOKだと思われます。①がダメなときに他の策も試してみてください。

Chromeエンジンの描画方式を変更する

(A)(B)解決 フレームレート=ほぼ変わらない f:id:torumarin0:20190611225913p:plain

一番オススメの方法。クライアントのショートカットを作成し「リンク先」の最後に「--use-angle=gl」を追記するだけでOK!きちんとGPUを利用して描画してくれるので、フレームレートの低下もほぼありません。

※以前の記事にも書いた『ElectronでもChromeと同じ起動オプションが使える』というところから、以下のURLのTIPSを参考に試してみたら成功!元々は『ChromeでOBS配信が出来ない』問題の解決策のため、ブラウザ版で何らかの不具合が発生する場合にもにも応用できるはずです。

※Electron = Chromeのブラウザエンジンごとパッケージにして実行ファイルとして配布できるもの。Krunkerのクライアントもこれで作られている

mamireimuserver.com

d.hatena.ne.jp

② 互換設定をWindows7にする

(A)(B)解決 フレームレート=大きく低下 f:id:torumarin0:20190611230017p:plain クライアントのショートカットを作成し、画像のように設定。

恐らく内部的には③と同じ状況だと思われる(ハードウェアアクセラレーションがOFFになる)。フレームレートの低下が大きく、筆者の環境では半分程度になった。

Chromeの『ハードウェアアクセラレーション』をOFFにする

(A)(B)解決 フレームレート=大きく低下

公式クライアント: Unlimited FPS を OFF f:id:torumarin0:20190611230350p:plain

非公式クライアント: Tabキーを押して開くメニューから VSYNC を OFF f:id:torumarin0:20190611230444p:plain

ブラウザ: ハードウェアアクセラレーションをOFFにして再起動 ※ブラウザ全体に影響するので注意 f:id:torumarin0:20190611230156p:plainf:id:torumarin0:20190611230200p:plain

④疑似フルスクリーン化ツール(MultiMonitorGamingなど)で対応。

(A)のみ解決 フレームレート=ほぼ変わらない irccscod.blog.fc2.com フレームレートがほぼ変わらないため、OBSでの配信が目的ではない場合に有効。

■注意

共通して、OBS側で重い処理をしていると表記のフレームレート以上にカクカクに見える状態になります。 ・解像度を1280x720に下げる ・キャプチャFPSを下げる ・リサンプル処理の方式を変える そのようなときはなど試した方がいいかもしれません。

また、OBS側のキャプチャ方式はWindowCaptureにしてください。 ※ゲームキャプチャだと筆者の環境では映らなかった

一旦以上で!もし「他にもいい方法があるよ~」とかあればぜひ教えて下さーい!

ブラウザ版Krunker(だけでなく、ブラウザゲーム全般)を使っていて、もっと快適に遊びたいときは以下の記事も参考にしてみてください fujii.hateblo.jp

Chrome/Chromium系ブラウザで使える!FPS(フレームレート)上限を解除する方法

ここ最近よく遊んでいるブラウザFPS Krunker.io は、ゲーム中の挙動が内部動作フレームレートによって少し変わってしまう困ったちゃんです。

ブラウザで遊ぶとモニタの動作周波数以上のフレームレートが出ない(60hzモニタなら60fps、144hzモニタなら144fps)ようになっていますが、配布されている公式クライアント(Electron製)を使うとフレームレートの上限を解除することができます。

「Electronで作られている公式クライアントがフレームレート上限解除出来るのにChromiumで出来ないはずがない!あわよくばChromeで…!」ということで、その上限を解除する方法を調査してみました!

結論

解除出来ます。起動オプションに「--disable-frame-rate-limit」をつけるだけです。

起動オプションの設定方法

Chromeの起動ショートカットを作って、「右クリック→プロパティ→リンク先」欄の最後にスペースを入れてから上記のフラグを入れるだけです。 例)"C:\~~~\chrome.exe" --profile-directory="Profile 1" --disable-frame-rate-limit

※ただし、起動したChrome全体に設定は適用されてしまいます。(タブ毎に設定したりはできない)

(あとで詳細追記)

オススメの運用

ウェブブラウザ:Kinza - 国産で軽い・使いやすいWeb Browser

KinzaをDLしてKrunker用として使う

(あとで詳細追記)

その他有用な起動オプション

peter.sh

↑のサイトに利用可能な起動オプションが沢山のっています。 Frame とか GPU でページ内検索すると色々捗るかもしれないですが、 危なそうなオプションも沢山あるのでご利用は自己責任で!

--show-fps-counter フレームレートを表示する ※F12のメニューからも設定可能。Chrome F12 → 右上の縦3つ点 → Rendering → FPS meter

--disable-gpu-vsync GPU有効時のVsyncを無効にする ※ただしONにしても体感は出来なかった

--ignore-gpu-blacklist 全てのグラボでGPUアクセラレーションを有効にする? ※Krunker公式・非公式クライアントではONになっている

--disable-accelerated-2d-canvas 2d-canvas(Krunkerでグラフィック描画に使われている)でのGPUアクセラレーションを無効にする ※Krunker公式クライアント の「InputLag」設定と対応している。 ※Chromeのバグによる「GPU使用時の入力・描画2F遅延」(?)を解消するらしいが、体感では感じられなかった。また、GPUを使わない場合は(筆者の環境では)内部動作フレームレートが半分くらいになるので、弄らないほうがいいかもしれない。

--limit-fps=数字(1~) ブラウザの動作フレームレートの上限を設定する。 ※--disable-frame-rate-limit がONの場合は機能しない(´;ω;`)

(ついでに)ChromeのVsyncバグ・Inputラグについて

www.vsynctester.com

↑この辺に詳しく載っています。

www.vsynctester.com

んでもって↑ここで実際にラグのテストが出来ますが、ぶっちゃけあまり体感出来ませんでしたw

※バグによるInputLagよりも、むしろフレームレート解除でやったときのブレが少ないということが体感出来て驚きました!Krunkerに限らずブラウザゲーやるときはフレームレート上限は解除したほうがいいのかもしれませんね!

とりまずまとめましたが、後ほど追記していきまぁす。