我盯着屏幕上那个诡异的动画性能问题已经三个小时了。页面上的粒子效果在Chrome里流畅得像丝绸,到了Firefox却卡得像九十年代的幻灯片。我揉了揉太阳穴,决定去公司旁边的市图书馆碰碰运气——也许某本讲浏览器渲染原理的旧书里藏着答案。

六月的阳光透过图书馆巨大的落地窗洒进来,把书架切割成明暗相间的条纹。我沿着计算机分类的书架漫无目的地走着,手指划过书脊,突然在一本《算法之美》前停住了。

"需要梯子吗?"

一个声音从背后传来。我转身,看见一个女生踮着脚正要取上层的一本《JavaScript高级程序设计》。她穿着浅蓝色的衬衫,胸前别着"程书缘-图书管理员"的工牌,马尾辫随着她的动作轻轻晃动。

"啊,不用。"我下意识伸手帮她拿下了那本书,"不过这本2015年的版本可能有点过时了..."

她接过书,眼睛突然亮了起来:"你知道Proxies在ES6才正式加入规范吗?"她翻开第432页指着一段代码,"这章讲的还是用defineProperty模拟的。"

我愣了一下,没想到会在这里遇到懂行的。她说话时微微歪着头,睫毛在阳光下投下细碎的阴影。

"你在看粒子系统?"她突然瞄到我手里拿着的《图形算法实践》。

"你怎么——"我低头,发现书签露出来的部分正好是粒子那章的示意图。

她笑了,眼睛弯成月牙:"上周刚有个游戏开发团队来借过这书。"她轻轻抽出我手中的书,翻到折角的一页,"如果是性能问题,试试用requestAnimationFrame替代setInterval?"

我盯着她指出的那段代码注释,突然有种被闪电击中的感觉。这正是我没想到的角度——我们团队还在用老旧的定时器方案。

"你...不是普通的图书管理员吧?"我忍不住问。

她转身把书放回架上,工牌晃了晃:"计算机系毕业的。不过比起写bug,更喜欢修整它们待过的地方。"她指了指四周的书架,"至少书不会半夜给我发报警邮件。"

我笑出声,突然注意到她手腕上戴着个极客风格的手环,上面闪烁的LED组成一个小小的二进制时钟。

"那个..."我犹豫了一下,"如果我再遇到JavaScript的问题,能来请教你吗?"

她正在整理书架的手指顿了顿,转头看我时,阳光正好落在她半边脸上:"图书馆的WIFI密码是'typeof book === magic',没有引号。"她眨了眨眼,"我周二四六当班。"
展开
1