如果仔细研究各种开源软件的话,我们经常会发现这些开源软件的架构很多的时候十分的先进,比如说OpenGL,这是一个和Windows操作系统之中的DirectX对立的多媒体开发接口,其架构看起来就是被DirectX先进很多。
OpenGL之中的C/S绘图架构
不熟悉OpenGL的人认为OpenGL提供的各种函数是类似API的接口,实际之上OpenGL把这些函数定义成为一种绘图命令。在其官方指南之上也是说了OpenGL是一种状态机。这种状态机建立在硬件状态机之上并且是可以实现对于绘图指令的执行。绘图指令存在一个队列之中,一直被OpenGL这种状态机所执行。
在OpenGL之中状态机不一定是存在于本地,但是绘图队列的确是我们程序发出的,有可能OpenGL的状态机存在于另外的一个服务器之上。这种服务器通过网络和我们的计算机相互的连接。这样就是可以实现网络执行。如果自己的计算机很难实现对于图形的硬件绘制,这个时候就是可以把命令上传到服务器之上让服务器帮助我们实现绘制。
架构好就一定好用吗
虽然说OpenGL看似存在如此多好用的架构,但是实际win7 64位旗舰版、下载游戏开发的过程之中基本上没有人丧心病狂的让服务器运行游戏。所以说这种架构到最后也是没有发挥出真正的用处,反倒是win7旗舰版操作系统之中的DirectX最后获得了很多的用户。
可见架构好不一定就是好用,作为用户根本接触不到架构,很多的时候开发者都是接触不到,空谈架构除了能显示出系统设计者的优越感之外没有任何用处。
|