后台计算线程优先级降为低于正常,确保拖动时 UI 优先获得 CPU

派生曲线计算是可延迟的后台工作,不能与 UI/绘制线程抢核。后台线程池的每个线程设为 THREAD_PRIORITY_BELOW_NORMAL,UI 线程需要运行时系统优先调度 UI,计算只在 UI 空闲时占用 CPU。
This commit is contained in:
DeepSeek V4.1 Flash committed 2026-10-11 14:23:42 +08:00
1 parent 226943921b
commit 709cbe4a87
2 files changed
+6 -1

No files matched your search

+5
View File
@@ -2395,6 +2395,11 @@ namespace jdi
void PlotView::CurveWorkerLoop() const
{
// 后台计算线程的优先级降到「低于正常」:派生曲线计算是**可延迟的后台工作**,
// 绝不能让它在拖动时与 UI / 绘制线程抢 CPU。降低优先级后,只要 UI 线程要运行,
// 系统就会优先调度 UI;计算只在 UI 空闲时占用 CPU,从而保证交互始终跟手
//(用户明确要求"无论如何 UI 及控件的响应需要是跟手的")。
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_BELOW_NORMAL);
for (;;)
{
CurveJob job;