性能分析服务器

FramePro-MCP是一款用于分析FramePro性能数据的服务器,提供高级性能优化洞察,包括CPU热点检测、帧问题分析、线程饱和度分析等功能。

  • by bivex
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 bivex/FramePro-MCP

使用说明

FramePro MCP:性能分析服务器

MCP(模型上下文协议)服务器,用于分析具有高级性能优化见解的FramePro分析数据。

特性

4分析工具

  1. 分析性能 -综合性能分析

    • 检测CPU热点、帧问题、线程饱和
    • 重点领域: cpu, frames, threads,或 all
    • 基于严重性的优先级(严重/高/中/低)
  2. 查找热点 -前N个最昂贵的功能

    • 按总时间消耗排名
    • 详细指标:时间、通话、利用率
    • 针对特定功能的优化建议
  3. 分析框架时间 -框架性能分析

    • 基于主线程工作的FPS估计
    • 帧尖峰检测
    • 主线程瓶颈识别
  4. 比较配置文件 -个人资料比较

    • 检测性能退化和改进
    • 显示百分比变化
    • 识别新功能和删除的功能

专家分析能力

  • 线程感知:标识主线程、渲染线程、工作线程
  • 模式识别:检测等待、锁定、物理、渲染、更新模式
  • 差异分析:发现性能不一致(口吃)
  • 自动优先级排序:首先标记关键问题
  • 针对具体情况的建议:按职能量身定制的建议

安装

先决条件

  • 转到1.21+(从源代码构建)
  • FramePro JSON导出

快速设置

  1. 可执行文件已生成:

    c:\Program Files\PureDevSoftware\FramePro\FrameProReader\FramePro-MCP\framepro-mcp.exe
    
  2. 配置Claude桌面:

    编辑 %APPDATA%\Claude\claude_desktop_config.json:

    {
      "mcpServers": {
        "framepro": {
          "command": "cmd",
          "args": [
            "/c",
            "c:\\Program Files\\PureDevSoftware\\FramePro\\FrameProReader\\FramePro-MCP\\framepro-mcp.exe"
          ],
          "env": {
            "FRAMEPRO_DATA_DIR": "c:\\Program Files\\PureDevSoftware\\FramePro"
          }
        }
      }
    }
    

    或者对于游标/克劳德代码,编辑 c:\Users\Admin\.cursor\mcp.json:

    {
      "mcpServers": {
        "framepro": {
          "command": "cmd",
          "args": [
            "/c",
            "c:\\Program Files\\PureDevSoftware\\FramePro\\FrameProReader\\FramePro-MCP\\framepro-mcp.exe"
          ],
          "env": {
            "FRAMEPRO_DATA_DIR": "c:\\Program Files\\PureDevSoftware\\FramePro"
          },
          "disabled": false,
          "autoApprove": []
        }
      }
    }
    
  3. 重新启动编辑器

  4. 验证服务器是否正在运行:

    • 检查MCP服务器列表
    • 应该看到:“找到4个工具、0个提示和0个资源”

用法

支持的文件格式

服务器使用 真正的FramePro JSON导出:

  • ✅ *_functions_analysis.json -聚合功能数据(推荐)
  • ✅ *_frame_analysis.json -每帧详细数据

文件路径选项

相对路径 (自动解析):

"02_10_2025+03_33_23_functions_analysis.json"

→ 搜索 FRAMEPRO_DATA_DIR

绝对路径:

"c:\Program Files\PureDevSoftware\FramePro\02_10_2025+03_33_23_functions_analysis.json"

自然语言用法

只需用自然语言问Claude/Cursor:

示例1:全面分析

Analyze the performance in "02_10_2025+03_33_23_functions_analysis.json"

示例2:查找热点

Find the top 15 performance hotspots in "02_10_2025+03_33_23_functions_analysis.json"

示例3:框架分析

Analyze frame times with target FPS 60

示例4:比较配置文件

Compare "baseline_functions_analysis.json" with "current_functions_analysis.json"

性能阈值

关键问题⚠️

  • 主线 功能>每帧16.67ms
  • 功能 >总时间500ms
  • 线程利用率 >95%

高优先级🔶

  • 主线 函数>5ms平均值
  • 功能 >总时间100ms
  • 线程利用率 >80%
  • 框架钉 在主线上

中优先级🔸

  • 高方差 (最大/平均比率>5倍)
  • 通话次数高 (>10000个呼叫),总时间>50ms
  • 螺纹不平衡 (螺纹之间的比例>2:1)

