`
lwz7512
  • 浏览: 331832 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Openlaszlo应用初始化性能优化过程

阅读更多
在开发openlaszlo应用过程中,往往考虑的是功能是否能正常实现,除了遵守openlaszlo开发规范外,对性能方面考虑的比较少,但是随着应用规模的增加,到了后期测试的时候就会发现性能问题已经很严重了,这时要对系统进行性能调整,这是openlaszlo开发过程中不可缺少的一部分。

下面以笔者开发的一个配置工具为例说明openlaslzo性能调优过程:
(测试环境:赛扬2.42/1.5G RAM/winxp sp2/IE7)

系统未优化前,初始化时间6.37秒(含debug窗口),主程序总共有10个对话框窗口(modaldialog),代码总行数近千行。

第一阶段:初步优化

1。将所有的modaldialog设置其initstage="defer"
初步优化后初始化时间为2秒

2。当主题数据取来后,进行初始化themetreedialog:
canvas.themetreedialog.completeInstantiation();

3。在所有操作按钮上添加对应的窗口初始化声明:
canvas.adddirdialog.completeInstantiation();
...
4。窗口内打开过滤器设定窗口时,进行初始化:
canvas.addconditiondialog.completeInstantiation();

5。单击表格行打开修改过滤窗口时,进行初始化:
canvas.filterModWin.completeInstantiation();

优化结果:
系统在2.09秒之内初始化完成(含debug窗口),不包括debug窗口的初始化时间与包括时非常接近,但是包含debug的swf文件尺寸要大142K。

所有的窗口延迟初始化设置完成,进行测试发现,当对话框内容较少时,初始化过程非常短暂,但是过滤器设定窗口的初始化过程稍微长点在1秒左右,但是初始化一次以后,再打开就非常快,由此可见openlaszlo的初始化过程只进行一次,不会重复进行。
此外,这种利用开启窗口的前夕来初始化对话框的方法还有局限性,如果窗口内容比较多,那么初始话
过程足以造成相应迟钝,造成体验不好,还应该进行继续探索。

第二阶段:深度优化

经过仔细分析发现,在获取远程数据过程中有少许间隙时间,可以利用这个间隙来初始化比较大的modaldialog,选择其中一个只获取一次数据的dataset来初始化过滤器窗口,经过反复测量初始化时间,认定该步优化后的应用初始化时间与上一个过程时间一致。
去掉原来加在按钮上的初始化过滤器窗口声明,完成整个优化过程。

调整过程原则总结:

1。当前不显示的窗口不在系统初始化时生成
2。只在需要的时候才生成窗口或者视图
3。充分利用事件进行completeInstantiation
4。充分利用系统闲暇时间
分享到:
评论
1 楼 flydeer2003 2007-03-31  
向LZ学习了 最近换了工作 现在要用的正是OpenLaszlo 我现在还是个新手 希望以后能和LZ多多交流啊

相关推荐

    Applet & Openlaszlo

    1. **嵌入和初始化**:OpenLaszlo的应用可以通过Applet来嵌入到HTML页面中,Applet作为两者之间的桥梁,负责初始化和加载OpenLaszlo的SWF(Flash)或HTML5应用。 2. **数据交换**:Applet可以与服务器进行通信,...

    OpenLaszlo-SAMSIG-05.ppt

    ### OpenLaszlo:领先的开源富互联网应用开发平台 #### 一、项目概述与历史 OpenLaszlo 是一个开放源代码平台,...通过不断的技术创新和社区合作,OpenLaszlo 正逐步成为开发高质量、高性能富互联网应用的理想选择。

    openlaszlo本地帮助文档

    OpenLaszlo是一种开源的 Rich Internet Application (RIA) 开发框架,它提供了一种高度灵活的方式来创建交互式的、富媒体的Web应用程序。相比Adobe Flex,OpenLaszlo在某些方面展现了更多的灵活性,这使得开发者可以...

    OpenLaszlo —— 一个快速构建和部署富 Internet 应用程序的平台

    OpenLaszlo —— 一个快速构建和部署富 Internet 应用程序的平台 -- Linux,C,C++,Java,Ajax,XML,perl,php,python,ruby,MySQL,Gnome,KDE,Qt,Gtk,bash,shell,嵌入式,网络,信息安全,操作系统,数据结构,编译原理

    openlaszlo-4.9.0-windows-dev-install.part2.rar

    openlaszlo应用程序开发使用的是基于XML的LZX语言,它可以被编译成DHMTL,SWF等格式。 openlaszlo可作为openmeetings客户端的编译。 因安装程序90+MB,所以切分为两个压缩包。 openlaszlo-4.9.0-windows-dev-install....

    openlaszlo-4.9.0-windows-dev-install.part1.rar

    openlaszlo应用程序开发使用的是基于XML的LZX语言,它可以被编译成DHMTL,SWF等格式。 openlaszlo可作为openmeetings客户端的编译。 因安装程序90+MB,所以切分为两个压缩包。 openlaszlo-4.9.0-windows-dev-install....

    openlaszlo-4.7.3-windows-dev-install (1).exe

    openlaszlo应用程序开发使用的是基于XML的LZX语言,它可以被编译成DHMTL,SWF等格式。 是openmeetings视频会议系统的默认开发编译工具。

    openlaszlo计算器

    这是用Openlaszlo开发的计算器程序,可以实现基本的计算操作。 我是刚学openlaszlo,欢迎朋友们提出宝贵意见!

    Laszlo技术手册续

    3. **应用目录结构**:将OpenLaszlo Server的my-apps目录拷贝到Struts应用中,用于存放LZX文件。 4. **定义Action**:在struts-config.xml中添加新的Action定义,例如`/my-apps/welcomeAction`,并指定类型为`...

    OpenLaszlo-开源

    在OpenLaszlo中,应用程序的编译过程非常灵活。它可以编译为Flash SWF文件,利用Adobe Flash Player运行时环境,为老版本的浏览器提供广泛的兼容性。同时,由于HTML5的崛起,OpenLaszlo也支持编译为JavaScript和HTML...

    论文研究-使用OpenLaszlo构建J2EE中的RIA程序 .pdf

    使用OpenLaszlo构建J2EE中的RIA程序,高春阳,龚群侃,当前,Web 应用程序就要进入了一个新的时期,富互联网客户端(RIA ,Rich Internet Application) 以其极大地用户交互性、优秀的外观设计、良好��

    huoyan.zip_火焰识别c++

    在IT行业中,C++是一种强大的、面向对象的编程语言,被广泛用于开发高性能的应用程序,尤其是在游戏开发、图形渲染和科学计算等领域。标题中的“huoyan.zip_火焰识别c++”表明这是一个与C++相关的项目,特别是涉及到...

    Openlaslzo+jsf

    - **AxisServlet**:处理SOAP请求,使得OpenLaszlo应用能够调用远程服务。 #### 四、实现Struts与OpenLaszlo的协同工作 为了使Struts框架能够与OpenLaszlo无缝集成,需要完成以下几步配置: - 确保OpenLaszlo的...

    Laszlo技术手册

    手册详尽地介绍了Laszlo的核心概念、安装配置、LZX语言、事件处理、动态效果、约束机制以及OpenLaszlo的开发实践,旨在帮助读者快速掌握Laszlo并应用于Web工程。 Laszlo是一种开源的富互联网应用程序(RIA)开发...

    Laszlo与web工程

    【Laszlo 与 Web 应用】 Laszlo 是一个开源项目,它遵循 GNU General Public License (GPL) 协议。该项目的核心是 LZX 文件,这...在实际开发中,可以根据具体需求调整配置,优化性能,以及解决可能出现的兼容性问题。

    geoar:WMSWFS OpenLaszlo 客户端

    Geoar - WMS/WFS OpenLaszlo 客户端GeoAr 是 WMS 和 WFS 服务的富客户端实现。 它是在 LZX (OpenLaszlo) 上开发的,因此它向用户的浏览器提供 dhtml 或 flash,从而提供在它们之间进行选择的机会,但只有一个服务器...

    LaszloMathML-开源

    此外,由于其开源特性,开发者可以对组件进行自定义修改,以满足特定需求或优化性能。 4. **易用性**:通过简单的API接口,开发者可以轻松地在OpenLaszlo应用中插入和控制MathML元素,无需深入理解MathML的底层细节...

    OpenMeeting二次开发

    本文将深入探讨OpenMeeting的二次开发实践,包括其核心功能的定制化、界面优化以及性能提升等方面,旨在帮助开发者更好地理解和掌握OpenMeeting的二次开发技巧。 #### 开源项目的魅力与挑战 开源项目如OpenMeeting...

Global site tag (gtag.js) - Google Analytics