更新日志 — 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)