Ojiya

Ojiyaの動作をできる限り軽量化する

これらの内容は仕様詳細に書いてある内容をまとめて構成したものです。ですので、できるだけ仕様詳細には目を通して下さい。仕様詳細には他にも有用な情報がたくさん書かれています。

弾幕コメントがある放送などには過負荷が掛かります。
Ojiyaには様々なオプションを用意していますが、比較的マシンスペックの低いMacでも稼働するように、表示(見やすさ)を犠牲にして高速化するオプションが用意されています。

環境設定の一般設定パネルで右図の設定をします。(画像は初期設定状態/画像をクリックで拡大)

・「コテハンもセルの高さを調整して表示」はOffにする
・高速化オプションをすべてOnにする

このうち、セルの高さを調整しない系は特に重要で、Ojiya内での処理手順としては大した手数をとっていないのですが、macOSのインターフェース仕様的には、とても負荷のかかるものです。(平たく言えばセルの高さ調整はmacOSのせいで重くなります。)
これらをOffにすると、セルの高さは必ず一行幅になり、長いコメントでは全体が見えなくなるので不便になりますが処理速度を稼ぐことが出来ます。代わりにコメント選択エリアを表示するようにすれば、最新コメント全体を表示するエリアをウインドウ内に別途設けることが出来るようになってます。(こちらはセルの高さ調整は関係ないので負荷が増大しません)
また、弾幕対応に特化しているのは「改行入りコメントはセルの高さを調整しない」で、弾幕コメントには大抵、改行が入るのでこのオプションがあります。普通のコメントはセルの高さを調整して弾幕やアスキーアートのコメントだけ調整しないようにしたい場合に使用してみるのも手です。
「ユーザ色変更をリアルタイムに反映しない」のオプションは弾幕系や常時動作に対して特に意味がありませんが、もし、特定のユーザーに色をつけるとき、動作が重いと感じたらOffにして下さい。

また、詳細設定パネルで右図の設定をします。(画像は初期設定状態/画像をクリックで拡大)

・「コメントログを記録する」をOffにする

コメントログはリアルタイムにOjiyaとは関係ない独立したシステムであるSQLiteデータベースを呼び出して記録していて、それゆえ記録のためにSQLiteが行う処理にかかる負荷分がそのままOjiyaのプロセスに上乗せされます。
コメントログは放送で得たコメントをMac内に記録するものですが、もしコメントログが必要ない場合(後で以前の放送のコメントを確認したりしない場合)はOffにしておくとデータベースへのアクセス分だけ軽量化されます。
なお、「初見ユーザ判定のためユーザの情報は記録する」オプションをOffにすると、ユーザーの情報をデータベースに記録しなくなるので、軽量化はされますが、初見ユーザー判定、コテハン登録などもできなくなるため、Onのままにしておくことをオススメします。このオプションは、他の生主の放送をOjiyaで受信すると、ユーザー情報が記録されてしまい、後々リスナーとのトラブルになる事態を引き起こす可能性がある(作者はOkayu利用時代、実際にトラブルになったことがありました)ために設置されています。

最後に、図解しませんが、ログインタブでメールアドレスとパスワードを入れないようにします。
こうすることでニコ生アラートが切れます。ニコ生アラートは、コメント処理などとは別途処理を並列化してバックグラウンド更新をしていますが、自身の登録コミュニティなど関係なく開始されたすべての番組の情報が絶え間なく送られてくるため、登録コミュニティのものかどうかを判別し続ける必要があり、それなりに負荷が高いです。次枠追従や放送中の番組リスト更新が出来なくなって不便になりますが、ニコ生アラートを切ることで負荷は軽減されるはずです。


これらの設定をすれば、作者の環境で実際に弾幕放送に接続したストレステストで問題なくなる程度までにはなっており、かなり軽量化されるはずですが、過度の弾幕が流れ続ける放送などはコメントのバッファリングで負荷がかかるため、必ずしも弾幕放送に完全対応できるわけではありません。
重いと感じたら、これらの設定をしてみて下さい。それでもダメなら諦めて下さい。