返回列表 发帖

tw2.0占用内存太大了,可以使用SetProcessWorkingSetSize函数来整理内存,内详

可以定时清理,有效!

procedure ClearMemory;
begin
  if Win32Platform=VER_PLATFORM_WIN32_NT then begin
     SetProcessWorkingSetSize(GetCurrentProcess,$FFFFFFFF,$FFFFFFFF);
  end;
end;

[ 本帖最后由 tomz1 于 2007-3-5 17:42 编辑 ]

原帖由 寄托天下 于 2007-3-7 12:06 发表
前一段不是快车闹得很厉害么?听说原来是使用了比特精灵的技术

给讲下!  好奇着呢 !

TOP

好用 高人佩服

TOP

原帖由 寄托天下 于 2007-3-7 12:06 发表
前一段不是快车闹得很厉害么?听说原来是使用了比特精灵的技术


发生什么事了 什么比特精灵的技术
深度xp6.2精简版 + ie8

TOP

前一段不是快车闹得很厉害么?听说原来是使用了比特精灵的技术
掉到地上的食物  3秒内还能吃
掉到泥巴里的食物  3秒内还能吃
掉到煤堆里的食物  3秒内还能吃
掉到砒霜里的食物  3秒内还能吃
掉到氰化钾里的食物  3秒内还能吃
掉到马桶里面的食物    任何時候都不能吃

TOP

支持20F和19F
没有必要这样做,有时间控件 一定会站CPU
像这样  即占了用户的内存,又占了CPU
频繁的强制的把内存  调入虚拟内存,  对硬盘来说还是伤害(和前期的BT差不多)

[ 本帖最后由 bshkl 于 2007-3-7 11:16 编辑 ]

TOP

SetProcessWorkingSetSize()这个函数的应用要小心。 它固然可以改变应用程序的workset,也就是物理内存的占有。但是这个也是有代价的。 如果系统中其它的程序不变,当然没有问题; 但系统是动态的,而且还有其它程序在运行。 如果系统内存富裕,那么是否改变workset,值得商榷; 但如果系统内存紧张,那么改变workset,使得TW内存消耗减小,但随着打开网页的增加,对内存的需求又会改变,那么反过了反而消耗系统的资源(内存重新的划分,及CPU耗时判断及修正内存分配,都是资源的消耗),因此对性能的影响是显而易见的,而且时间长了,内存占有怕有又要回升。

就Windows本身而言,窗口的最小化,或者闲置等,系统都会调用这个SetProcessWorkingSetSize()函数,如果应用程序内部在调用的话, 有可能导致内存调整频繁,从而更影响系统整体性能。

而所谓内存碎片,则是另一个大的议题,三言两语怕说不清楚; 但系统内存和进程内存空间,还有物理内存是有所区别的, 每个进程的虚拟内存映射到真实的物理内存上,是一个非线性的过程,根本不是一一对应的, 因此所谓碎片说,不正确;但强行分配一大块内存,迫使系统paging,重新分配内存,因此反而在一定程度上达到了内存“清理”的过程。

因此我的观点是, 除非特别应用的需要,值得一定程度上接管内存策略;其它的应用还是让OS的sub系统各司其职吧。


btw,楼主也用Delphi的吗?
If freedom is outlawed, only outlaws will have freedom.

TOP

不懂

TOP

不懂这个
CPU: AMD:turion X2 RM72
MEM:2047
OS: win7+XP+LD
世界之窗从1.RC6开始就在使用,最近被说成是金山枪手,郁闷啊。我使用金山毒霸,没有卡也没有慢,我使用金山WPS免费又好用,我使用网盾既无崩溃也无卡慢,我就从自己的感受说说罢

TOP

如果内存大,空出那么多也是浪费,还不如频繁读内存,而不是频繁读硬盘

TOP

试用了一下,占用内存少了,可虚拟内存多了!
加起来和没有修改的基本持平了!

TOP

只是看起来而已。实际上不是如此

TOP

返回列表