微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么delphi ide会增加windows平台的计时器分辨率?

我注意到每当我打开delphi 2010 ide时,笔记本电脑的电池续航时间就会明显变差.当我执行powercfg / energy trace时,它显示(除其他外)bds.exe请求的计时器分辨率小于认值15.6ms.
Current Timer Resolution (100ns units) 10006 
Maximum Timer Period (100ns units) 156250 


Requested Period 10000 
Requesting Process ID 7996 
Requesting Process Path \Device\HarddiskVolume2\Program Files (x86)\Embarcadero\RAD Studio\7.0\bin\bds.exe

delphi是否有充分的理由改变平台计时器分辨率?还有最新版本的ide具有相同的行为吗?

解决方法

IDE使用非常旧版本的VirtualTrees.pas作为ProjectManager,StructureView和Log-Window.此版本在其InitializeGlobalStructures函数调用timeBeginPeriod,并将计时器分辨率设置为最小值(1).它在单元的终结块中重置.

VirtualTrees使用此提交更改了此行为:

2013-09-20 21:40:21: No longer changing timer resolution globally (#365)

但是IDE仍然使用一个非常旧的版本,甚至不使用UnicodeString而是使用WideString.因此自Delphi 2007以来它没有更新.

原文地址:https://www.jb51.cc/delphi/102369.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