# 推奨動作環境と出典

確認日: 2026-11-06。参照対象は、本作が使用する **TabStationToo** の固定コミット `5a9a7b489e428f3cea87d52621429f749c969f41`。上流エミュレーターは PCSX2。

このコミットのルート README、ブラウザー版 README、`docs/web-port/` の性能・設計文書を確認した範囲では、**CPU 型番・物理 RAM 容量・GPU 型番・OS 最低版をそろえた正式な最低／推奨スペック表は公表されていない**。以下は、上流の案内と本作の設定・観測結果を区別した利用目安である。

## ページに掲載する目安

| 項目 | 案内と根拠 |
| --- | --- |
| ブラウザー | 最近のデスクトップ版 **Chrome / Edge を推奨**。上流は Firefox でも動作すると記載している。本作の全ブラウザー・全 OS での動作保証ではない。[1][2] |
| CPU | 高速な CPU を備えたデスクトップ PC／ノート PC 向け。上流の **Ryzen 7 7840U** は重い別タイトル「WWE SmackDown vs. Raw 2011」の動作例で、本作の最低・推奨 CPU 型番ではない。性能文書の標準測定機は **Apple M1 Max**。[1][3] |
| メモリー | 本作のブラウザー検証では **WASM メモリー約 711–712 MiB** を観測。これは確保された WASM 線形メモリーの容量で、タブ全体・ブラウザー全体の使用量や物理 RAM の必要量ではない。OS、ブラウザー、JavaScript、ワーカー等のために追加の余裕が必要。最低物理 RAM 容量は未公表で、8 GB／16 GB などを上流の推奨値としては記載しない。[4] |
| GPU | 本作は **PCSX2 のソフトウェア GS → Canvas 2D** を使用し、描画処理は主に CPU に依存する。**WebGPU・WebGL 2・JSPI は本作の必須条件ではない**。専用 GPU や特定 VRAM 容量を必須とする根拠もない。[2][4] |
| OS と起動方法 | 上流は対応 OS の最低バージョンを列挙していない。対応ブラウザーを動かせるデスクトップ環境で利用する。配布 ZIP をローカルで起動する場合は **Python 3 と付属起動スクリプト**を使う。既に HTTPS 配信されたページを遊ぶために Python をインストールする必要はない。[5] |
| 入力 | キーボード、画面ボタン、ブラウザーの Gamepad API が認識する標準配置の USB 等のパッド。本作のパッド実装は合成入力で検証済みだが、**物理 USB コントローラーは未試験**。OS とブラウザーが機器を認識する必要がある。[6] |

本作では **スマートフォンと Safari は未検証**。上流も phones を未対応項目として挙げ、Safari は未検証としている。[1][2] ノート PC の省電力設定は性能に影響し得る。上流の 7840U 測定には電力制限がかかった時期があり、性能文書自体がその数値の扱いに注意を求めている。[3]

音声版 1.1 の通常 ISO でも、今回のブラウザー検証時に WASM 線形メモリー **711 MiB** を観測した。音声には Web Audio / AudioWorklet を使い、最初の「あそぶ」操作で有効にする。今回のクラウド環境では実行速度が一時 50% 前後となり、上流の音声バッファーは 200 ms へ調整された。快適さを保証する機種別ベンチマークではない。実出力と制限は [AUDIO_INTEGRATION.md](AUDIO_INTEGRATION.md) に記録する。

## 必要なブラウザー機能と配信条件

WebAssembly、WebAssembly SIMD、共有メモリーのスレッド実行（`SharedArrayBuffer` / `Atomics`）を利用する。ページは HTTPS または localhost の安全なコンテキストで、クロスオリジン分離が有効である必要がある。`index.html` を `file://` で直接開く方法では起動しない。[7][8]

付属サーバーは必要なヘッダーを設定する。別のサーバーで配信する場合も、次の条件を満たす。

```text
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
```

上流 README の Chrome 137+／Firefox 157 という記述は **WebGPU 表示で使う JSPI の条件**。同じ文書は、JSPI がなくてもフォールバックにより 2D 表示で起動できると説明している。この版数を本作全体の最低ブラウザー版として転記しない。[2]

## メモリーとスレッド数の読み方

