mcpField
O
optimization-performance

optimization-performance

github.com/pluginagentmarketplace開発4570 回インストール42 週間前に更新
リポジトリ

optimization-performance について

optimization-performance は、CPU、GPU、各種プラットフォームを対象に、ゲームの性能を分析・改善するスキルです。目標フレームレートに取り組む開発者向けに、最適化手順、プラットフォーム別の指針、問題調査方法、プロファイラーの資料をまとめています。

主な機能

  1. 01フレーム時間と FPS の目標
  2. 02計測を先行するプロファイリング手順
  3. 03CPU 最適化技術
  4. 04GPU 最適化技術
  5. 05プラットフォーム別の指針
  6. 06エンジン別プロファイラー資料

活用シーン

  1. 01ゲーム中のフレームレート低下の診断
  2. 02CPU または GPU のボトルネック特定
  3. 03モバイルや VR 向けの性能調整

インストール

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

$npx skills add https://github.com/pluginagentmarketplace/custom-plugin-game-developer --skill optimization-performance

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
optimization_config.yaml
references/
OPTIMIZATION_GUIDE.md
scripts/
perf_analyzer.py

詳細

最適化とパフォーマンス

パフォーマンス目標

FRAME BUDGETS:
┌─────────────────────────────────────────────────────────────┐
│  TARGET FPS │ FRAME TIME │ PLATFORM                        │
├─────────────┼────────────┼─────────────────────────────────┤
│  30 FPS     │ 33.3 ms    │ Console (heavy games)           │
│  60 FPS     │ 16.6 ms    │ PC, Console, Mobile             │
│  90 FPS     │ 11.1 ms    │ VR (minimum)                    │
│  120 FPS    │ 8.3 ms     │ Competitive games               │
│  144+ FPS   │ 6.9 ms     │ High-end PC                     │
└─────────────┴────────────┴─────────────────────────────────┘

FRAME TIME BREAKDOWN (16.6ms target):
┌─────────────────────────────────────────────────────────────┐
│  CPU: 8ms                                                    │
│  ├─ Game Logic:    3ms                                      │
│  ├─ Physics:       2ms                                      │
│  ├─ Animation:     1.5ms                                    │
│  └─ Audio/Other:   1.5ms                                    │
│                                                              │
│  GPU: 8ms                                                    │
│  ├─ Geometry:      2ms                                      │
│  ├─ Lighting:      3ms                                      │
│  ├─ Post-process:  2ms                                      │
│  └─ UI:            1ms                                      │
└─────────────────────────────────────────────────────────────┘

プロファイリングのプロセス

OPTIMIZATION WORKFLOW:
┌─────────────────────────────────────────────────────────────┐
│  1. MEASURE: Profile before optimizing                      │
│     → Never guess, always profile                          │
│                                                              │
│  2. IDENTIFY: Find the bottleneck                           │
│     → CPU-bound: Frame time > GPU time                     │
│     → GPU-bound: GPU time > CPU time                       │
│                                                              │
│  3. ANALYZE: Drill into specific systems                    │
│     → Which function? Which shader? Which asset?           │
│                                                              │
│  4. OPTIMIZE: Fix the actual bottleneck                     │
│     → One change at a time                                 │
│     → Measure before/after                                  │
│                                                              │
│  5. VERIFY: Confirm improvement                             │
│     → Check all platforms                                   │
│     → Test edge cases                                       │
│                                                              │
│  6. REPEAT: Move to next bottleneck                         │
└─────────────────────────────────────────────────────────────┘

CPU の最適化

CPU OPTIMIZATION TECHNIQUES:
┌─────────────────────────────────────────────────────────────┐
│  ALGORITHMIC:                                                │
│  • Use appropriate data structures (spatial hashing)       │
│  • Early-out conditions                                     │
│  • Reduce O(n²) to O(n log n)                              │
├─────────────────────────────────────────────────────────────┤
│  CACHE:                                                      │
│  • Data-oriented design (SoA vs AoS)                       │
│  • Minimize cache misses                                    │
│  • Process data linearly                                    │
├─────────────────────────────────────────────────────────────┤
│  ALLOCATION:                                                 │
│  • Object pooling                                           │
│  • Avoid GC in hot paths                                    │
│  • Pre-allocate collections                                 │
├─────────────────────────────────────────────────────────────┤
│  THREADING:                                                  │
│  • Offload work to job system                              │
│  • Async loading                                            │
│  • Parallel processing                                      │
└─────────────────────────────────────────────────────────────┘