你会得到什么

分析输出示例

{
  "severity": "critical",
  "category": "CPU Hotspot",
  "description": "Function 'Event Wait' on TaskGraph Render Thread 2 (RENDER THREAD - affects FPS!) consumes excessive CPU time",
  "impact": "37150.96ms total (146.84ms avg/frame), 6426 total calls, 100.0% thread utilization",
  "suggestion": "RENDER THREAD: Optimize GPU calls and state changes; 100.0% thread utilization - critical optimization target; WAIT/SLEEP detected - may indicate synchronization issues or idle time",
  "value": 37150.9578
}

优化建议

该工具提供上下文感知建议:

  • 主线程:“如果可能,移动到工作线程”
  • 对于高差异:“调查偶尔导致口吃的减速情况”
  • 用于频繁通话:“考虑缓存或批处理”
  • 等待/睡眠:“可能表示同步问题”
  • 物理学:“审查碰撞检测和空间划分”
  • 用于渲染:“优化绘图调用,使用实例化,检查GPU状态更改”

真实数据格式

FramePro导出包含:

{
  "SessionName": "02_10_2025+03_33_23",
  "TotalFrames": 254,
  "TotalFunctions": 212,
  "Functions": [
    {
      "FunctionName": "Event Wait",
      "ThreadId": 5032,
      "ThreadName": "TaskGraph Render Thread 2",
      "TotalTimeMs": 37150.9578,
      "TotalCount": 6426,
      "MaxTimePerFrameMs": 519.1692,
      "MaxCountPerFrame": 38,
      "AvgTimePerFrameMs": 146.84173,
      "AvgCountPerFrame": 25.399,
      "ThreadUtilizationPercent": 100.0,
      "IsMainThread": false,
      "IsRenderThread": true,
      "IsWorkerThread": true,
      "ThreadPriority": 0
    }
  ]
}

工作流程

优化过程

  1. 捕获基线

    • 使用FramePro分析您的应用程序
    • 导出为JSON
  2. 分析

    • 使用 analyze_performance 或 find_hotspots
    • 审查优先问题
  3. 优化

    • 应用建议的改进
    • 首先关注关键的主线问题
  4. 验证

    • 优化后重新配置
    • 使用 compare_profiles 验证改进
  5. 迭代

    • 继续,直到达到绩效目标

故障排除

服务器未启动

  • 配置中的检查路径没有空格问题(使用 cmd /c)
  • 验证指定位置是否存在可执行文件
  • 检查Cursor/Claude日志是否有错误

文件未找到

  • 使用绝对路径进行测试
  • 验证 FRAMEPRO_DATA_DIR 设置正确
  • 检查文件是否存在: dir "c:\Program Files\PureDevSoftware\FramePro\*.json"

JSON解析错误

  • 确保文件是有效的JSON(不是二进制.framepro文件)
  • 从FramePro导出为JSON格式
  • 检查文件是否 Functions 带必填字段的数组

无分析结果

  • 验证文件是否包含函数数据
  • 检查 TotalFunctions > 0
  • 确保功能具有 TotalTimeMs, FunctionName等等。

技术细节

建筑

  • 语言:转到1.21+
  • 框架:mcp-go(mcp官方实施)
  • 协议:模型上下文协议(MCP)
  • 接口:基于stdio的通信

演出

  • 快速JSON解析(处理26MB+文件)
  • 高效的排序和分析算法
  • 最小内存占用
  • 智能路径解析

环境变量

  • FRAMEPRO_DATA_DIR -FramePro JSON文件的基本目录

从源头构建

cd "c:\Program Files\PureDevSoftware\FramePro\FrameProReader\FramePro-MCP"
go build -o framepro-mcp.exe

文档文件

  • README.md (此文件)-完整的文档
  • README_RU.md -俄罗斯文件
  • 指令.md -快速入门指南(俄语)
  • REAL_FORMAT.md -FramePro数据格式详细信息
  • QUICKSTART.md -快速入门指南(英文)
  • 激活.md -配置和激活
  • 成功.md -服务器状态和测试

许可证

此工具专为与FramePro分析器数据一起使用而设计。

支持

对于问题或疑问:

  • 检查上面的故障排除部分
  • 在编辑器中查看日志文件
  • 验证JSON格式是否与FramePro导出结构匹配

准备好优化您的应用程序了! 🚀

基于高级性能分析专业知识构建。