| 固定ソースの設定 | 意味 | 意味しないもの |
| --- | --- | --- |
| `INITIAL_MEMORY=512MB` | WASM 線形メモリーの初期容量 **512 MiB** | PC 全体に必要な RAM が 512 MiB |
| `ALLOW_MEMORY_GROWTH=1`、`MAXIMUM_MEMORY=2GB` | 線形メモリーを必要に応じて拡張でき、上限は **2 GiB** | 起動時に常に 2 GiB を使う、または物理 RAM 2 GiB で十分 |
| `PTHREAD_POOL_SIZE=12` | 事前生成するワーカースレッドのプール数 | 物理 CPU 12 コアが必要 |

メモリー設定は `cmake/BuildParameters.cmake` 91 行、ワーカー数は `pcsx2-wasm/CMakeLists.txt` 127 行にある。[7][9] 設計文書には過去の計画値も含まれるため、実際のビルド定義と区別した。SIMD の `-msse4.1` は Emscripten が WASM SIMD128 に変換するためのコンパイル指定で、利用者の CPU に x86 の SSE4.1／AVX2 を要求する記述ではない。[7]

## 固定コミットの一次資料

すべて上記コミットを指す。短い原文は文意を確認するための抜粋。

1. [ルート README](https://github.com/TabStationToo/TabStationToo/blob/5a9a7b489e428f3cea87d52621429f749c969f41/README.md): 10–11 行に “desktop Chrome or Edge; Firefox works too”、28–31 行に 7840U の別タイトル動作例、37–39 行に WebGPU とソフトウェア描画、54–57 行に phones と Linux の説明。
2. [ブラウザー版 README](https://github.com/TabStationToo/TabStationToo/blob/5a9a7b489e428f3cea87d52621429f749c969f41/pcsx2-wasm/README.md): 289–293 行に JSPI フォールバック、687–690 行にブラウザー・分離・512 MB の条件。“Needs a recent desktop browser with cross-origin isolation”。Safari 未検証は 676 行・687–688 行。
3. [PERFORMANCE.md](https://github.com/TabStationToo/TabStationToo/blob/5a9a7b489e428f3cea87d52621429f749c969f41/docs/web-port/PERFORMANCE.md): 5–7 行 “Numbers are from an Apple M1 Max unless noted”、9–16 行に Ryzen 7 PRO 7840U の電力制限と測定上の留保。CPU の最低要件表ではない。
4. 本作の観測は [EXPERIMENT_REPORT.md](EXPERIMENT_REPORT.md) のブラウザー実測欄。レンダラーとメモリー表示の実装は `vendor/tabstationtoo/ballpit-runtime.mjs` 83–92 行・281–294 行。`memoryBytes` は WASM バッファーの `byteLength` を返す。
5. 本作のローカル起動手順は [README_JA.md](../README_JA.md) と `serve.py`。標準ライブラリーの HTTP サーバーを使う。[RELEASE_NOTES.md](RELEASE_NOTES.md) にある Python 3.10 以降という条件は、配布物を再作成する `tools/package_release.py` の条件。上流のビルド用 Emscripten / CMake / Ninja は、配布済み本作を遊ぶ際の必須ツールではない。
6. 入力仕様と検証範囲は [CONTROLS.md](CONTROLS.md)。
7. [BuildParameters.cmake](https://github.com/TabStationToo/TabStationToo/blob/5a9a7b489e428f3cea87d52621429f749c969f41/cmake/BuildParameters.cmake): 82–91 行に SIMD と線形メモリーの定義。
8. [上流 app.js](https://github.com/TabStationToo/TabStationToo/blob/5a9a7b489e428f3cea87d52621429f749c969f41/pcsx2-wasm/web/app.js): 695–718 行の機能検査。[serve.py](https://github.com/TabStationToo/TabStationToo/blob/5a9a7b489e428f3cea87d52621429f749c969f41/tools/wasm/serve.py): 7–13 行・68–72 行の配信ヘッダー。
9. [ブラウザー版 CMakeLists.txt](https://github.com/TabStationToo/TabStationToo/blob/5a9a7b489e428f3cea87d52621429f749c969f41/pcsx2-wasm/CMakeLists.txt): 122–139 行のワーカープールと JSPI フォールバック指定。

ネイティブ PCSX2 が公開する AVX2、PassMark、VRAM、物理 RAM などの要件は、別の実行環境に対するもの。このブラウザー版の公式推奨スペックとして置き換えていない。
