パソコン版のGoogle ChromeでDMMのとあるブラウザゲームをプレイしていると、画面上部に突然、「Out of memory. If you are the developer of this content, try allocating more memory to your WebGL build in the WebGL player settings.」というメッセージが表示され、以降、ゲームの一切の操作を受け付けてくれなくなる現象に遭遇。どうやらゲームが完全に止まってしまう予期せぬ事態が発生したようで、それを告げるメッセージが表示されたようでした。
こうなってしまった場合は仕方なくブラウザを再読み込みさせることでこの問題に対処できましたが、困ったことにエラーの発生頻度がやや高く、どうやらキャラクター同士の会話の早送り機能を使っていると発生してしまうことがあるようです。
↑DMMでブラウザゲームをプレイしていると表示されるメッセージ
ゲームが止まってもブラウザの再読み込みで対処できるので今までこのエラーメッセージは無視してきましたが、そもそも英語で描かれたこのメッセージはなんと書かれてあるのか、それすら把握していなかったんですよね。
最初にこのメッセージを検索にかけてみると、メモリ不足とかキャッシュが原因で起因する問題との情報を入手。続いて機械翻訳にかけてみると、「メモリ不足。 このコンテンツの開発者である場合は、WebGLプレーヤー設定でWebGLビルドにより多くのメモリを割り当ててみてください。」と翻訳されました。WebGLとかいう単語はよく分かりませんが、単純にメモリが足らないことが原因なのでしょうか。
DMMのブラウザゲームは複数プレイしていますが、エラーが発生するのは1タイトルのみ。今回の出来事を受けて何かしらの対処をしたわけではありませんが、こうすればエラーが発生しなくなるんじゃないかと考えてみたので、備忘録を兼ねて記事に残しておこうと思います。
メモリ不足が原因?
僕が使っているパソコンは8GBのメモリを搭載しています。Chromeを立ち上げているときはブラウザゲームを含むタブをいくつも開いていて、場合によっては他にゲームアプリを起動したりとメモリ使用率は高くなっていることが予想できました。
このときのメモリの使用率をタスクマネージャーで確認してみると、6~7GBとやや高めの水準を維持。パソコンでメモリ不足と聞くと動作が遅くなるイメージを抱きますが、可能性のひとつとしてメモリ使用率が突発的に高くなったときにエラーを引き起こしたと考えることもできるかもしれません。
タスクマネージャーからメモリ使用率を確認するには、Windowsのタスクバー(画面下の横長の領域)を右クリックし、表示されるメニューから「タスクマネージャー」をクリック。続いて上部にあるタブから「パフォーマンス」をクリックすると確認することができます。
対処法
メモリ使用率が低くなるように、必要のないプログラムを終了させる方法があります。
僕の場合だとChromeで必要のないタブを閉じたり、ゲームアプリを起動しないようにしてメモリの空きを確保する方法が有効と考えられます。
その他、”メモリ不足”との警告なので、増設用のメモリを用意して物理的に容量を増やす方法が挙げられるかもしれません。
キャッシュの溜まり過ぎが原因?
ブラウザで一度表示した画像やファイルなどのコンテンツをパソコンに一時保存しておくことで、再度同じコンテンツを表示させるときにネットワークからダウンロードするのではなく、ローカルからコンテンツを読み込むのがキャッシュの役割りになります。キャッシュを活用することで表示の高速化はもちろん、ネットワークやサーバーの使用率を下げることもできます。
便利なキャッシュですが溜まりすぎると表示がおかしくなるなど支障が出ることもあるそうで、僕自身の経験談だとスマートフォンのIME(文字入力)アプリの動作がおかしくなってしまい、キャッシュを削除したところ動作が改善したことがあります。
対処法1:ゲームの設定から削除する
ブラウザゲームのタイトル画面、もしくは設定画面に、「キャッシュの削除」などと書かれたボタンが用意されていることがあります。あればそこから削除します。
対処法2:Chromeの設定から削除する
続いて、Chromeブラウザでキャッシュを削除する方法を解説します。ゲーム側で削除できれば行う必要はないかもしれません。
↑まずはじめに、Chromeの右上にある「︙」をクリックし、表示されるメニューから「設定」をクリックします。
↑続いて「設定」画面より、プライバシーとセキュリティの項目内にある「閲覧履歴データの削除」をクリックします。
↑この画面ではChromeに蓄積された各データを削除することができます。
今回はキャッシュファイルを削除するので、この中から「キャッシュされた画像とファイル」にのみチェックマークを入れてください。他にはチェックマークを入れないでください。
最後に「データを削除」のボタンをクリックすると、Chromeブラウザに蓄積されているキャッシュデータを削除することができます。設定は以上になります。
まとめ:ゲームが止まる原因はキャッシュか
今回、DMMのブラウザゲームをプレイしている最中に起こった「Out of memory ~」のエラーですが、僕が行った対処法として、ゲームの設定から行えるキャッシュの削除とChromeの設定から行えるキャッシュの削除の両方を行ってみたところ、ゲームで会話の早送りをしてもエラーが発生することはほぼなくなりました。
ただ、キャッシュ削除をした直後しばらくは問題ないものの、プレイ時間がある程度長くなるとまた会話の早送りで同じエラーメッセージとともにゲームが止まってしまうようです。
まだ様子見の段階ではありますが、このことから僕のケースでは蓄積されたキャッシュがゲームの動作不良を引き起こすトリガーになっていたと考えることができるかもしれません。そしてこの問題に対処するには定期的なキャッシュの削除が必要となりそうです。
メモリ増設も候補として挙げましたが、キャッシュ削除で問題に対処できそうなことや、現状メモリの使用量は8GBの範囲内で収まっていること、お金がかかることを理由に手は出さないでおきます。
DMMのブラウザゲームはいくつかプレイしてきましたが、これまでこの問題が発生するのは1タイトルのみ。ゲームが推奨するOS(64bit)、ブラウザ、メモリ容量は当然満たしているもののハードウェアとの相性もあるのかもしれません。会話の早送りをしなければ全く問題は起こらないので、ときおりキャッシュに配慮しつつ様子を見ながら遊んでいきたいと思います。