mcpField
T
threejs-performance

threejs-performance

github.com/cesartevisual開発11468 回インストール7 週間前に更新
リポジトリ

threejs-performance について

Three.js プロジェクトの性能とメモリに関するガイドです。ボトルネックを調べて変更を検証する開発者を対象に、CPU、GPU、ドローコール、メモリを測定し、リソースの所有と解放を明確にする方法を説明します。

主な機能

  1. 01再現可能な性能基準の記録
  2. 02CPU・GPU・メモリの問題を切り分け
  3. 03ボトルネックに応じた最適化
  4. 04シーンリソースの所有管理
  5. 05マウント反復後のメモリ傾向確認
  6. 06バージョン固有の API 動作確認

活用シーン

  1. 01シーンのフレーム時間問題の調査
  2. 02ドローコールやフィルレートの特定
  3. 03マウント反復後のリソース増加の追跡
  4. 04変更前後の性能と見た目の比較

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/cesartevisual/threejs-skills --skill threejs-performance

インストール後、Claude Code で/threejs-performanceを入力して読み込まれたか確認します。

同梱ファイルreferences/profile.md

詳細

パフォーマンスとメモリ

プロジェクトにインストールされているバージョンと既存のアーキテクチャを使用してください。これらの指示はユーザーのタスクを補足するものであり、無関係な変更や外部への操作を許可するものではありません。

代表的なデバイスで再現し、シーンの状態、ビューポート、ピクセル比、バックエンド、アセットのサイズ、フレーム時間の分布を記録してください。初回読み込み/デコード/コンパイル時の停止と、定常状態のフレームコストを区別してください。再現可能な変更前後の記録については、プロファイリング用ワークシートを参照してください。

ボトルネックが CPU 処理、描画呼び出し、GPU のシェーディング/フィル、転送、メモリのどれにあるかを特定してください。解像度を下げてピクセルコストを調べ、シャドウやエフェクトを個別に切り分け、静的な更新とアニメーションによる更新を比較してください。一度に変更する主要な変数は一つにしてください。

描画呼び出しが支配的な場合はインスタンシング/バッチ処理を使用し、フィルが支配的な場合はオーバードロー/エフェクトの解像度を下げ、CPU がボトルネックの場合はアニメーションを単純化するか、適切な処理をオフスレッドに移してください。三角形を減らしても、すべてのボトルネックが解消されるわけではありません。フレームごとのメモリ割り当てや、シェーダーの繰り返しコンパイルは避けてください。

共有キャッシュとインスタンス間でリソースの所有権を定義してください。所有するジオメトリ、マテリアル、テクスチャ、レンダーターゲット、コントロール、ミキサー、オブザーバー、リスナーを解放してください。マテリアルを破棄しても、そのテクスチャは破棄されません。レンダラーを破棄しても、シーンが所有するすべてのオブジェクトが解放されるわけではありません。使用中のキャッシュエントリーは破棄しないでください。

ウォームアップ後に、マウント/アンマウントとモデルの置き換えを繰り返して測定してください。内部キャッシュによってカウンターがゼロ以外になる場合があります。ゼロを求めるのではなく、説明のつかない増加傾向がないか確認してください。CPU ヒープと renderer.info は部分的な証拠であり、GPU メモリの正確な値ではありません。

測定された改善によって、必要な見た目と操作性が保たれる場合に限り、最適化を採用してください。デバイス、方法、変更前後の値、測定上の制約を報告してください。

API リファレンス

正確なシグネチャとリビジョン固有の動作については、公式ドキュメントを参照してください。ドキュメントにアクセスできない場合は、インストール済みの型定義/ソースを調べ、残る不確実性を明記してください。

コメント