书海阁
书架 邀请 登录

第303章 一行代码让图灵奖大佬骂娘

作者:哈娜欧菲手字数:4.2千字更新时间:2026-09-26 10:59:26
第303章 一行代码让图灵奖大佬骂娘

加州,硅谷。

萨瑟兰公司。

伊万·萨瑟兰坐在桌前,轻轻拆开一封信函。

来信人的一栏写着【诺兰·布什内尔】的名字。

这是他当年在犹他大学执教时的一位学生。

同时也是全世界第一款商用街机电子游戏《Pong》的缔造者。

也是曾经的电子游戏帝国雅达利的创始人。

【亲爱的萨瑟兰先生:】

【见字如面,这些日子我一直忙于Chunk E. Cheese餐厅的运营,恕我无法亲自拜访您。】

【听闻您获颁了今年的图灵奖,】

【请容我对您表达最崇高的敬意!】

【虽然正值酷暑……】

再往后便是一些慰问的话语。

伊万嘴角挂起一抹微笑,将信件仔仔细细地折叠好,将它收到自己的档案柜中。

这里面已经整整齐齐地码满了天南海北的各路人马的问候信。

显然自己今年的图灵奖搞出了不小的动静。

“萨瑟兰先生,如果您的事都办完了的话……我希望咱们能尽快开始。”

桌子对面坐着的是SunMicrosystems的总裁。

今天他专程赶来,显然不是打算来慰问伊万的。

作为Sun公司高薪聘用的高级研究员,伊万获颁图灵奖对Sun公司来说绝对是一件好事。

“我知道。”

伊万坐回自己位子上,伸手拿起对方带来的那张光盘。

《生化危机》

“萨瑟兰先生,GAMENOVA用一块性能远差于我们SPARC处理器的摩托罗拉就搞出了这种级别的图形。”

《生化危机》的画面表现实在是太过于惊世骇俗了些,以至于让他们这些做工作站的人都无法忽视。

对Sun公司来说,GAMENOVA绝对是一家最令他们头疼的公司。

因为他们跟自己的几个‘友商’都走的太近了。

SGI硅图,Sun最直接的敌人,这些年来靠着全球顶级的图形性能已经完全蚕食掉了原本Sun占领着的图形站市场。

如今的好莱坞,除了SGI的图形工作站以外,几乎全都是MicroNova的定制机,根本没有他们半点的生存空间。

而摩托罗拉,这个Sun曾经最要好的合作商,在他们Sun搞出了自家的SPARC处理器后也早就变成了一个竞争对手。

想要在处理器厂商乱战的现在站稳脚跟,让SPARC杀出英特尔、德州仪器、MIPS、摩托罗拉等一众巨头的包围圈,他们必须要搞出能卖得出去的生态才行。

“SPARC的性能绝对是目前业界独一档的存在。”

他说道。

这话也绝非虚言。

去年他们搞出来的这款SPARC处理器,主频有整整16MHz,工艺也已经提高到了顶尖的0.8微米水准。

如此恐怖的处理能力,自然是在第一时间就完爆了现在市面上所有的CISC复杂指令集处理器。

但……

偏偏这世界上还就有这么一家诡异的公司,恰好也在这几年疯狂推广RISC。

GAMENOVA!

不管是当年跟Zilog合作搞得那款特制版Z80还是如今的摩托罗拉,GAMENOVA始终奉行RISC策略,大搞科研投入。

这着实让他们难受的不行。

尤其是GAMENOVA还跟摩托罗拉走的特别近,各个方面都有深度合作。

听说最近还在讨论NEXUS网络的合作事宜。

这可就很恶心了。

SPARC本应直接统治整个市场,为他们Sun公司带来数亿美元的高额收入。

而现在却像是被一堵看不见的空气墙猛地怼了一下似的,卡在了一个远远没到预期的位置,不上不下的。

SPARC固然很强,但它不兼容GAMENOVA的绝大部分周边技术。

空有性能,却发挥不出来,实在是莫大的悲哀。

“我知道。”

伊万再次重复一句,将光盘置入摆在桌边的一台NX中。

这不是科研设备,而是他自掏腰包买的。

搞计算机图形学的学者,不可能对游戏一点兴趣都没有。

“Humm……有点意思。”

快速跳过开场动画,进入游戏之中。

伊万顿时就被这夸张的画面表现给吸引住了全部的注意力。

他们说的没错,这的确不像是现在这个时代能有的技术水平。

精致到不像话的画面。

要知道现在这个时代,大家都还在2D上下狠功夫,靠着每年都在突飞猛进的显示芯片性能搞出更高分辨率、色彩更丰富的图像就已经是很先进的处理技术了。

而GAMENOVA就像是在学走路的时候顺手学了跑,还顺手拿了奥林匹克冠军。

“这不可能是实时渲染的。”

好歹也是拿了今年图灵奖的图形学专家,伊万仅仅是在短暂的惊愕之后,就迅速给出了自己的结论。

他看向NX上插入的那颗强化芯片,转向面前的Sun总裁。

“这颗芯片检查过了吗?”

“第一时间就送去实验室了。”

对方点点头,表情凝重,

“这只是一颗16位的处理器,标准的NovaRadeon架构,顶多是频率高一些。”

“连32位都不是?”

这下子连伊万都有些绷不住了。

