LinuxSir.cn,穿越时空的Linuxsir!

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

關於X server and framebuffer 的觀念請教.....

[复制链接]
发表于 2009-1-9 15:08:42 | 显示全部楼层 |阅读模式
關於X server and framebuffer 的觀念請教.....

今天我滑鼠向右移了 此時X-server偵測到滑鼠的移動

X-server 向 X-client 傳送event 說我滑鼠移動了 快幫我計算

此時X-clinet 又傳給 window manager data 再給予 X clinet 回覆

然後X-client 回傳給 X-server 繪圖

(1)  ex: 滑鼠移動--> x-server偵測 --> x-client and wm 計算 --> x-server繪圖  是這樣嗎?

但是我google了一些文章

framebuffer 是將 是把螢幕上的每個點映射成一段線性memory

所以直接改memory 即可達到改變螢幕的效果

他又說了framebuffer 比 x-server 更低階 是這樣嗎

還有假如我今天是加入 framebuffer 那上面那個執行路徑會變成

ex:滑鼠移動-->x-server偵測-->x-client and wm 計算 --> framebuffer 繪圖

(2) 所以就跳過最後面的那個 x-server繪圖 是這樣子嗎??


(3) 不過好像某些GUI介面已經直接拿掉 X-server 這樣做是可行的嗎??

(4) 那是不是假如我有裝framebufer driver 就可以不用裝X-server了?

以上四個問題 謝謝
发表于 2009-1-9 16:42:21 | 显示全部楼层
反正两者独立,互不影响,google 的android就是framebuffer

framebuffer理论上应该比X更加高效
回复 支持 反对

使用道具 举报

发表于 2009-1-9 21:26:01 | 显示全部楼层
X 跟 FrameBuffer 是两种不同的应用,至於是不是有 FB 就不用 X 了?可以说是,也可以说不是,例如:

http://www.linuxsir.cn/bbs/thread245239.html

但没有 X 的世界也会令很多软件无法运作,要看阁下系统的用途了
回复 支持 反对

使用道具 举报

发表于 2009-1-10 01:16:18 | 显示全部楼层
Post by rz600000;1936221
關於X server and framebuffer 的觀念請教.....

今天我滑鼠向右移了 此時X-server偵測到滑鼠的移動

X-server 向 X-client 傳送event 說我滑鼠移動了 快幫我計算

此時X-clinet 又傳給 window manager data 再給予 X clinet 回覆

然後X-client 回傳給 X-server 繪圖

(1)  ex: 滑鼠移動--> x-server偵測 --> x-client and wm 計算 --> x-server繪圖  是這樣嗎?

但是我google了一些文章

framebuffer 是將 是把螢幕上的每個點映射成一段線性memory

所以直接改memory 即可達到改變螢幕的效果

他又說了framebuffer 比 x-server 更低階 是這樣嗎

還有假如我今天是加入 framebuffer 那上面那個執行路徑會變成

ex:滑鼠移動-->x-server偵測-->x-client and wm 計算 --> framebuffer 繪圖

(2) 所以就跳過最後面的那個 x-server繪圖 是這樣子嗎??


(3) 不過好像某些GUI介面已經直接拿掉 X-server 這樣做是可行的嗎??

(4) 那是不是假如我有裝framebufer driver 就可以不用裝X-server了?

以上四個問題 謝謝


刚好最近看了倪继利 《Qt及Linux操作系统窗口设计》,其中第一章就讲到X window。

就按我的理解来回答这4个问题:
1).framebuffer的作用的确是将每一点的映射到地址空间。但x-client 经过计算以后的绘图怎么直接给framebuffer呢?framebuffer并不理解X协议,X-client必须经过X协议传输到X-server程序,再由X-Server操作Framebuffer绘图。这就是为什么Framebuffer比X-Server低层。

2).已经在上面回答了。

3).个人认为可行。但这样子的话就已经不是X了,X最大的特点就是分开Client和Server,这样做的好处是非常多,但我认为唯一的缺点就是,Client和Server基于Tcp/IP或者IPC通讯的,效率比整合在一起的要低。

4).如果你已经明白framebuffer和X-Server的关系,这个问题已经很清楚了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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