f840d733ca6463179951ab60f686f9d8920d845e
问题:上一轮判定"3D 缓存存盘对管道不做"时,顺带给 X3dPart(Rebuild 占开图 18~22%)估了个"体积 +10~40 MB、存盘 +1.5~4 s"——这是估算,没有实测,结论可能 把这条路误杀了。本次补上测量。 改动:AecDbX3dPart::EnsureCreated 里加一个探针(AEC_X3D_SIZEPROBE=1 才生效, Release 零开销):每个 part 重建后对它的 m_pSolid 做一次 AcDbBody::acisOut 到临时文件,记录 SAT 字节数与耗时,然后删文件;每 100 个 part 把汇总写 %TEMP%\aec_x3d_probe.txt。同时记录同一次 Rebuild 的耗时用于对比。 big1.dwg 实测(AutoCAD 2020 / R230 Debug,开图 95 s): - 有几何的 part:1200(1248 个里 48 个 Hide/空,无 solid) - SAT 总字节 3.56 MB,平均 2968 B/part,最大 36086 B - acisOut 平均 0.799 ms/part;Rebuild 平均 15.3 ms/part(本次合计 20.4 s) - 重建 / 序列化 = 19.1 倍 据此(都取保守侧): - DWG 体积增量 ≤ 3.4 MB(8.2 -> ~11.6 MB,+42%)——DWG 里存的是二进制 SAB, 通常比 SAT 文本更小; - 每次存盘多花 ≤ 0.96 s(1200 x 0.8 ms),且二进制写比转文本便宜、不落盘; - 开图预计省 15~18 s(重建 18~20 s,恢复按 acisOut 同量级估 1~2 s)。 结论修正:X3dPart 这条"几何存盘"是值得做的,之前的体积/耗时估算高估了 3~10 倍。 配套说明写进 3d-cache-dwg-verdict.md §7。
Languages
C++
80.3%
C
19.4%
Inno Setup
0.1%