如果说GAMENOVA破天荒的定制了一颗32位的次世代处理器来负责这个3D画面,那他还算是能接受。

但这玩意儿居然只是一颗标准的16位芯片?

“嗯……这不是实时渲染的,我只能确认这一点。”

伊万操作着克里斯在洋馆里逛了逛,完全看不出有什么端倪。

半晌,他才无奈地将游戏机关掉。

“GAMENOVA在加密上一直都做的很好,想要啃《生化危机》的源码来搞清楚背后的奥秘恐怕是不太现实。”

“不过……”

伊万顿了顿,在自己的PC上轻敲几下,

“我们可以从GAMENOVA已经开源了的《DOOM》和NovaEngine的技术实现来倒推。”

“那太好了,你快点开始吧。”

Sun的总裁显然已经有些按捺不住了。

越是拖延下去,SPARC的问题就会越严重。

这可真是伤筋动骨的大事儿。

如果能靠着这次机会抄明白GAMENOVA的作业,说不定还能有一战之力,弯道超车。

等到他们明年的秘密武器64位0.18微米处理器UltraSPARC III走出实验室,有望一鼓作气干掉整个市场。

……

啃源码并不是件多轻松的事情。

哪怕是基于N语言编写的易读性极强的代码,哪怕伊万本身就是这方面的专家,这也耗费了他大量的精力。

“怪了。”

伊万眉头紧皱。

GAMENOVA可以说是业界里最不讲道理的公司了。

它的每一步实现都在自己的预期之外。

但偏偏它还就能用这种完全非主流的方式做到自己想做的一切。

还比其他循规蹈矩的人做的都要好!

太特么气人了!

“怎么?”

“平方根。”

伊万缓缓吐出两个词儿,而后便陷入了彻底的沉默。

不管是电子游戏还是商务软件之中,都存在着一个看似不起眼的算法函数。

Sqrt,也就是求平方根的函数。

计算角色、物件、场景中的空间距离、运动状态等各种需求,都需要频繁调用平方根的计算。

可以说这玩意儿就是3D游戏的基石。

而它往往也是计算机中运算开销最大的函数之一。

因为计算机底层的那些全加器根本无法理解除法。

加法是处理器的底层逻辑。

而自从有了补码之后,减法也可以被视作是一种加法,就像是1-1=1+(-1)。

至于乘法,也同样存在大量的高效优化算法,哪怕是仅仅粗暴地重复加法,也可以轻松实现。

唯独除法,想要实现它,复杂度比其他三种运算加在一起还要多。

计算一次除法的耗时甚至能达到乘法的数倍。

而在3D环境之中,浮点小数的出现以及各种频繁的空间计算让除法的调用变得难以避免。

平方根运算的实现思路与除法高度相似,这就让处理器在面对它们时不堪重负。

这也是3D一直难以推广的主要原因。

实在是太吃机能了!

伊万自己有推算过。

就凭现在的硬件迭代速度,哪怕是升级到了32位,恐怕也难以实现3D技术的全面普及。

可是……

GAMENOVA就愣这么写。

完全不避讳平方根的使用,偏偏还在性能表现上好的出奇。

这绝对不寻常。

按照他的计算,如果GAMENOVA真的是这样实现的真3D,那绝不可能是NX这种机能能跑得动的。

“嗯?这个平方根倒数……不是处理器自带的指令。”

他忽然注意到了一点不寻常。

这些平方根倒数的函数调用似乎都不是从摩托罗拉自己的指令集里走的,而是通过一个自己编写的函数。

伊万眼神一亮,顿时来了精神。

一切的奥秘,GAMENOVA真正的技术底牌就在这里了!

自己已经无限地接近秘密的真相了!

“等等……只有10行??”

顺着调用找过去,预想之中成百上千行的精彩算法模块并没有出现。

除开函数的声明以外,这里只有短短的10行代码静静地躺在里面。

“牛顿逼近法?”

伊万一眼便认出了这是什么东西,只是最常见的开方运算而已,没有什么特殊的。

他的眼神顿时便黯淡了下去。

“等等……”

正欲关掉这部分代码,他却忽然注意到了其中有一行完全莫名其妙的东西。

i = 0x5f3759df -(i >> 1);

“???”

“WHAT THE FUCK?”

这玩意儿就像是光天化日之下忽然有东西跳到他的脸上给他来了一杵炮似的。

计算机是一门精确的科学。

伊万一直都深信这一点。

至少代码是这样一个优雅的东西,它应该能够精确地表达出一切内容。

而GAMENOVA,选择在代码中莫名其妙地塞入了一个不讲道理的数字。

0x5f3759df,换算成十进制就是1597463007。

没有任何道理。

可伊万很确定,这玩意儿必然就是GAMENOVA能在快速平方根倒数计算之中有如此高效性能表现的关键所在。

他默默抄起键盘,在代码的后方打上一行注释。

这是他的习惯,不管是读写代码时,顺手打注释都有助于学习。

但这一次,他真的不知道要在上面写什么来解释这段内容了。

//What the fuck?

他只能在代码中留下一句美利坚雅韵。

此章为VIP章节,需要订阅后才能继续阅读

  • 价格:0屋币(1元=100屋币)
  • 购买
设置
作品详情 加书架
章节进度
评论 (0条)
评论加载中...
美利坚:游戏制作教父封面 正序
目录加载中...
加书架
上一章 目录 下一章

设置