Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1157193
  • 博文数量: 309
  • 博客积分: 6093
  • 博客等级: 准将
  • 技术积分: 3038
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-03 17:14
个人简介

linux学习记录

文章分类

全部博文(309)

文章存档

2014年(2)

2012年(37)

2011年(41)

2010年(87)

2009年(54)

2008年(88)

分类:

2010-09-27 17:12:41

NSHAES5.0界面性能提高修改方法

NeoShineHA5.0企业版一期中,如果界面打开时间比较长的话会造成刷新速度比较慢,同时在界面刷新时,占用的CPU和内存会很高且持续时间比较长。因此,必须提高界面刷新的速度,提高性能。

首先去除程序中的无关代码。去除MainTree类中update函数的如下两段代码:

self.always_expand = 1

if True: #current_page == 0 or current_page == 1 :

self.widget.get_column(1).set_visible(True)

self.always_expand = self.widget.connect(\

'row-collapsed', always_expand, True)

self.record_expand = self.widget.connect(\

'row-expanded', record_expand, True)

model_new = self.widget.get_model()

self.fake_collapsed = model_new.connect(\

'row-inserted', fake_collapsed, self.widget)

if True: #current_page == 0 or current_page == 1:

global treeview_status

global last_page

for path in treeview_status:

if treeview_status[path] == True:

self.widget.expand_row(path, False)

elif treeview_status[path] == False:

self.widget.collapse_row(path)

去除MainWindow__init__(self)函数的如下两段代码:

self.vadjl = maintree_sw.get_vadjustment()

self.vadjl.connect ('value_changed', self.syncnodes, None)

self.vadjr = mainview_sw.get_vadjustment()

self.vadjr.connect ('value_changed', self.syncrcs, None)

其次,修改程序的结构。添加一个新类TableView,通过TableView类代替原函数build_nodes_table来显示界面右侧的资源与节点状态。在界面刚打开时进行测试,刷新时修改后的程序比修改前速度大概快0.5秒钟左右。

MainWindow类的select_view函数中,去除如下代码:

global last_iter

widget_removed = 0

self.build_nodes_table()

self.syncnodes(self.vadjl, None)

同时添加如下代码:

for child in self.mainview_sw.get_children() :

self.mainview_sw.remove(child)

tableview = TableView()

self.mainview_sw.add_with_viewport(tableview.widget)

阅读(759) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~