Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi IDE导致CPU过热_Delphi - Fatal编程技术网

Delphi IDE导致CPU过热

Delphi IDE导致CPU过热,delphi,Delphi,我正在使用Delphi7,但我已经试用了Delphi2005-2010版本 在所有这些新版本中,当DelphiIDE出现在屏幕上时,我的CPU利用率是50%(一个内核是100%,另一个是“放松的”)。当IDE最小化时不会发生这种情况。我的电脑因此过热 有什么线索可以解释为什么会发生这种情况吗?看起来如果我想升级到Delphi 2010,我需要先升级我的冷却系统。我对此有点懒惰,尤其是我想卸载我的电脑并买一台新的(在接下来的6个月内)-可能我还需要购买Win7许可证 更新 Delphi XE和X

我正在使用Delphi7,但我已经试用了Delphi2005-2010版本

在所有这些新版本中,当DelphiIDE出现在屏幕上时,我的CPU利用率是50%(一个内核是100%,另一个是“放松的”)。当IDE最小化时不会发生这种情况。我的电脑因此过热

有什么线索可以解释为什么会发生这种情况吗?看起来如果我想升级到Delphi 2010,我需要先升级我的冷却系统。我对此有点懒惰,尤其是我想卸载我的电脑并买一台新的(在接下来的6个月内)-可能我还需要购买Win7许可证


更新
Delphi XE和XE7也受到此缺陷的困扰



下面是解决方案

这是代码洞察或其他IDE功能,在后台编译东西。D2005进入“僵尸”模式半分钟左右并淹没我的一个核心是很正常的。不过2010年的情况似乎要好得多。尝试关闭IDE小控件(代码完成、代码参数、tootip、错误洞察等),看看这是否能让事情平静下来。如果是这样的话,那么一次只打开一个,看看你发现了什么。

我想第一步应该是尝试确定德尔福的哪个部分是100%。它是主线程还是次线程?如果您设法确定哪个线程占用了所有的CPU资源,我想您可以调试IDE(从第二个delphi实例连接到进程,可以是D7,这样您就不会有两个应用程序充斥您的CPU),然后进入“有问题的”线程。如果运气好的话,执行的代码可能会有一些调试信息,指示正在执行的操作

如果安装了任何第三方/家用组件,请尝试将其卸下

如前所述,尝试禁用代码洞察

尝试禁用任何正在运行的防病毒软件。(可能是某种活锁)


这就是我现在能想到的全部…

解决方案

100%的CPU利用率问题是由Delphi按钮(在Delphi的工具栏中)引起的
我喜欢在新的全屏和旧的类似Delphi-7的IDE之间切换。有一个名为“停靠编辑窗口”的按钮可以执行此操作。每次安装新版本的Delphi时,我都会配置IDE的外观,并将该按钮放在工具栏上。卸下按钮后,一切正常

最后,不要将此按钮放在IDE工具栏上


更新2010
我在IDE中打开DPR文件时发现了类似的问题。 不过,没有解决办法

2011年更新
另一个类似的Delphi bug(由@Warren P提供的解决方案)

2015年更新

我发现了导致上述问题的按钮(编辑DPR文件时CPU利用率为100%),它是“使用单元”按钮。

。这是Delphi操作的工作方式。一些“按钮”使用动作来监视事情,如果空闲事件上的动作执行一些代码,这会持续发生,占用CPU,就像在无限循环中执行代码一样。。除了像你说的那样,别用那个按钮,你什么都做不了。

你有什么类型的CPU?也许你的电脑很烂。我想警告你,如果你的电脑不能支持100%的负载而不过热,那么你的电脑就不是很可靠,而你的电脑只有50%!导致这种情况的常见问题是:系统中的热糊和灰尘不足或过多。我建议你试着用压缩空气去除灰尘,如果仍然太热,那么就更换热糊,我建议OCZ冷冻。它的温度是多少,处理器是什么?不管“过热”是指烟、火还是“听起来像喷气式飞机起飞”,这里的问题不是冷却、宠物毛发等。。DelphiIDE不应在较长时间内使用100%的CPU。所以,让我们帮助那个家伙找出问题所在。@Salet:要找出你的CPU型号,请按Win+Pause。OP的结论在很多层面上都很可怕……我认为在得出结论之前找出他的处理器是很重要的。如果他有一个奔腾4 1.4GHZ,那就可以解释了……或者是一个时钟频率为600 MHz的赛扬。@Andreas Rejbrand他说,
内核
,这意味着他要么是将奔腾4中的逻辑内核与超线程混合在一起,要么实际上是一个双核。“所以它不可能是赛扬。”乔纳森:我没看到。。。很抱歉六羟甲基三聚氰胺六甲醚。。。我想这个评论是为了Hola的回答^ ^我想确认一下,我在Delphi 2007中也有这个问题,当我从工具栏上移除按钮时,问题就消失了。