gpt4 book ai didi

windows - 为什么 : visible, 控制分配的 TActions 会影响应用程序的 CPU 使用率?

转载 作者:可可西里 更新时间:2023-11-01 13:53:44 27 4
gpt4 key购买 nike

如果 TAction 链接到对象,例如 TToolButton(TToolBar 的项目)或 TActionClientItem( TActionToolBar 的项目)并且该对象在运行时可见,那么每当您在表单中移动鼠标时(工具栏以外的任何地方),似乎都会根据数字在 CPU 上完成额外的负载可见 TAction 的数量,这是与在前面提到的任一栏上都没有 TAction 链接的项目可见时移动鼠标相比。

很明显,完成的额外负载的显着百分比完全取决于您正在运行的装备类型,但我注意到,当您的应用程序具有以下内容时,实际差异可能会很大:

  • 很多可见的 TAction 链接项目
  • 已经为 onMouseOver 事件执行小计算的自定义组件,例如更改控件的外观
  • 自定义视觉样式

那么问题来了,为什么visible item linked TAction组件会影响鼠标移动的处理呢?

最佳答案

Action 的设计基于 Action 的空闲时间更新。当您移动鼠标时,应用程序会收到大量排队的消息。每次队列被清空时,应用程序被认为是空闲的,所有的 Action 都会被更新。这会导致高 CPU 利用率。

此问题在 VCL 中众所周知并得到承认。例如,看看 TApplication.ActionUpdateDelay .

关于windows - 为什么 : visible, 控制分配的 TActions 会影响应用程序的 CPU 使用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14577659/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com