第15章 你当我是傻子吗?(2/3)
林哲嘴里叼着根圆珠笔,一边嘟囔,一边直接切进了最底层的doS命令行。
他根本不带看代码逻辑的,他的手放在键盘上,甚至连停顿都没有,屏幕上,直接跳出了一排排十六进制的物理内存地址。
林哲盯着其中几个特定的寄存器地址。
0x4FA0。
0x4Fbc。
他的手指在键盘上飞舞,速度快得像在弹钢琴。
肌肉记忆,纯粹的、被未来三十年无数次熬夜加班刻进骨子里的肌肉记忆。
“就是这儿。”
林哲冷笑一声。
微软的directx在扔半透明贴图的时候,会强制要求深度测试,NV3的显存控制器在这个瞬间,没有做好优先级排队,大家一起往总线里挤,直接把路给堵死了。
正常的初级工程师,遇到这种底层硬件资源冲突,得去翻那本像砖头一样厚的主板物理说明书,得一点点推算时钟周期,得画时序图。
林哲呢?
他翻个屁的说明书。
他直接敲入两行强制锁死寄存器的微指令。
“给我在总线前面加个两个周期的等待状态(wait State)。”
“半透明贴图进来,Z缓存先给我憋着,等贴图过去你再走。”
简单,粗暴。
红绿灯一拦,交通瞬间顺畅。
啪!
林哲用力敲下回车键。
重新编译。
十秒钟后,重新挂载高强度的测试包。
画面再次出现。
满屏的半透明多边形疯狂旋转。
总线监控数据条稳稳当当,一条绿线直拉到底,帧数钉死在60帧上,连一帧都没掉。
“搞定,收工。”
林哲吐出嘴里的圆珠笔,伸了个大懒腰。
“这帮90年代的破硬件,非得逼老子用暴力手段……”
“你没看堆栈日志。”
一个低沉、毫无感情波动的声音,突然从林哲的后脑勺后面飘了过来。
“卧槽!”
林哲吓得浑身一哆嗦,差点从真皮椅子上出溜下去。
他猛地转过头。
克里斯不知道什么时候,就这么悄无声息地站在了林哲的工位后面。
本章未完,请翻下一页继续阅读.........