为什么说基于UI的软件都必须, 必将放弃Linux - 回复 @eechen :

宏哥 发布于 2012/12/22 19:39
阅读 3K+
收藏 0

我先上一个图:

这个窗口很漂亮, 只用一行代码. 窗口的边框有半透明的效果. 我解释一下, 它是如何绘制出来的.

从应用程序角度, 这个程序 只是将以下几个参数(红色部分)传给windows系统, win32gui.MessageBox(0,'你好世界','hello',0)

而windows接受了这个数据之后, 就全权负责绘制这个窗口, 实际的绘制则是通过 一些和directx相关的参数直接交给显卡设备, 

显卡设备就通过对应的电路, 直接实现绘制. 所以, 这个效果本身并不耗费很多的CPU指令, 它是一个数据传输链条.

如果在Linux下, 不管你用任何的库, 由于X协议不能理解协议之外的数据, 应用程序必须自己负责绘制这个窗口, 而应用程序无法直接访问设备,

所以, 应用程序必须有大量的逻辑代码(库) 来做这件事, 不仅非常复杂(程序很大), 而且是完全通过CPU来实现计算, 完全浪费了显卡的电路.

所以, 不管Linux如何Emulate这个实现, 都是骡子拉法拉利, 除非打破X的限制. 让法拉利兼容骡子, 更是脑子进水

所以在目前市场情况下, 任何在linux的桌面尝试都必将失败, 任何兼容Linux的UI软件, 都是脑残的approach.

加载中
0
mallon
mallon

话说回来我特别喜欢网络化的X,呵呵。

0
宏哥
宏哥

引用来自“Mallon”的答案

话说回来我特别喜欢网络化的X,呵呵。

能通过网络, 是X的一个优势, 简单嘛.

但是要实现本地设备直接访问,就没则了.

0
mallon
mallon

引用来自“宏哥”的答案

引用来自“Mallon”的答案

话说回来我特别喜欢网络化的X,呵呵。

能通过网络, 是X的一个优势, 简单嘛.

但是要实现本地设备直接访问,就没则了.

OpenGL

我觉得操作系统窗口管理器、桌面环境只要提供一些基本的功能,例如窗口切换、任务栏、文件管理器、USB自动识别...就足够了,Linux桌面最大的问题是连这些基本问题都没解决好就片面追求花哨的特效。所以这也是轻量级桌面环境,例如XFCE、LXDE越来越受青睐的原因。

0
mallon
mallon

其实桌面做得最好的还得是苹果,Mac OS X的桌面底层就是硬加速的。例如浏览网页、放电影的时候,窗口缩略了,画面依旧在动...

0
宏哥
宏哥

引用来自“eechen”的答案

想AutoDesk 的大型商业3D动画引擎Maya也是支持Linux平台的。
开源的Blender3D是先在Linux开发的,用的脚本是Python,可以看下它的作品:
http://my.oschina.net/eechen/blog/81670
GIMP不用说了,Linux上效果比Windows好多了。
Ubuntu Studio里还有很多图形化多媒体制作工具。
像Firefox和Chrome这些浏览器还有OpenOffice.org都运行地很稳定,不会有太大的问题。
C/S架构可能不好,但应该不是决定作用。关键还是要有人提高X的代码效率,XFree86那帮人也不知道行不行。freedesktop有个wayland项目,说是要取代X Window,希望能促进Linux桌面性能提高。

你说的基本上都还是玩具.

没有商业公司会把谨慎的东西, 建立在这些基础之上.

实际上, 你改造法拉利, 可以让它变成一个不怎么样的小游艇, 但是没有人这么做,

这就是我要表达的意思.

赵紫川
赵紫川
Maya都变成玩具了!碉堡
0
eechen
eechen
苹果也用了X协议,只是把X在内核实现了,性能得到了一定提升。
感觉你对Linux上的X有偏见。
还有那些被你戏称为“玩具”的东西,真的是玩具?那都是实实在在提高Linux桌面办公效率的工具。在上面捣鼓PHP,下个XAMPP,解压就好了,编辑器直接用Gedit也行,不过我用Geany。折腾Java,也就是下个JDK包,Tomcat包,Eclipse包,都解压了,用参数-vm给Eclipse指定Java虚拟机,启动后新建个Server,设置下Tomcat就好,真的很方便。
0
mallon
mallon

引用来自“eechen”的答案

苹果也用了X协议,只是把X在内核实现了,性能得到了一定提升。
感觉你对Linux上的X有偏见。
还有那些被你戏称为“玩具”的东西,真的是玩具?那都是实实在在提高Linux桌面办公效率的工具。在上面捣鼓PHP,下个XAMPP,解压就好了,编辑器直接用Gedit也行,不过我用Geany。折腾Java,也就是下个JDK包,Tomcat包,Eclipse包,都解压了,用参数-vm给Eclipse指定Java虚拟机,启动后新建个Server,设置下Tomcat就好,真的很方便。

苹果只是X11.app软件模拟了X协议,和Windows下面的Xming类似,利用了操作系统现有的图形和窗口功能。

至于苹果的图形界面,肯定是直接写硬件而不是C/S架构的。

http://en.wikipedia.org/wiki/Aqua_(user_interface)

http://en.wikipedia.org/wiki/Quartz_Compositor

http://en.wikipedia.org/wiki/Core_Graphics

eechen
eechen
http://upload.wikimedia.org/wikipedia/commons/f/f2/Diagram_of_Mac_OS_X_architecture.svg 学习了。
0
宏哥
宏哥

引用来自“eechen”的答案

苹果也用了X协议,只是把X在内核实现了,性能得到了一定提升。
感觉你对Linux上的X有偏见。
还有那些被你戏称为“玩具”的东西,真的是玩具?那都是实实在在提高Linux桌面办公效率的工具。在上面捣鼓PHP,下个XAMPP,解压就好了,编辑器直接用Gedit也行,不过我用Geany。折腾Java,也就是下个JDK包,Tomcat包,Eclipse包,都解压了,用参数-vm给Eclipse指定Java虚拟机,启动后新建个Server,设置下Tomcat就好,真的很方便。

openoffice 这些破玩意, 拿来做个sample可以

拿来办公就是扯淡

我说了"UI"的软件, 必须, 只能放弃Linux

0
乌龟壳
乌龟壳

所以很期待web技术的提升,能隔离这个问题,绕过x直接弄一个浏览器或许能有不错的性能效果。

还有compiz/Gnome3貌似使用了硬件加速。

0
hanxh
hanxh

不太清楚是我得错觉还是怎么,同样的软件,windows下用起来鼠标的灵敏度要比linux高。

我试过eclipse,在linux下似乎有那么一点点不舒服,也许就是因为类似原因。

decoupling的太好了,导致性能有一点点下降,于是用户体验就跟不上。

返回顶部
顶部