孟缘第二天早上才看到。他端着咖啡坐下来,打开附件,发现是一份十九页的技术分析报告。从渲染管线的多线程调度效率到缓存命中率的波动曲线,每一项都附了具体的测试数据和改进建议。报告最后一页有一段话。
“你们零点五版本的架构在蓝星所有自研引擎里已经是顶尖了。但继续往上走,软件优化是有天花板的。真正决定渲染效率的,是硬件对引擎的适配程度。如果哪天你们想做自己的硬件,我可以帮忙。”
签名档写着顾林,深海科技大学集成电路设计副教授。
孟缘端着咖啡看了很久,然后把报告转发到工作群里。
林子轩第一个回。他问缓存命中率那段是谁写的。沈连河回说不知道,但分析方法和之前合作过的一家硬件公司很像。孟缘让陈声查顾林的背景。陈声花了半小时把能查到的都查到了——顾林,深海科技大学集成电路设计方向副教授,三十七岁,在图形计算和异构计算领域有深入研究。他带的硕士生做过一个开源GPU架构课题,论文发表后被多个学术引用。同时,他还担任极光科技深海研发中心的顾问。
沈连河把论文看完了,说这个人对GPU的理解不在任何一个工业界大厂之下,但他不想发论文,想做东西,差的是一个能做出来的条件。
孟缘约顾林见了面。他们在深海科技大学附近的一家茶餐厅坐下来,顾林从公文包里掏出另一份更详细的报告。红笔标注了引擎渲染管线里几处冗余的缓存调度,每处标注旁边都有手写的补充说明,其中一页顶端还画了条简略的架构草图。
“我不是来找茬的。”顾林端着茶杯,“你们零点五版本的架构在蓝星所有自研引擎里已经顶尖了。但再往上走,软件优化是有天花板的。真正决定渲染效率的,是硬件对引擎的适配程度。你们在用软件思维做图形计算,如果哪天要跑硬件加速,这里全部要重写。”
“所以你来是想告诉我们什么。”
“想告诉你们,如果哪天你们想做自己的硬件,我可以帮忙。”
孟缘把这句话记在笔记本里。他没有立刻回应,但顾林走的时候留下了那份十九页的报告。报告最后一页有一行手写的备注:以上分析基于九命引擎开源代码,不代表任何商业立场。落款日期是上周五。
许知意后来翻过那份报告。她坦白地说大部分内容没看懂,但她知道一件事——有人愿意免费替橘猫挑毛病,而且挑得很认真。
一周后,橘猫办公室里多了一块白板。不是办公用品,是顾林从学校实验室搬来的旧白板,边角有擦不掉的马克笔印子。
“不用买新的,旧的能写就行。”
白板上被他画了一张九命引擎零点五版本的渲染管线架构图,每个模块旁边都标了硬件适配的可行性评估。林子轩负责的渲染管线模块标注着首期适配,沈连河的AI调度模块标注着中期适配。
顾林用磁贴把架构图和白板贴在一起,旁边手写了一行字。零点五基础上梳理硬件适配路径,明确各模块改造优先级。磁贴不够用的时候,许知意把她的冰箱贴贡献了出来,那颗嵌在猫足印肉垫里的五角星就贴在架构图的最上面,暖黄色的,被一圈柔和的轮廓包住。
当天晚上,大家陆续离开之后,孟缘一个人站在这块白板前。上面还留着一些之前的讨论痕迹,苏景辰画的架构图旁边是林子轩的缓存改进路线,再旁边是沈连河标注的每个模块优先级和首期改造范围。他在空白处补了一行字:首期适配方案下周初稿。
顾林每周都会来办公室一次。他不是正式员工,没有工位,每次都坐在会议室那张旧沙发上。他带来的不只是技术建议。有一次林姿轩和沈连河为了缓存策略争执不下,顾林在旁边听了很久,然后从公文包里拿出两张纸。一张画着时序图,一张列了每个策略的优缺点。
“决策的关键不是谁对谁错。瓶颈在哪,问题就在哪,跟谁提出的没有关系。”
他在白板上的磁铁旁边写了一行字:别吵,看时序号。字迹很细,但每个笔画都很稳。
许知意后来在社区发帖时引用过顾林的话。她说橘猫现在做的事,已经不是在写一个引擎了,是在告诉所有开发者,你们手里的工具不是别人给的,是你们自己的。苏景辰把这句话转给了顾林,顾林看完之后摘下眼镜擦了擦镜片。
“我没想那么多。只是想看看你们能走多久。”
几天后,陈声去宝安区那家批发超市补货。他提了两箱泡面回来,蹲在货架旁边给许知意发消息,让她来接应一下。许知意回了一句很快,然后他抬起头,看到收银台旁边有人拎着塑料袋,塑料袋外面印的是盛华旗下某款游戏的Logo。泡面压在Logo上,游戏主角被人物的肩膀遮住大半,只露出一只眼睛。
他没多说什么,只是把泡面箱子掂了掂,出了旋转门走回办公室。把箱子放在墙角堆好之后,他在短信里把