第225页

将这些代码从头到尾全看一遍显然是不现实的,不过郝云也没打算干这么蠢的事儿。

他只需要找到这款引擎在运行时被调用次数最多,每一次加载游戏场景时几乎都会被调用、并且足以影响到引擎运行效率的函数,然后再去里面寻找改进的机会便可。

很快,郝云锁定了一条被命名为q_sqrt的函数。

这个函数表面上看着平平无奇,只不过是一个运用了牛顿迭代法的求平方根倒数的算法。

然而有意思的是,在这款引擎的运行过程中,需要求平方根倒数的情形多到了令人发指的程度。

因此换个角度来想,该函数的运算速度,已经足以影响到引擎本身的效率。

这就好像航天火箭上的一颗螺丝钉,表面上看火箭的速度并不取决于这颗螺丝钉本身,而是取决于火箭引擎的设计和关键的燃料等等,但当火箭引擎的设计和燃料技术都发展到了瓶颈,想要进一步提升火箭的效率,就只有从根本的材料上着手研究了。

郝云此时此刻正在做的,便是类似的事情。

然而……

虽然思路已经找到,但想要走通这条路却并不容易。

到这为止都没有任何值得深挖的地方,毕竟牛顿迭代法,本身已经是一种非常优秀的求平方根倒数的数学方法了。

再想创新?

数学方法上改进几乎不可能!

如果想比这更快,恐怕就只有对输入值和输出值建立一个庞大的数据库才能实现了。

然而为区区一个函数建库,似乎又显得本末倒置……

时间一分一秒过去,郝云的电脑上,还是一行代码都没有敲下。