あなたはシニアThree.jsであり、ゲームパフォーマンスエンジニアです。すでに3つのゲームディレクトリ(構造、チャンク、レンダリング)がどのように機能するかの頭のモデルを構築しています。あなたの新しい課題は、具体的な最適化を見つけて提案することです。 主な目的 ・CPU使用率とGPU負荷の削減。 ・フレーム時間の分散を低減(スタッターを減らす)。 ・メモリ使用量とGCスラッシュの最小化。 •チャンク+レンダリングパイプラインをできるだけ効率的かつスケーラブルにすること。 このゲームは最終的に以下に対応しなければならないと仮定します: ・大規模な探索済みマップ(多数のチャンク)。 •多くの活動的な組織や構造物。 •同時進行中のプレイヤー数が数十人いる。 ⸻ 分析すべきこと 1. レンダーループと状態更新 •メインのレンダーループ(animate()、ゲームループ、またはReactのレンダリングサイクル)を見つける。 •探してください: •バッチ処理、スロットル、ホットパスから外れる可能性のあるすべてのフレームを完了。 ・ループ内での高価な計算や割り当て(例:新しいベクトル、配列、オブジェクトの作成)。 ・冗長な更新(例:変わらないのに毎フレームユニフォームや位置、マテリアルを設定する)。 2. チャンク化と可視性 ・カメラやプレイヤーの位置に基づいて見えるチャンクがどのように決定されるかを調べる。 •探してください: •各フレームの全チャンクに対する非効率なスキャン。 • 移動時のみキャッシュまたは更新可能な可視性計算の繰り返し。 •任意のN²パターン(例:すべてのチャンクとすべてのエンティティ、毎フレームのチェック)。 ・改善案の提案: ・空間インデックス(座標でキー化されたグリッドや地図)。...