中心轴曲线配色 + 筛选框交互完善 + 双光标拖拽性能修复
- 中心轴边沿计数的平均值曲线改为「由信号色派生的高对比度颜色」:保持色相、 大幅拉开明度(与原始波形高对比),透明度与原信号一致;原信号改色时曲线 颜色随之变化,而光标显示该曲线数值时仍沿用原始信号的配色样式。 - 信号筛选框:内容区左右内缩改为与上下一致(不再「左右空隙明显更大」); 有输入时右侧显示清空 ✕(悬停高亮 + 手型光标,点击清空且保持编辑态); 筛选无结果时在列表区提示「无匹配的筛选信号」。 - 光标数值超出上下视界时,三角箭头标识下移 kCursorHandleReserve, 不再遮挡光标自身的三角把手(含双光标模式)。 - 性能:新增「装饰区域脏标记 + 绘图区局部回送」快路径——绘图区内的悬停/拖拽 期间跳过标签栏/工具栏/面板/分隔条的重绘,且只 BitBlt 绘图区矩形; WM_PAINT 依据更新区域是否落在绘图区内决定快慢路径,窗口缩放/遮挡露出/ 菜单与拾色器弹出等场景仍整帧重绘。 以 VERY_BIG_DATA.CSV 全信号双光标拖拽实测:单帧耗时由约 28ms 降至约 12ms。 同时修复拖拽期间残留的信号悬停提示气泡。
This commit is contained in:
1 parent
fe72afc83c
commit
8ae8d7af4f
6 files changed
+333
-45
No files matched your search
@@ -364,6 +364,16 @@ namespace jdi
|
||||
float m_loadingProgress = 0.0f; /**< 加载进度(0-1)。 */
|
||||
float m_loadingSpin = 0.0f; /**< 加载动画旋转相位(度)。 */
|
||||
unsigned long long m_loadingBytes = 0; /**< 当前文件字节数(用于展示体积)。 */
|
||||
|
||||
/**
|
||||
* @brief 装饰区域(标签栏 / 工具栏 / 信号面板 / 分隔条)是否需要重绘。
|
||||
*
|
||||
* 这些区域的绘制成本与数据量无关但与控件数量成正比,且只在鼠标位于其中
|
||||
* 或发生交互时才会变化。绘图区拖拽(如双光标左右移动)期间持续置为
|
||||
* false,从而每帧只重绘、只回送绘图区所在的矩形,避免整窗重绘的开销。
|
||||
*/
|
||||
bool m_chromeDirty = true;
|
||||
bool m_mouseOverPlot = false; /**< 上一次鼠标移动是否位于绘图区内。 */
|
||||
};
|
||||
|
||||
} // namespace jdi
|
||||
|
||||
Reference in new issue
Block a user