微软和开放——一段不得不说的往事(二)(转载)

转自myan

地址:http://blog.csdn.net/myan/article/details/1930152

本文原载于《程序员》杂志2008年第2期,经原作者同意转载。



3.SGI沦陷
1990年代中期,3D硬件还是昂贵稀罕的东西,无论是OpenGL还是Direct3D,很多时候实际的渲染是软件实现的。所谓软件渲染,也就是通过CPU计算来实现渲染效果。人们发现,在微软的Windows平台上,OpenGL的软件渲染速度比Direct3D慢很多倍。微软对此的解释是,OpenGL本身的设计是面向CAD类应用的,适用于精确严格的渲染,因此必须搭配昂贵的3D硬件才能表现突出。如果你想只用软件来模拟,对不起,由于OpenGL设计上的某些“缺陷”,它就是比DirectX慢很多倍,因为后者是从头到脚面向实时渲染而设计的。然而计算机图形专业人士怀疑,这根本就是不实之词,OpenGL与Direct3D在性能表现上的差异,根本就与设计无关,完全是因为微软没有用心实现OpenGL。但是光怀疑没用,你说微软实现得不好,你自己实现一个看看?说实话,这可不是一个容易的事情,没有两下子是绝对没戏的。

这时候,SGI站出来了。1996年,在新奥尔良举办的SigGraph会议上,SGI展示了他们实现的OpenGL for Windows,并且把Direct3D的几个流行demo移植到OpenGL上,将两者进行了针锋相对的比较。结果是显而易见的,OpenGL不但不比Direct3D慢,而且在某些方面还更胜一筹。API之战的第一回合,OpenGL获胜,结果不但是OpenGL给自己正了名,而且还迫使微软优化了自己的OpenGL实现。

不过,对于游戏开发来说,软件渲染还是太慢,无论是OpenGL还是Direct3D,软件渲染做做Demo还可以,要开发好玩的3D游戏,没有硬件支持那是不行的。1990年代中后期,3D硬件越来越便宜,迅速普及到家用PC上,这才使得高性能视频游戏飞入寻常百姓家。这时候,哪个API得到更广泛而高质量的硬件支持,哪个API就会表现出色。于是API之战的第二回合,就成为驱动程序之战了。而在这一方面,微软凭借其强大的产业控制力,显然占据优势。

战役主要发生在1997年。当时Windows 98正在做大规模的售前宣传,微软宣称,Windows 98将成为PC游戏玩家的最佳平台,因此,厂商们都在积极开发Windows 98上的游戏,争取在圣诞节大捞一票。到底是用OpenGL还是Direct3D呢?因为此前发生的Carmack公开信事件,很多游戏厂商都倾向于采用OpenGL。要在Windows 98上支持OpenGL,最好使用微软提供的一个驱动程序工具包,这个工具包基于微软开发的Mini-Client Driver(MCD),从而使得硬件厂商可以很轻松地开发OpenGL驱动程序。在1997年GDC大会上,大部分主流3D硬件厂商都展示了基于MDC的OpenGL驱动程序,但是由于MDC是微软的产品,而微软对OpenGL的态度又不明朗,因此游戏厂商还是不敢造次,老老实实地用DirectX开发。不久之后,游戏厂商的谨慎被证明是正确的,微软在1997年夏天,对那些企图在Windows 98上支持OpenGL的硬件厂商来了一次釜底抽薪,宣布说,除了开发阶段,任何厂商都不能获得MCD的使用许可。这等于是给那些基于MCD的OpenGL驱动程序判了死刑。一时间Direct3D无与争锋,仅仅一年时间就成为了3D游戏的事实标准。

来而不往非礼也,SGI再一次挺身而出。早在微软釜底抽薪之前,SGI实际上就提供了自己的OpenGL驱动程序工具包,在其中,SGI使用了一种完全不同于MCD的驱动程序支持模型,称为Installable Client Driver(ICD)。要从纯技术角度来看的话,ICD的好处是性能高,缺点是比较复杂,总体来讲是不如MCD的。可无奈你微软上屋抽梯,让人家硬件厂商无路可走,于是只好跟着ICD打游击了。渐渐的,基于ICD的OpenGL驱动程序越来越多,很多有影响力的游戏厂商开始重新考虑支持OpenGL。在这种局面下,微软也只好顺水推舟,重新放开MCD限制,允许厂商在Windows 98上支持OpenGL。第二回合,微软先赢后输,虽然一时间称霸3D游戏API领域,但是胜利并不稳定。

