Foxtable(狐表)用户栏目专家坐堂 → 窗口打开速度


  共有2534人关注过本帖树形打印复制链接

主题:窗口打开速度

帅哥哟,离线,有人找我吗?
douglas738888
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1174 积分:8782 威望:0 精华:0 注册:2012/4/18 16:28:00
窗口打开速度  发帖心情 Post By:2016/9/13 11:08:00 [只看该作者]

请教老师,比如在窗口AFTERLOAD 写入代码有1000-2000行,会影响窗口打开速度,打开窗口的时间有时10秒左右,有时需要20多秒

 

               另外,在BUTTON的CLICK中写入代码多达400行,是否也影响打开窗口速度,以下代码是否有更简洁的写法

比如:

'--------------------------------SQL Table1 项目信息跟单 加载 
Dim sd As WinForm.ComboBox
sd = e.Form.Controls("ComboBox3")
If sd.Value Is Nothing  Then
   Messagebox.Show("请先输入 年份","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
Dim Cb0 As String = sd.Value
Dim y As Integer = Cb0
Dim dt1 As New Date(y, 1, 1)
Dim dt2 As New Date(y, 12, 31)
Dim Filter As String = "1=2"
Filter = "拜访日期 >= #" & dt1 & "# And 拜访日期 <= #" & dt2 & "#"     'SQL Table1 信息动态跟单 
DataTables("流程监控_Table1").LoadFilter = Filter '设置加载条件
DataTables("流程监控_Table1").Load() '加载数据

'------------------------------------------------------------------------ SQL Table2 信息初步甄审 
Dim Filter1 As String
Filter1 = "信息甄批_初审日期 >= #" & dt1 & "# And 信息甄批_初审日期 <= #" & dt2 & "#"    
DataTables("流程监控_Table2").LoadFilter = Filter1 '设置加载条件
DataTables("流程监控_Table2").Load() '加载数据

...

...

...

 另外,如果电脑打开,启动已发布项目需要30秒打开,然后关闭项目,再启动已发布项目只需要19秒;如果项目打开后第一次使用某窗口需要25秒打开,关闭该窗口,再次打开仅需要9秒,是什么原因。

[此贴子已经被作者于2016/9/13 11:32:36编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/13 11:38:00 [只看该作者]

速度和代码的长度没有直接关系,而是跟代码做了什么有关系。

如果加载的数据比较多,就做分页加载

数据库第一次查询是会慢,第二次查询如果sql相同会快很多,这是数据库的处理方式

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/9/13 11:39:00 [只看该作者]

代码的数量不是最关键的,代码的运行效率才是最挂你就按的。

可以用这个方法,分析一下时间到底去哪儿啦:

http://www.foxtable.com/webhelp/scr/2226.htm

找出了问题,才能有针对行地改进。



 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2016/9/13 11:59:00 [只看该作者]

老大,我一直用并列窗口,我发现控件改版后,窗口打开的速度比以前慢,而且觉得打开窗口的时候有点闪.

 回到顶部
帅哥哟,离线,有人找我吗?
douglas738888
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1174 积分:8782 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2016/9/13 12:21:00 [只看该作者]

老师,我把  Dim st As Date = Date.Now  放在AFTERLOAD 第一行 把MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒") '计算并显示执行代码所花费的秒数放在最后一行进行测试,耗时才0.06秒,打开窗口可需要15秒,其他代码要打开窗口后才执行,其他代码的测试在触发时也在0秒以内,

 

是否是我的测试方法不对?

 

怎样只测试窗口打开耗时

 

是否是窗口的控件越多,打开窗口的速度就越慢?

[此贴子已经被作者于2016/9/13 13:11:00编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/13 14:22:00 [只看该作者]

控件越多,打开窗口的速度当然就越慢

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/9/13 14:23:00 [只看该作者]

也可能是数据加载问题。

 

是互联网,还是局域网?

加载了多少数据?

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/13 14:26:00 [只看该作者]

测试窗口打开速度应该在外层测试
 Dim st As Date = Date.Now
forms(XXX).open
MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/13 14:27:00 [只看该作者]

回复4楼,没有实际项目做对比,所以速度这个慢按没法测试。至于闪偶尔时候是会有这种情况,特别是内嵌窗口的情况下

 回到顶部
帅哥哟,离线,有人找我吗?
douglas738888
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1174 积分:8782 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2016/9/13 15:02:00 [只看该作者]

狐爸,蓝老师,我做的是个动态流程可视化窗口,大量使用了 图片控件,是否是这个原因导致窗口开启速度慢,另外,蓝老师给的代码写在哪里测试

里面用了50多个SQL表 ,目前是单机测试,没有进入服务器,初设都不加载数据,只有选择年份后才开始加载数据

 

 


图片点击可在新窗口打开查看此主题相关图片如下:未标题-111.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/9/13 15:10:04编辑过]

 回到顶部
总数 11 1 2 下一页