昨天收拾工作室翻出来几块旧显卡,突然想起仓库里还有几个老项目没维护完。结果一打开工程文件傻眼了——编译报错直接弹窗问候我,提示什么dx库不兼容。气得我当场翻出硬盘开始刨SDK版本,折腾到半夜才算搞明白。
踩坑日常
我第一反应是去官网薅最新版,装完重启傻眼了:十年前的老引擎项目连启动器都打不开,调试器弹红字骂我"* not found"。赶紧卸载换2010年版,结果新买的3060显卡又闹脾气,水面渲染全是马赛克格子。
隔壁搞建模的老张路过瞅了眼直乐:"你这套DX9祖传代码早该埋了!"转头给我甩了个虚幻5工程包,结果我老爷机直接卡成PPT。
翻仓库考古
翻箱倒柜翻出来三张古董光盘:
- 2008年6月版的红色包装盘,背面还贴着50块钱购买的发票
- 2012年微软寄的MSDN订阅光盘,塑料壳都裂了
- 2015年电子版安装包,当时存硬盘怕丢特地刻了碟
干脆把工作室五台设备全搬出来当小白鼠:
- 2009年攒的Core2老爷机
- 2016年收的二手工作站
- 前年组装的十二代i7主机
- 正在用的游戏本
- 老张借我的测试机
吐血总结
折腾到凌晨三点半发现个死规律:老项目用新SDK必死,新设备装旧SDK必残。2008版在老机器跑得贼溜,但放到3060显卡上连模型贴图都加载不全。2015版对新显卡挺友可运行祖传项目时灯光计算全是错的。
憋出个土法子:
- 维护XP时代遗产就装2010年6月版,市面上老教程全都能对上号
- 用win10/11搞新开发直接装最新版
- 要是遇到二混子项目(比如拿DX11写界面但用DX9绘图),建议直接物理超度
现在抽屉里还躺着那三张光盘,封面上微软的logo都被我摸掉漆了。要我说,哪有什么最好用的SDK,得看你键盘底下压着哪年的需求说明书。