两回合下来,微软终于明白硬碰硬并不是好办法,需要另谋高招。1998年的SigGraph上,人们惊奇地发现,微软与SGI站在一起,宣布要共同开发一个新的、统一的3D图形API,他们称之为Fahrenheit Project。这个项目是谁构思出来的,微软是如何说服SGI的,现在已经无据可查。总之,按照当时的承诺,这个项目将在1999年或2000年推出实质产品。看到几年来拉锯般的3D API之战终于要结束了,合作时代即将到来,几乎所有人都兴奋不已。和平万岁!未来属于Fahrenheit!

战争结束,合作开始,SGI以满腔热情投入了Fahrenheit的开发之中,不但不再全力支持OpenGL了,而且连自己的起家之本——基于MIPS的图形工作站,也甩掉一边。公允的说,SGI的动机也不是那么单纯。对他们来说,MIPS图形工作站的衰亡史不可避免的,这一点十分清楚。普通Wintel PC很快就会让高端图形工作站变成昂贵的废物。那么如何在PC市场重现荣光呢?Fahrenheit项目毫无疑问是一个很好的切入点,跟PC软件领域的霸主合作,使得SGI有机会进入这个超级庞大的市场,并掌握3D图形API的标准,这种好事,当然不可错过!

问题在于,SGI看错了微软。微软岂能轻易放弃自己在3D领域好不容易获得的霸权,拱手把半壁江山让与SGI呢?到1999年年中的时候,情形已经非常明显,微软并没有遵守去年许下的诺言,事实上,微软除了派去几个专家参与制定Fahrenheit标准文档,做做表面文章之外,根本没有投入开发力量,从而把具体工作一口气全甩给SGI去做,让对手不再有足够资源投入到OpenGL上。同时,微软自己则继续将大笔资源倾注到DirectX的下一个版本——也就是日后打赢关键一仗的主力军——DirectX 7.0上。不但如此,微软还使出对付Borland和其它对手的老招数——挖角,不断以高官厚禄引诱SGI的顶级专家们。这样的搞法,Fahrenheit能成功才是见了鬼了。

一来二去,全世界都明白了,SGI被忽悠了!不过为时已晚。2000年,DirectX 7.0问世,一时间横扫3D图形市场。而传说中的Fahrenheit呢?则还只是停留在概念上的东西。Fahrenheit总架构师David Blythe被微软成功挖角。如今,这个当年OpenGL领域数一数二的顶级大师已经摇身一变成为DirectX 10的主设计师和Windows Presentation Framework的主要设计者之一。好一个Fahrenheit项目!让微软人财两得,而SGI不单是赔了夫人又折兵,更失去了广大OpenGL社群的尊敬,不可不谓惨。

打输这一仗,SGI算是把老底和老脸都输光了。自那以后,SGI每况愈下,直到2006年,终于难以支撑,向法院申请破产。一代高科技传奇,竟落得这般田地。

好在毕竟技术底子雄厚,在2007年,SGI成功地经历了一次重组。重组后的SGI,变成了一个超级计算机、服务器集群和存储的系统厂商,跟图形已经基本没有关系了。不知道如今SGI的人看到公司名字里的“G”,鼻子会不会酸呢?

好在OpenGL并没有因为SGI的沉沦而完蛋,相反,失去了商业巨头的支撑和控制,OpenGL反倒真正成了开放的API,获得整个产业的支持。

4.凤凰涅磐
进入21世纪之后,图形软件市场发生了有趣的变革。首先,由于Web的大发展,微软在桌面操作系统上一统天下的局面出现了松动。如今,人们开发一个桌面应用程序必须考虑在Windows和Mac,甚至还有Linux三个平台上的可移植性,这就使得OpenGL的标准和开放性成为一个重大的优势。其次,图形硬件市场实现了整合,nVidia和ATI成为GPU市场的领袖,它们具有足够的财力和技术实力,可以按照自己的意愿对OpenGL提供第一流的支持。第三,更重要的变革在于,PC已经不再是唯一的3D图形应用平台,智能家电、游戏机、手机、PDA、车载计算机、工业设备、机器人等都成为新的图形应用平台。在这些平台上,OpenGL是独一无二的首选方案。微软不但是后来者,而且恰恰因为微软在PC软件领域的巨大成功,从而引起整个产业对它四面设防,从而使它很难取得大的成功。

