3.1 KiB
3.1 KiB
POC-C 单 mapper SetPartitions 整卷体绘制探针结果
体
- 维度: 44476 x 29 x 162 (体素 208948248)
- 整卷字节: 417896496 B (398.537 MB, VTK_SHORT)
- store: D:\Git\lanbingtech\geopro\build\tmp\gpr_store_B_001
单 mapper SetPartitions
- mapper: vtkOpenGLGPUVolumeRayCastMapper (整卷单 image,不预切块)
- 分区数: SetPartitions(3, 1, 1) 每区上限 ≤16384
- 纹理维度错误: 否
- 渲出非空像素: 是 (非背景像素 1264)
- 体绘制 fps: 10.951667
- 达交互级(≥15fps): 否
- 进程峰值内存: 652.84 MB
- 源构造耗时: 2873.19 ms
对照表
| 路径 | 是否渲出 | fps |
|---|---|---|
| renderB 整卷单 SmartVolumeMapper | INVALID(纹理墙) | — |
| renderC MultiBlock(每块一 mapper) | 渲出 | 9.5 静态/1.45 换页 |
| renderC-partitioned 单 mapper SetPartitions | 渲出 | 10.951667 |
判据结论
单 mapper SetPartitions 整卷体绘制【真渲出但未达交互级】(10.9517 fps <15)。VTK 这条路天花板暴露,需评估 OpenVDS/自建 GL。
POC-C LOD-fps 探针结果(Task 12c)
金字塔 store: tmp\store_lod_001(level0=44476x29x162,总 4 层)
| 项 | 维度 | 结果 |
|---|---|---|
| (a) 粗层概览 fps | level2 11119x8x41 | 752.061589 fps (交互级) |
| (b) 全分辨率局部 fps | level0 局部 256x29x162 | 374.625725 fps (交互级) |
| (c) LOD 切换过渡 | 切换帧 60/120 | 平均 1.09062ms,切换帧 5.4629ms(尖峰 6.04704×),无可感知卡顿 |
- 卡顿判据:切换帧绝对耗时 >33ms(2 个 60Hz 帧)才记可感知卡顿;16.7~33ms 记轻微抖动;亚毫秒基线下尖峰倍数大但绝对值低不算卡顿。
- 双闸:纹理维度错误=否;三段均渲出非空像素=是(概览 1889 / 局部 167612 / 过渡 21924)。
- 截图(人眼判“概览糊→拉近清晰”):docs/superpowers/plans/poc-lod-shots/lod-overview.png、lod-fullres-local.png、lod-transition-mid.png
- 进程峰值内存: 99.2266 MB
判据结论
粗层概览 + 全分辨率局部【都达交互级】且切换【无不可接受卡顿】→ LOD-based C 路线钉死可行。
最低配未验声明:本探针仅在本机(RTX 3060)跑得上限数字,最低配机器未验证,需用户在目标机跑或提供型号。
POC-C fps 预算探针结果(Task 12d ②)
金字塔 store: tmp/store_lod_001(level0=44476x29x162,brick=64)
递增 level0 局部窗口(沿线中段 brick 列)体绘制 fps:
| brick段 | 体素数 | 体绘制 fps | ≥30fps |
|---|---|---|---|
| 4 | 1202688 | 218.251659 | 是 |
| 16 | 4810752 | 155.708373 | 是 |
| 64 | 19243008 | 240.948244 | 是 |
| 128 | 38486016 | 305.837001 | 是 |
| 256 | 76972032 | 329.654511 | 是 |
| 512 | 153944064 | INVALID | 否 |
| 695 | 208948248 | INVALID | 否 |
- 每帧体素预算(fps≥30 上限): 76972032 体素(256 brick 列)
- 首个跌破 30 的窗口: 无(需更大 --bricks 段触达天花板)
- 双闸:纹理维度错误=是;每段均按非空像素校验。
- production LOD 应把【每帧渲染的全分辨率块】卡在此预算以内。
- 本机 RTX 3060 上限数;最低配需用户在目标机跑 fps-budget/view。