2015-09-01 14 views
8

Delphi 2010 ide açık olduğunda, pil ömrümün dizüstü bilgisayarımda önemli ölçüde daha kötü olduğunu fark ettim. Powercfg/enerji izlemesi yaptığımda, bds.exe'nin 15.6 ms'lik varsayılan değerden daha küçük bir zamanlayıcı çözünürlüğü talep ettiğini (diğer şeylerin yanı sıra) gösterir.delphi ide neden windows platform zamanlayıcı çözünürlüğünü artırıyor?

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, platform zamanlayıcı çözünürlüğünü değiştirmek için iyi bir neden var mı? Ayrıca, ide'nin son sürümleri de aynı davranışı gösterir mi?

+0

XE7 ile bunu görmüyorum. IDE ile geliştirilen uygulamaların aynı davranışı sergiledikleri anlamına gelmedikçe, yazılımın 5 yıllık bir sürümü ile nasıl bir sorun olduğunu göremiyorum. Delphi gibi bir şeyle ilgili sorun, bir üçüncü taraf kontrolü tarafından yapılabilmesidir. Her şey değişmekte olan IDE değil. – Graymatter

+0

@Graymatter Bunu XE7 için görüyorum. Firefox da 1 ms istiyor, farkettim. Nedeni bekliyorum, 'Sleep' ms doğru yapmak. –

+0

@J Tamam, şimdi anladım. İlk defa nasıl kaçırdığımı bilmiyorum. Hala bunun çok küçük bir sorun olduğunu düşünüyorum. Geliştirme araçları normal uygulamalarla aynı değildir. Hata ayıklayıcılar, profil oluşturma, vb. Hepsi bir kenara biraz dururlar. – Graymatter

cevap

14

IDE, ProjectManager, StructureView ve Log-Window için çok eski bir VirtualTrees.pas sürümünü kullanır. Bu sürüm, işlevinde timeBeginPeriod işlevini çağırır ve zamanlayıcı çözünürlüğünü minimum (1) olarak ayarlar. Ünitenin finalization blokunda sıfırlanır.

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

Ama IDE bile hala UnicodeString ama WideString kullanmayan bir çok eski bir sürümünü kullanıyor:

VirtualTrees bu taahhüt ile bu davranışı değişti. Bu yüzden Delphi 2007'den beri güncellenmedi.

+0

Teşekkürler Andreas! Sanırım IDE açıldıktan sonra zamanlayıcıyı tekrar ayarlarsam biraz daha iyi bir pil ömrü elde edebilirim – Joe

+0

Sanal Ağaç Görünümü'nün zamanlayıcı çözünürlüğünü değiştirmesinin nedenini biliyor musunuz? IDE çalışırken ya da Sanal Ağaç Görünümleri üzerinde olumsuz etkileri olabilir iken sadece geri değiştirmek için güvenli olur muydu? – dummzeuch

+0

@dummzeuch Kod, timeGetTime için yararlı bir zamanlayıcı çözünürlüğü belirtin. Ancak sadece orijinal yazar (Mike Lischke) buna cevap verebilir. –

İlgili konular