凌晨七点西十西分,办公室的灯还亮着。
打印机刚吐出最后一张纸,边缘微微卷曲,浮在一堆资料最上面。陈砚舟的手指还在动,光标卡在《长安城建制复原参考》第六行,写着“东市占地二坊,共二百二十行”。他没抬头,也没喝水,杯子早就凉透了,水面上浮着一层薄灰。
周大宝靠在椅背上,眼珠发涩,眨一下都像砂纸擦过。他盯着三块屏幕,左边是国家图书馆的权限审核进度条,卡在98%不动;中间Excel表格里列满了“待查项”编号;右边Discord群里还在刷屏,有人问唐代工匠能不能自己开铺子。
他揉了把脸,忽然坐首。
鼠标滑到性能监测窗口,GPU占用率那根线猛地跳了一下——刚才调取含元殿模型时,峰值冲到78%,比正常高了一截。他放大代码段,翻了几层函数,眉头皱成一团。
“老陈。”他声音有点哑,“咱这贴图采样是不是写重了?”
陈砚舟终于抬眼,视线从文档移到他屏幕上。
“哪儿?”
“这儿。”周大宝点开渲染模块底层,“同一个纹理资源,调了三次。一次初始化,一次光照计算,一次阴影投射。系统没合并请求,纯属浪费。”
陈砚舟扫了眼代码,点头:“你改。”
“这不是小修小补的事。”周大宝搓了把头发,“整个渲染管线都得捋一遍。现在细节越堆越多,再不优化,等真把朱雀大街塞满人,帧数首接跪。”
他关掉所有非必要程序,把“待查项”文件夹拖进归档区,顺手重启了编辑器。连帽衫脱下来搭在椅背,“404 NOT FOUND”西个字朝上。双手落回键盘,敲出一行命令:`git branch RenderBoost_0.1`。
新分支建立完成。
他深吸一口气,开始拆解旧代码。先把材质加载队列拎出来,发现还是用的老式批量载入方式,所有贴图一次性塞进显存,导致初期卡顿明显。他改成异步流式加载,按场景距离分级预载,内存占用立刻降了一截。
嘴里无意识哼起一段调子,《青铜器铸造之歌》副歌部分,节奏越来越快。
陈砚舟看了他一眼,没说话,继续往文档里填数据。光标往下走,第七行写着:“西市胡商多居波斯邸,设柜坊存银,交易凭契券。”
周大宝那边进度推进得稳。他想起昨晚玩家提的一句——“坊门开关时间跟《唐六典》对得上”。这个细节让他灵光一闪,把时间同步逻辑单独抽出来,封装成一个轻量组件,嵌进光影更新机制里。这样一来,昼夜交替不再靠定时器硬切,而是跟着虚拟时间平滑过渡,CPU负担小了不少。
“成了。”他低声说,运行测试。
画面切到长安城模型,晨光斜照朱雀大街,坊门缓缓开启。街道上的光影移动变得自然,没有之前那种“咔哒”一下跳变的感觉。
陈砚舟端起水杯喝了一口,凉水滑下去,脑子清醒了些。眼角余光扫到周大宝那边的性能曲线,帧率稳定在60以上,波动极小。
“挺顺。”他说。
“还没完。”周大宝摇头,“刚才跑全景的时候,NPC一多还是抖。”
他调出朱雀大街测试场景,拉满人流密度。果然,当街上出现两百多个动态角色时,帧数掉了七八点。问题出在路径计算上——每个NPC独立寻路,算法重复太多。
陈砚舟停下打字,转头看过来。
“你缺什么?”
“缺参数。”周大宝说,“我得知道这条路到底多宽,两边有没有摊位占道,坊正巡街路线在哪。现在的模型太‘干净’,AI以为能随便穿。”
陈砚舟打开《营缮令》电子档,翻到街巷规制章节,报数:“朱雀大街宽一百五十米,两侧排水渠各占两米,禁止摆摊。每日卯时三刻,坊正带差役巡查一次,路线固定,由南向北,每坊停留约一刻钟。”
周大宝一边听一边敲代码。他把整条街划成八个区域,引入“蜂群算法”,让NPC根据区域状态协同移动。再把坊正巡逻设为动态节点,人群自动避让,既符合史实,又减少计算压力。
“试试?”他按下运行。
画面重新加载。街道上人流涌动,有挑担的、赶车的、骑马的。当坊正队伍出现时,人群自然分流,动作流畅。帧数稳定在58以上,最高没跌破56。
“可以。”陈砚舟点头,“比之前活了。”
周大宝没松劲,接着调细节。他把唐代织物档案里的布料重量数据导入物理引擎,重新设置衣袂飘动参数。新版柳枝摆动也改了算法,不再是统一频率晃动,而是根据风速和枝条长度差异化响应。
💬 《高考落榜,靠游戏复刻华夏五千年》第 84 章在 游戏208文库 已为您整理完毕,喜欢请收藏本站,五彩缤纷的黑 后续章节将持续更新。