Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:大家有没有这样的情况···

1楼
mr725 发表于:2010/11/25 22:17:00
当狐表最小化后,你操作其他程序,十几分钟后半小时后再点击最小化的狐表(也就是最大化),反应特慢··· 要数秒钟才能使其最大化。 不知道大家有没有这种感觉,难道是我的配置太低了~~~
2楼
czy 发表于:2010/11/25 23:09:00
没碰到过。
3楼
程兴刚 发表于:2010/11/25 23:35:00

正常!

        在microsoft.NET开发环境中编写的代码可分为两类,受控代码和不受控代码,简单地讲,在.NET Framework中编写的受公共语言运行时(CLR)控制的代码称为受控代码,而不受CLR控制的代码称为不受控代码。

        受控代码享有许多由CLR提供的特性,其中包括自动内存管理和无用存储单元收集、跨语言的集成、语言无关性、丰富的异常处理功能、改进的安全性、调试和分析、版本控制以及部署等。在无用存储单元收集器(GC)的帮助下,CLR自动管理对象的生存期,当GC发现一个对象在一定时间内一直未被使用时,CLR将自动释放与此对象相关联的资源,并从内存中将此对象删除,当然也可以通过编程来控制对象的生存期。

        使用microsoft Visual Studio.NET既可以编写受控应用程序,也可以编写不受控应用程序,可以使用Visual C++ 7.0在Visual Studio.NET中编写不受控代码。Managed Extensions to C++(MC++)是编写C++受控代码的方式。使用C#和Visual Basic.NET编写的代码是受控代码。

 

        因此可以看出,狐表的开发编写的代码方式应该是受控代码,当程序一定时间不使用时,CLR自动释放了与其相关联的资源,并从内存中将其删除,当您再次使用(或激活)狐表时,这些被释放资源需要被重新加载,并将其加载到内存,这就相当于与重启狐表“差之毫厘”自然就会出现您的现象,其实大家都存在您的问题,只是电脑的配置差异,有的感觉不会太明显。

 

        上述理由也真实反映了狐表相对于Visual C++ 编写的程序,首次启动较慢(或者说狐表自身启动较慢)的主要原因,所以只要贺老师在优化了狐表的自身设计后,再出现慢可能也是他本人无能为力的了(自从我在GDI+图形程序设计中见到了受控代码和不受控代码的这一段解释后,就一直没有在狐表的启动问题上去一味地找狐表自身原因),其理由就勿用解释了。

        (也许我最后一段的分析不对,请别拍砖!)

[此贴子已经被作者于2010-11-25 23:35:51编辑过]
4楼
狐哥 发表于:2010/11/26 10:06:00

程兴刚 何许人也?

我在海边看浪花时,你却钻到海底看浪花生成原理?

厉害,佩服!

5楼
lxl 发表于:2010/11/26 20:00:00

呵呵,我说说我的理解:

 

垃圾回收器(GC)释放的对象是没办法恢复的。他只会释放肯定没用的垃圾数据。

foxtable的有用对象是不会被GC释放的。

GC释放的是没有引用的对象,比如各种事件处理函数内定义的变量、对象。比如打开的窗体,调用了Close方法之后

函数执行完之后,这些变量、对象就成了垃圾。GC会在需要的时候来打扫这些垃圾。

C/C++ 的垃圾对象必须程序员自己释放。

 

楼主这种现象应该是foxtable所占用的内存长时间不使用,被转移到虚拟内存(硬盘上)了,

当你再次点击foxtable的时候,又会把虚拟内存的内容转移到物理内存,物理内存的内容交换到虚拟内存(页交换)

一般只有物理内存不足的时候才会发生这种情况。

 

6楼
baoxyang 发表于:2010/11/26 22:35:00
以下是引用程兴刚在2010-11-25 23:35:00的发言:

正常!

        在microsoft.NET开发环境中编写的代码可分为两类,受控代码和不受控代码,简单地讲,在.NET Framework中编写的受公共语言运行时(CLR)控制的代码称为受控代码,而不受CLR控制的代码称为不受控代码。

        受控代码享有许多由CLR提供的特性,其中包括自动内存管理和无用存储单元收集、跨语言的集成、语言无关性、丰富的异常处理功能、改进的安全性、调试和分析、版本控制以及部署等。在无用存储单元收集器(GC)的帮助下,CLR自动管理对象的生存期,当GC发现一个对象在一定时间内一直未被使用时,CLR将自动释放与此对象相关联的资源,并从内存中将此对象删除,当然也可以通过编程来控制对象的生存期。

        使用microsoft Visual Studio.NET既可以编写受控应用程序,也可以编写不受控应用程序,可以使用Visual C++ 7.0在Visual Studio.NET中编写不受控代码。Managed Extensions to C++(MC++)是编写C++受控代码的方式。使用C#和Visual Basic.NET编写的代码是受控代码。

 

        因此可以看出,狐表的开发编写的代码方式应该是受控代码,当程序一定时间不使用时,CLR自动释放了与其相关联的资源,并从内存中将其删除,当您再次使用(或激活)狐表时,这些被释放资源需要被重新加载,并将其加载到内存,这就相当于与重启狐表“差之毫厘”自然就会出现您的现象,其实大家都存在您的问题,只是电脑的配置差异,有的感觉不会太明显。

 

        上述理由也真实反映了狐表相对于Visual C++ 编写的程序,首次启动较慢(或者说狐表自身启动较慢)的主要原因,所以只要贺老师在优化了狐表的自身设计后,再出现慢可能也是他本人无能为力的了(自从我在GDI+图形程序设计中见到了受控代码和不受控代码的这一段解释后,就一直没有在狐表的启动问题上去一味地找狐表自身原因),其理由就勿用解释了。

        (也许我最后一段的分析不对,请别拍砖!)

[此贴子已经被作者于2010-11-25 23:35:51编辑过]

 不知上述分析正确,但确实狐表运行方面有存在慢的原因,我发布的客户端,大部分用户都说打开项目后,其它操作速度受影响,狐表运行也慢。当然这个配置有关系统,我电脑配置算一般,但也感觉出来慢,只不过销微有点好转。

在这里,有问题想请教下,如果狐表发布的项目在远程访问数据库时,网速慢的时候,是否影响其它系统的操作速度?

7楼
狐狸爸爸 发表于:2010/11/27 9:16:00
以下是引用baoxyang在2010-11-26 22:35:00的发言:

 不知上述分析正确,但确实狐表运行方面有存在慢的原因,我发布的客户端,大部分用户都说打开项目后,其它操作速度受影响,狐表运行也慢。当然这个配置有关系统,我电脑配置算一般,但也感觉出来慢,只不过销微有点好转。

在这里,有问题想请教下,如果狐表发布的项目在远程访问数据库时,网速慢的时候,是否影响其它系统的操作速度?

 

1、应该是LXL版主的分析正确。

2、易表是个大型软件,对内存要求高,如果机器性能不好,启动后多少对于系统的运行有些影响。

3、网速慢,狐表在加载和保存上耗费的时间更多,自然会影响系统的速度,特别是那些单核cpu的电脑。

8楼
baoxyang 发表于:2010/11/27 9:33:00
以下是引用狐狸爸爸在2010-11-27 9:16:00的发言:

 

1、应该是LXL版主的分析正确。

2、易表是个大型软件,对内存要求高,如果机器性能不好,启动后多少对于系统的运行有些影响。

3、网速慢,狐表在加载和保存上耗费的时间更多,自然会影响系统的速度,特别是那些单核cpu的电脑。

第三种情况,网速慢时,针对部分单核CPU电脑有何建议提高整体运行速度呢?

共8 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.