search
LoginSignup
2

posted at

updated at

Webブラウザ&OS毎の割り当て可能なメモリサイズ

はじめに

WebGLアプリ開発するにあたり、ブラウザに割り当て可能なヒープメモリ(RAM)サイズは重要な要素となります。
UnityフォーラムにてUnity社の方が計測用アプリを作成されていましたので、そちらを利用して複数のデバイス&ブラウザで測定してみました。

計測ツール

image.png

■ツールの使い方

Allocate More のボタンをメモリ表示に変化がなくなるまで複数回押す

■ツールURL

■元スレッド

測定結果

OS デバイス条件 ブラウザ 測定結果
Windows11 RAM32GB Chrome 4000 MB
Windows11 RAM32GB Edge 4000 MB
Windows11 RAM32GB FireFox 4,000 MB
macOS13.0 M1 8GB Safari 4,000 MB
macOS13.0 M1 8GB Chrome 4,000 MB
macOS13.0 M1 8GB FireFox 4,000 MB
iOS16.1 iPhone13ProMax Safari 501・757・989 MB※1
iOS16.1 iPhone13ProMax Chrome 501・757・989 MB※1
iOS16.1 iPhone13ProMax WebView 757 MB※1
iOS16.1 iPhoneSE3 Safari 501・794 MB※1
iOS16.1 iPhoneSE3 Chrome 501・794 MB※1
Android13.4 Pixel6a Chrome 989 MB
Android13.4 Pixel6a FireFox 4,000 MB
Android13.4 Pixel6a WebView 989 MB
カスタムAndroid MetaQuest2 Meta Quest Browser 4,000MB
カスタムAndroid MetaQuest2 Firefox Reality 16MB※2

※1 毎回結果が変わる、途中で再起動またはブラウザがクラッシュする。上限に達している旨の表示が出ない
※2 測定ツールが機能していない?

上記の方法で割り当てたメモリはどのような扱いになるのか?

コミットサイズとして計上されるようです。
確認方法はWindowsのタスクマネージャ→詳細→一番上の行に対して右クリック→列の表示からメモリ表示を有効にすると確認することができます。

image.png

ワーキングサイズとは?

未使用のメモリ含め、対象のプロセスで確保しているメモリ
この領域の未使用メモリはガベージコレクションによって軽量化することが可能です。

ワーキングサイズとは?

実際に利用しているメモリ

参考

まとめ

  • Windows11・macOS・MetaQuest2
    • 約4GBで安定
  • iOS
    • 全体的に不安定(実際WebGLアプリ中も一定以上のメモリを使用すると不安定になる)
    • 4GBRAMモデル以上の場合、本体のメモリ容量に関わらず上限は同じ
  • Android
    • 安定しており、Firefoxターゲットに絞ればリッチなコンテンツを作ることができそうだが標準ブラウザではないのが残念

関連記事

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2