zhy19806
30948
|
2007/8/22 10:52:54 |
我在D6中用了之后,在关闭时要很长时间,而且弹一个内存泄漏的窗口。打开程序也很慢。我的程序使用的是运行时包,就是不弹出内存泄漏的窗口,也没有报告,DEBUG模式是打开的 |
riverqh
17912
|
2005/9/17 11:41:25 |
D7本身的VCL就有几处存在内存泄漏 |
andykwok
17895
|
2005/9/16 15:20:44 |
﹕)不錯﹐是快了一些。內存大的人﹐應該感受不到。但我在用筆記本電腦﹐內存內有256﹐情況就不一樣了。在打開大PROJECT的時候﹐以前的CTRL+點擊不能跳轉(可能是超時)的問題﹐在使用后﹐竟正常了。 支持﹗ |
zbird
17594
|
2005/9/6 10:32:26 |
我测试了一下,没看到快起来。 |
chenjiwl
17593
|
2005/9/6 9:47:22 |
偶在BCB下已经试验通过,使用IDE版的DLL库确实有内存存取异常的问题,BCB程序下安装要做一些修改。好像没有添加任何代码的程序都有内存泄漏!! |
lovezyp
17588
|
2005/9/6 9:12:06 |
其实硬件上去了,启动就不会慢,我原来的533MHz+128MB的机器打开d7需要30秒,现在 1500MHz+256MB的机器打开只用7秒,我在别人家看3000MHz+512MB的机器打开也就5秒钟 |
libra01
17549
|
2005/9/4 12:51:52 |
to tintin1943
http://www.2ccc.com/article.asp?articleid=2499 |
tintin1943
17548
|
2005/9/4 12:36:24 |
在DELPHI2005(SP1+SP2+SP3)下覆盖BorlndMm.dll,启动D2005,有错误提示:access violation at address ....in rtl90.bpl。class 'TApplication',already if class map 。但是同样问题,在D7下没有异常,IDE确实快了一点。请问一下,在DELPHI2005下如何解决。 |
dance_code
17523
|
2005/9/3 2:17:41 |
太好了!我差点就因为这个速度问题把XP干掉了.谢谢! |
senfore
17514
|
2005/9/2 19:09:20 |
恩,在D7里用了一下。。。可能我安装的控件太多了。。没有感觉IDE启动加速了多少
在project中加入了fastmm,产生的应用程序在退出的时候,报了一堆内存泄漏。。郁闷,都不知道到底是哪些造成的。。。我还要查找一下才能知道。。
按照上面提到的。。在FastMM4Options.inc最后添加了以下语句,在程序退出的时候不再报内存泄漏的信息了。 {$define Release} {$ifdef Release}
{Specify the options you use for release versions below}
{$undef FullDebugMode}
{$undef CheckHeapForCorruption}
{$define ASMVersion}
{$undef EnableMemoryLeakReporting}
{$undef UseOutputDebugString}
{$undef LogErrorsToFile}
{$undef LogMemoryLeakDetailToFile}
{$else}
{Specify the options you use for debugging below}
{$define FullDebugMode}
{$define EnableMemoryLeakReporting}
{$define UseOutputDebugString}
{$endif}
其它的还需要长时间的应用才能发现。。不过我是决定用了。。 |
libra01
17513
|
2005/9/2 17:35:19 |
Borland决定在Delphi 2006里面采用这个FASTMM。你说稳定不稳定呢? |
ljf
17512
|
2005/9/2 16:07:07 |
用了后稳不稳定呀?谁用的时间长,说说心得。 |
libra01
17465
|
2005/9/1 22:23:33 |
cnzjw: D7,D6,都是没问题的。 D2005打上sp3后有问题,就是退出后有个bds.exe总是留在内存里面。不会自动关闭。 所以有个非官方的补丁。就是盒子上的这个 地址: 、http://www.2ccc.com/article.asp?articleid=2499 |
cnzjw
17464
|
2005/9/1 22:06:12 |
在delphi7下面可以用吗? |
12321
17461
|
2005/9/1 20:54:39 |
http://spaces.msn.com/members/DXRW/ FastMM使用手记 |
libra01
17447
|
2005/9/1 15:55:05 |
fastmm4既然可以显示,你可以找到显示的语句,注释掉,就OK了。 |
szyourname
17446
|
2005/9/1 15:51:44 |
测试程序已经收到,谢谢libra01了!
前面提到的TMargins/TCriticalSection/TColumnPartDisplay泄漏,我已经把TMargins与TColumnPartDisplay解决掉了。 但TCriticalSection是indy9中,被注明不应该释放: C:\Program Files\Borland\BDS\3.0\source\Win32\Indy9\IdComponent.pas ...... initialization GStackCriticalSection := TCriticalSection.Create; finalization // Dont Free. If shutdown is from another Init section, it can cause GPF when stack // tries to access it. App will kill it off anyways, so just let it leak //FreeAndNil(GStackCriticalSection); end. 源文件中说了:就让它泄漏。 有没有办法让FastMM4不在程序退出时提示内存泄漏呢?
FastMM4的内存泄漏检测的确是非常棒的功能! |
szyourname
17439
|
2005/9/1 14:25:40 |
多谢libra01 17435 指点。 能不能把你的这个小测试程序送我一份呢,我的邮箱:h_visli@hotmail.com |
libra01
17435
|
2005/9/1 12:04:00 |
szyourname你应该检查你的项目中,TMargins , TCriticalSection , TColumnPartDisplay 的对象是否存在没有释放的情况。 |
libra01
17434
|
2005/9/1 11:58:29 |
szyourname ,你的这种情况我也碰到过。 这说明你的项目存在内存泄漏,也就是说你的第三方组件TMargins/TCriticalSection/TColumnPartDisplay存在分配了内存,却没有及时free的情况。造成了无法再使用的内存泄漏。请检查你的组件或不用它们。
关于速度的提高,如果替换了BorlndMm.dll,IDE速度确实变快了,编译速度也有改进,特别是用了DevExpress的童子一定会发现编译速度快多了。
在项目中的使用也会加快,我有一个小的测试程序,测试分配及回收内存块的速度,以及在多线程的环境,还有DLL调用内存分配方面的性能,测试表达速度还是比较快的。至少比默认的BorlndMm.dll要快。 |