perf: AcDbX3dSolid 几何改为懒重建 #25

Merged
gjm merged 1 commits from company-desktop-computer/refactor/x3dsolid-lazy-recreate AGit into main 2026-10-21 10:15:53 +08:00
Collaborator
  • 新增 m_bNeedCreate 标志与 EnsureCreated():dwgInFields 与拷贝构造
    不再立即 ReCreate,延迟到首次访问几何时重建
  • 开图时不再对每个单元逐个走 SAT 临时文件(acisOut/acisIn),
    显著降低开图耗时;Clone 也省掉一次重建
  • 所有读取 m_pSolid/m_pSubDMesh 的入口统一走 EnsureCreated:
    GetNative3dSolid / GetDraw3dSolid / GetNativeSubDMesh /
    GetDrawSubDMesh / GetDrawSubDMesh2D / GetCentoridPoint
  • GetDrawSubDMesh 补 m_pSubDMesh 空指针保护
  • TransformBy 保持原有行为(参数变更后必须重建)
- 新增 m_bNeedCreate 标志与 EnsureCreated():dwgInFields 与拷贝构造 不再立即 ReCreate,延迟到首次访问几何时重建 - 开图时不再对每个单元逐个走 SAT 临时文件(acisOut/acisIn), 显著降低开图耗时;Clone 也省掉一次重建 - 所有读取 m_pSolid/m_pSubDMesh 的入口统一走 EnsureCreated: GetNative3dSolid / GetDraw3dSolid / GetNativeSubDMesh / GetDrawSubDMesh / GetDrawSubDMesh2D / GetCentoridPoint - GetDrawSubDMesh 补 m_pSubDMesh 空指针保护 - TransformBy 保持原有行为(参数变更后必须重建)
company-desktop-computer added 1 commit 2026-10-21 10:01:30 +08:00
- 新增 m_bNeedCreate 标志与 EnsureCreated():dwgInFields 与拷贝构造
  不再立即 ReCreate,延迟到首次访问几何时重建
- 开图时不再对每个单元逐个走 SAT 临时文件(acisOut/acisIn),
  显著降低开图耗时;Clone 也省掉一次重建
- 所有读取 m_pSolid/m_pSubDMesh 的入口统一走 EnsureCreated:
  GetNative3dSolid / GetDraw3dSolid / GetNativeSubDMesh /
  GetDrawSubDMesh / GetDrawSubDMesh2D / GetCentoridPoint
- GetDrawSubDMesh 补 m_pSubDMesh 空指针保护
- TransformBy 保持原有行为(参数变更后必须重建)
gjm approved these changes 2026-10-21 10:15:45 +08:00
gjm merged commit f12f2ec6ea into main 2026-10-21 10:15:53 +08:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gjm/envi-code#25