2002年,OpenGL 1.4完成,使OpenGL在固定管线技术上达到了最高峰。2004年,划时代的OpenGL 2.0推出,引入了GLSL,允许开发者使用可编程管线功能,从而使OpenGL登上了现代图形硬件发展的快车。2006年8月,OpenGL 2.1发布,成为当前主流的OpenGL版本。

凤凰涅磐的时刻即将到来。按计划,OpenGL 3.0将于2008年推出。这个新的标准在保留对传统API支持的前提下,从头开始全新设计,提出了更先进的图形概念和对象模型,从而走到了图形编程的最前沿。

此外,更令人兴奋的或许是OpenGL ES。这个专供嵌入式系统使用的OpenGL“精简版”如今已经是手机、PDA、车载设备等嵌入式平台上的标准图形API。只要想想手机的用户量,我们就不难憧憬OpenGL ES的光明灿烂的前景。给所有人以希望,这就是开放的伟大之处。

在以后的日子里,我们大概不会再见到十年前那样激烈的API战争了,因为开放已经成为我们每个人的共识。但是,这段历史却不应该被遗忘。正如马克吐温所说,历史不会简单的重复,而是会变奏式的重复。我们应该保持警惕,珍视开放和自由带给每个人的价值。(全文完)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 微软创建NT操作系统的历史可谓观止。NT操作系统是微软自1980年代中期开始开发的,经过多年的努力和完善,最终在1993年发布了第一个正式版本。NT操作系统以其稳定、高效和安全的特性,成为了微软在企业领域最重要的操作系统之一。 NT操作系统的成功给了微软一个稳定发展的基础,也推动了微软在未来的夺命狂奔。夺命狂奔是指在竞争激烈的软件市场上,为了保持领先地位而不断开发和发布新产品,微软通过不断创新和改进赢得了市场份额。 微软未来的夺命狂奔可以从它近年来推出的产品和服务中看出端倪。微软积极推广云计算服务Azure,这是一个强大的云平台,为企业提供了灵活、安全和可靠的解决方案。此外,微软还致力于发展人工智能技术,如语音识别、自然语言处理和机器学习等。这些创新不仅扩大了微软在企业市场的影响力,也增加了其全球用户的多样化需求。 微软在夺命狂奔中所面临的挑战也不容忽视。随着移动设备的普及,微软需要实现与iOS和Android等主流操作系统的兼容性,以保持在移动市场的竞争力。此外,随着开源软件的兴起,微软也需要适应这一趋势,积极参与开源社区,推动开源软件的发展。 总之,微软创建NT操作系统和未来的夺命狂奔展现了微软在软件行业的实力和潜力。通过持续的创新和不断进化,微软将继续在企业和消费者市场中扮演重要角色。 ### 回答2: 《观止:微软创建NT和未来的夺命狂奔》是一部以微软公司创造Windows NT操作系统和未来发展的故事为背景的电影。这个故事主要讲述了微软在当时面临的技术挑战、市场竞争和公司发展的困境,并展现了他们的不断努力和创新精神。 微软创建Windows NT操作系统的过程是一段充满曲折和艰辛的旅程。在那个时代,微软面对着Unix操作系统的垄断地位和其它竞争对手的激烈竞争。为了突破操作系统的技术限制和摆脱对其他公司的依赖,微软决定自己开发一款全新的操作系统。于是,他们成立了一个专门的团队,经过不断的研发和测试,最终诞生了Windows NT操作系统。 《观止:微软创建NT和未来的夺命狂奔》还聚焦于微软的未来发展。随着Windows NT的问世,微软成功地抓住了市场机遇,并成为全球最大的软件公司之一。电影展示了微软团队在公司内部的斗争和外部环境的变化。他们不断推出更新版本的Windows操作系统,提供更多的功能和更好的用户体验,以保持竞争优势。 此外,电影也揭示了微软面临的挑战和反思。他们在垄断调查和法律纷争中面临着巨大压力,并被要求在竞争和创新方面采取更加公平的做法。微软也通过收购和战略合作来扩大业务领域,尝试进军互联网和移动领域。然而,他们也面临着来自谷歌等公司的新兴竞争对手的挑战。 《观止:微软创建NT和未来的夺命狂奔》通过展示微软在创造和发展Windows NT操作系统过程中的挑战和努力,向我们展示了一个科技巨头如何在激烈的竞争中不断进步和寻求发展机遇。这部电影激励着观众们,鼓舞他们在面对困难和竞争时坚持创新和努力,并为未来的夺命狂奔奠定基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值