Warum erhöht die Delphi-ID die Windows-Plattform-Timer-Auflösung?

8

Ich habe festgestellt, dass meine Akkulaufzeit auf meinem Laptop deutlich schlechter ist, wenn ich die Delphi 2010-IDE geöffnet habe. Wenn ich powercfg / Energie trace, zeigt es (unter anderem), dass bds.exe eine kleinere Timer-Auflösung als der Standardwert von 15,6 ms angefordert hat.

%Vor%

Hat Delphi einen guten Grund, die Plattform-Timer-Auflösung zu ändern? Haben die neuesten Versionen der IDE das gleiche Verhalten?

    
Joe 01.09.2015, 17:32
quelle

1 Antwort

14

Die IDE verwendet eine sehr alte Version von VirtualTrees.pas für den ProjectManager, StructureView und Log-Window. Diese Version ruft timeBeginPeriod in ihrer Funktion InitializeGlobalStructures auf und setzt die Timer-Auflösung auf das Minimum (1). Es wird im Block finalization der Einheit zurückgesetzt.

VirtualTrees hat dieses Verhalten mit diesem Commit geändert:

%Vor%

Aber die IDE verwendet immer noch eine sehr alte Version, die nicht einmal UnicodeString sondern WideString verwendet. Daher wurde es seit Delphi 2007 nicht mehr aktualisiert.

    
Andreas Hausladen 01.09.2015, 19:39
quelle

Tags und Links