首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有人知道System.Windows.Forms.Timer通常如何影响主机应用程序和系统吗?

有人知道System.Windows.Forms.Timer通常如何影响主机应用程序和系统吗?
EN

Stack Overflow用户
提问于 2008-12-01 20:52:38
回答 2查看 1.6K关注 0票数 1

有人知道System.Windows.Forms.Timer通常如何影响主机应用程序和系统吗?

一方面,线程后台循环具有非常高的CPU使用率%,而具有非常高的滴答率的Timer在Windows任务管理器中没有任何影响。

高滴答率的计时器是否会扰乱Windows消息循环,或者?

EN

回答 2

Stack Overflow用户

发布于 2008-12-01 21:08:10

定义“高滴答率定时器”:)。

依赖于WM_TIMER的计时器组件(例如Windows.Forms组件)的问题是多方面的:

  • 如果你的系统负载过重(例如,重绘,在RDP链路上运行等),你将永远无法获得高于50毫秒的分辨率。
  • 您可能每隔500毫秒或更长时间收到一次WM_TIMER消息,无论您将interval.
  • WM_TIMER消息设置得有多低都是合成消息,如果您的消息队列被其他消息淹没,则可能在很长一段时间内根本不会发送到您的应用程序。
  • 如果您的timer方法的执行时间超过一个计时器间隔,则计时器将“跳过”该消息,也就是说,直到您从第一个WM_TIMER消息返回之前,您才会收到另一个计时器消息。换句话说,您永远不会按顺序收到两条WM_TIMER消息。
票数 3
EN

Stack Overflow用户

发布于 2008-12-01 20:58:11

总体而言,我没有注意到在我的应用程序中使用timer组件的许多负面缺点,它们比其他方法更有效,在资源上也更好。

我发现微软的这篇Timer Comparison文章在比较这些类型的东西时也很有帮助。

但总而言之,它们看起来并没有太多杂乱。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/332168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档