LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 902|回复: 2

gtk window上画满spinbutton或者combobox,显示会非常缓慢!

[复制链接]
发表于 2009-9-29 09:18:55 | 显示全部楼层 |阅读模式
有一次应用,我在gtk window上放了个fixed,然后再fixed上放入28个spinbutton,显示超缓慢,估计要1~2s所有spinbutton才跳出来。

还有一次应用,在fixed上放了80个combobox,也是显示超慢。显示的时候整个window先跳出来,fixed上的entry也同时显示出来,就是这80个combobox,要等2~3s才显示出来(可能机器好的话会快点,但是和window还有entry还是有时间差的,个人认为!)

我是用过glade/libglade来做的。用户体验超不爽。

是不是gtk的显示有问题啊?
发表于 2009-9-29 09:28:08 | 显示全部楼层
如果是x11后端,每个combbox和spinbutton都是一个gdkwindow,每个gdkwindow都对应一个X native window,这样的开销有点大。
如果要想同时显示的话,可以用gtk_widget_draw它是同步的调用,应用会好一些。
如果是directfb的话,这种情况应该会快,因为每个子的gdkwindow在dfb实现都只是sub-surface而已。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-30 11:16:31 | 显示全部楼层
o,明白了。
有时间试一下qt-x11,不知道qt下combobox是怎么封装的,是不是也是对应一个X native window。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表