GPU の最適化

GPU OPTIMIZATION TECHNIQUES:
┌─────────────────────────────────────────────────────────────┐
│  DRAW CALLS:                                                 │
│  • Static/dynamic batching                                  │
│  • GPU instancing                                           │
│  • Merge meshes                                             │
│  Target: <2000 on PC, <200 on mobile                        │
├─────────────────────────────────────────────────────────────┤
│  OVERDRAW:                                                   │
│  • Front-to-back rendering                                  │
│  • Occlusion culling                                        │
│  • Reduce transparency                                      │
├─────────────────────────────────────────────────────────────┤
│  SHADERS:                                                    │
│  • Reduce instruction count                                 │
│  • Use lower precision (half)                              │
│  • Minimize texture samples                                 │
├─────────────────────────────────────────────────────────────┤
│  GEOMETRY:                                                   │
│  • LOD systems                                              │
│  • Mesh simplification                                      │
│  • Frustum culling                                          │
└─────────────────────────────────────────────────────────────┘

プラットフォーム別のガイドライン

MOBILE OPTIMIZATION:
┌─────────────────────────────────────────────────────────────┐
│  CRITICAL CONSTRAINTS:                                       │
│  • Thermal throttling                                       │
│  • Battery drain                                            │
│  • Memory limits (500MB-2GB)                               │
│                                                              │
│  TARGETS:                                                    │
│  • Draw calls: 100-200                                      │
│  • Triangles: 100K-500K/frame                              │
│  • Texture memory: 200-500MB                                │
│  • 30-60 FPS stable                                         │
└─────────────────────────────────────────────────────────────┘

VR OPTIMIZATION:
┌─────────────────────────────────────────────────────────────┐
│  CRITICAL: Maintain 90 FPS constantly                       │
│  • Single-pass stereo rendering                            │
│  • Fixed foveated rendering                                │
│  • Aggressive LOD                                           │
│  • Minimal post-processing                                  │
└─────────────────────────────────────────────────────────────┘

🔧 トラブルシューティング

┌─────────────────────────────────────────────────────────────┐
│ PROBLEM: Frame rate drops during gameplay                   │
├─────────────────────────────────────────────────────────────┤
│ DEBUG:                                                       │
│ → Profile to find CPU vs GPU bound                          │
│ → Check for GC spikes                                       │
│ → Look for expensive operations in Update()               │
├─────────────────────────────────────────────────────────────┤
│ SOLUTIONS:                                                   │
│ → Move logic to FixedUpdate or coroutines                   │
│ → Implement object pooling                                  │
│ → Add LOD for distant objects                               │
│ → Reduce draw calls with batching                           │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ PROBLEM: Long loading times                                 │
├─────────────────────────────────────────────────────────────┤
│ SOLUTIONS:                                                   │
│ → Async loading with progress bar                           │
│ → Stream assets in background                               │
│ → Compress assets more aggressively                         │
│ → Pre-warm caches                                           │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ PROBLEM: Inconsistent frame pacing                          │
├─────────────────────────────────────────────────────────────┤
│ SOLUTIONS:                                                   │
│ → Enable VSync                                              │
│ → Use fixed timestep for physics                            │
│ → Spread heavy work across frames                           │
│ → Check for background processes                            │
└─────────────────────────────────────────────────────────────┘

プロファイリングツール

エンジンCPU プロファイラーGPU プロファイラーメモリ
UnityProfilerFrame DebuggerMemory Profiler
UnrealInsightsRenderDocMemreport
GodotProfilerGPU DebuggerBuilt-in
AnyプラットフォームのツールRenderDoc/PIXValgrind/Instruments

このスキルを使用する場面:ゲームの最適化、パフォーマンスのプロファイリング、または複数のプラットフォームのサポート。

コメント