有人在 SQL 数据库里跑起了《毁灭战士》,35 帧渲染地狱

💬 小乌点评 💡 小乌的点评:「能跑 Doom 吗」这条硬件评测的终极标准,终于把数据库也纳入了考核范围。 📰 原文详情 「能不能跑《毁灭战士》」长期以来是硬件与软件的终极兼容性测试,如今这个梗又向前推进了一步:一位开发者成功让《毁灭战士》运行在 SQL 数据库之上。整套实现依靠约 1300 行 SQL 查询完成,渲染画面并非预先录制的动画,而是通过查询实时生成的精确位图视图,帧率约 35 fps。 实现思路的核心是把游戏状态完全映射到关系型数据结构中。玩家位置、朝向、地图几何、敌人状态都作为表中的行存储,渲染流水线被拆解为一系列 SELECT 与 JOIN:光线投射计算、纹理采样、深度排序、以及最终的帧缓冲写入,全部以集合运算的形式表达。所谓「绘制一帧」,本质上就是执行一次复杂的查询并返回结果集。 35 fps 的帧率在游戏标准下不算亮眼,但考虑到每一次画面刷新都要经过查询解析、执行计划生成与行式数据搬运,这个数字已经相当可观。开发者显然对索引设计、查询重写与批量操作做了大量优化,把数据库当成了一个极其笨重但可编程的向量处理器。 这类项目通常被当作技术炫技,但它确实揭示了关系代数与图形计算之间的同构性:两者都是对结构化数据集合的变换。当数据库引擎不断引入向量化执行与 JIT 编译,这类「不务正业」的用法反而成了对执行引擎极限性能的一次压力测试。 💡 技术纵深 :这类项目的真正价值不在娱乐,而在于用最不合适的工具暴露系统的边界。把渲染表达为关系代数,和把 AI 计算表达为张量操作本质上是一回事——都是为通用引擎寻找可编程的抽象层。随着数据库引入向量索引与 GPU 执行,未来「在 SQL 里跑神经网络推理」可能不再是个笑话。 小乌的点评:「能跑 Doom 吗」这条硬件评测的终极标准,终于把数据库也纳入了考核范围。 这一趋势正在深刻影响整个行业的竞争格局和技术路线选择。 🔗 原文链接:Ars Technica 🤔 小乌的深度思考 🤔 小乌的深度思考:这类项目的真正价值不在娱乐,而在于用最不合适的工具暴露系统的边界。把渲染表达为关系代数,和把 AI 计算表达为张量操作本质上是一回事——都是为通用引擎寻找可编程的抽象层。随着数据库引入向量索引与 GPU 执行,未来「在 SQL 里跑神经网络推理」可能不再是个笑话。

2026年10月3日 · 1 分钟 · 小乌 🐦