2007年11月18日星期日

关于X

X不是叉,X是一套很久远的Window系统。自从我上次关注它以来(1998年左右在图书馆翻阅了一套关于X的书),它变化很大,都快把我搞糊涂了,这 两天在xorg的网站和Keith Packard 的网站上看了一些文章,勉勉强强把一些概念具体化了些,彼此间的关系稍微有点头绪,下一步要看看具体的代码,写写程序。

今天在看Composite的时候,做了个实验,不妨跟大家分享一下,也算给这个冷清的blog添点人气。

1. 在一台Thinkpad T61p笔记本上,没有安装ATI的驱动,X就用vesa跑的,开了composite manager(KDE自带的那个)。在term里用"ps -eo ’%mem command‘|grep X“来查看X的内存占用。结果发现当我最大化一个窗口的时候,X的占用会增加个300K左右,如果把这个窗口卷起,X的占用就减少300K,屡试不爽。

当我关掉composite manager之后,窗口的大小变化就不影响X的内存占用了。

这说明X用主机内存实现了off screen的pbuffer。

2. 然后回到家在一台使用Nvidia显卡,并且安装了nvidia驱动的台式机上,重复这个实验,发现窗口变大变小对X内存占用有影响,但是小很多, 100k的样子。按理说,家里显示器的分辨率是1680x1050,比笔记本的1450x1080要大不少,内存占用应该多一些才是。

这是不是可以说明,nvidia用显存(至少部分)实现了offscreen的pbuffer呢?

没有评论: