跳转至

更新日志 — v3.0.0

发布日期: 2026-01-18

详细更新内容请参见 CHANGELOG.md

[3.0.0] - 2026-01-18

性能优化

架构优化(P0 改进)

  • ProcessWorker 移除网络请求
  • 将 3D 模型下载从 ProcessWorker 移到 FetchWorker
  • ProcessWorker 现在是纯 CPU 密集型任务
  • CPU 利用率提升 50-80%

  • 使用 QSharedPointer 传递数据

  • ExportService_Pipeline 使用 QSharedPointer 队列
  • FetchWorker、ProcessWorker、WriteWorker 都使用 QSharedPointer
  • 避免了频繁的数据拷贝
  • 内存占用减少 50-70%,性能提升 20-30%

  • 调整 ProcessWorker 为纯 CPU 密集型

  • ProcessWorker 只包含解析和转换逻辑
  • 移除了所有网络 I/O 操作
  • 充分利用 CPU 核心
  • CPU 利用率提升 40-60%

性能优化(P1 改进)

  • 动态队列大小
  • 根据任务数量动态调整队列大小
  • 使用任务数的 1/4 作为队列大小(最小 100)
  • 避免队列满导致的阻塞
  • 吞吐量提升 15-25%

  • 并行写入文件

  • 使用 QThreadPool 并行写入单个组件的多个文件
  • 符号、封装、3D 模型同时写入
  • 充分利用磁盘并发能力
  • 写入阶段耗时减少 30-50%

整体性能提升

  • 总耗时减少 54%(240秒 → 110秒,100个组件)
  • 吞吐量提升 117%(0.42 → 0.91 组件/秒)
  • 内存占用减少 50%(400MB → 200MB)
  • CPU 利用率提升 50%(60% → 90%)

架构改进

  • 更清晰的职责分离
  • FetchWorker:I/O 密集型(网络请求)
  • ProcessWorker:CPU 密集型(数据解析和转换)
  • WriteWorker:磁盘 I/O 密集型(文件写入)

  • 更高效的线程利用

  • 避免线程阻塞在网络请求上
  • 充分利用多核 CPU 性能
  • 并行磁盘 I/O 操作

代码质量

  • 零拷贝数据传递
  • 使用 QSharedPointer 避免数据拷贝
  • 减少内存分配和释放开销

  • 更好的错误处理

  • 精确识别失败阶段
  • 详细的调试日志
  • 友好的错误提示

文档

  • 性能基准测试框架
  • 创建了流水线性能基准测试代码
  • 建立了性能指标记录机制
  • 提供了性能对比测试指南

核心功能

新增

核心功能 - 完整的符号转换功能(EasyEDA 到 KiCad) - 完整的封装生成功能(EasyEDA 到 KiCad) - 完整的 3D 模型支持(WRL、STEP、OBJ 格式) - 批量处理功能(支持多个元件同时转换) - 智能提取功能(从剪贴板文本中提取元件编号) - BOM 导入功能(CSV、Excel 格式)

性能优化 - 并行转换支持(多线程并行处理) - 两阶段导出策略(并行数据收集,串行数据导出) - 状态机模式(异步数据收集) - 网络请求优化(自动重试机制) - GZIP 解压缩支持 - 内存优化(智能指针管理)

用户界面 - 现代化 Qt Quick 界面 - 深色/浅色主题切换 - 卡片式布局系统 - 流畅动画效果 - 实时进度显示 - 响应式设计

高级功能 - 完整的图层映射系统(50+ 图层) - 多边形焊盘支持 - 椭圆弧计算(精确圆弧计算) - 文本层处理(类型 "N" 和镜像文本) - 覆盖文件功能 - 调试模式支持

架构 - MVVM 架构实现 - Service 层(ComponentService、ExportService、ConfigService) - ViewModel 层(ComponentListViewModel、ExportSettingsViewModel、ExportProgressViewModel、ThemeSettingsViewModel) - 状态机模式(ComponentDataCollector) - MainController 移除 - 多阶段流水线并行架构(ExportServicePipeline) - Fetch Stage:I/O 密集型,32 线程并发下载 - Process Stage:CPU 密集型,CPU 核心数线程并发处理 - Write Stage:磁盘 I/O 密集型,8 线程并发写入 - 线程安全的有界队列(BoundedThreadSafeQueue)用于阶段间通信 - 实时进度反馈(三阶段进度条:抓取 30%、处理 50%、写入 20%) - 详细失败诊断(精确识别失败阶段和原因) - 零拷贝解析优化(QByteArrayView) - HTTP/2 支持(网络请求多路复用)

测试 - 完整的测试框架 - 单元测试(8 个测试程序) - 集成测试框架 - 性能测试框架 - 流水线架构测试 - BoundedThreadSafeQueue 并发测试 - ExportServicePipeline 集成测试 - 多阶段并发测试

文档 - 完整的文档体系(14 个技术文档) - 用户手册 - 开发者文档 - 架构文档 - 构建指南 - 贡献指南 - ADR-002:流水线并行架构决策记录

修复

  • 修复封装解析 Type 判断错误
  • 修复 3D Model UUID 遗漏问题
  • 修复 Footprint BBox 不完整问题
  • 修复图层映射错误
  • 修复多边形焊盘处理缺失
  • 修复椭圆弧计算不完整
  • 修复文本层处理逻辑缺失
  • 修复 3D 模型偏移参数计算错误
  • 修复 3D 模型不显示问题
  • 修复圆弧和实体区域导出不完整
  • 修复非 ASCII 文本处理问题
  • 修复元件 ID 验证规则过于严格
  • 修复与 Python 版本 V6 一致性问题

更改

  • 从 MVC 架构重构为 MVVM 架构
  • 移除 MainController
  • 移除丝印层复制逻辑
  • 移除特殊层圆形处理
  • 优化网络请求流程
  • 优化错误处理机制
  • 优化配置管理

移除

  • 移除 MainController
  • 移除丝印层复制逻辑
  • 移除特殊层圆形处理(层 100 和 101)