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

Joe*_*Joe 8 ide delphi delphi-2010

我注意到每当我打开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 
Run Code Online (Sandbox Code Playgroud)

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

And*_*den 14

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

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

2013-09-20 21:40:21: No longer changing timer resolution globally (#365)
Run Code Online (Sandbox Code Playgroud)

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