96 MB 文本跑通《毁灭战士》游戏:渲染 1 帧需约 180 秒
IT之家 7 月 29 日消息,科技媒体 Tom's Hardware 昨日(7 月 28 日)发布博文,报道称 **开发者阿尔乔姆 · 利特金(Artem Lytkin)利用正则表达式(expressions),成功运行《毁灭战士》(Doom)游戏。**
IT之家注:正则表达式是一种描述文本匹配规则的语言,常用于查找、筛选、替换字符串。它可以通过字符集合、条件结构和跳转规则定位目标内容。典型应用包括日志检索、表单校验、批量文本处理。
开发者利特金创建了一个 96MB 的纯文本字符串,包含寄存器、部分内存、帧缓冲区和游戏 WAD 数据。项目启动后,正则表达式就会开始匹配文本,并将字符串中的字符替换为各个处理器寄存器中的数字,然后访问和写入“内存”,如此往复。
在画面生成方面,利特金表示,生成一帧游戏画面大约需要 180 秒,每一帧都需要近 1400 万次替换。在实际运行方面,玩家可以用键盘控制游戏。

为减少内存访问耗时,Lytkin 采用类似二叉树的结构。程序通过分支跳转定位数据,避免反复扫描完整的 96 MB 文本。
---
原文链接:[点击查看](https://www.ithome.com/0/982/892.htm)
IT之家注:正则表达式是一种描述文本匹配规则的语言,常用于查找、筛选、替换字符串。它可以通过字符集合、条件结构和跳转规则定位目标内容。典型应用包括日志检索、表单校验、批量文本处理。
开发者利特金创建了一个 96MB 的纯文本字符串,包含寄存器、部分内存、帧缓冲区和游戏 WAD 数据。项目启动后,正则表达式就会开始匹配文本,并将字符串中的字符替换为各个处理器寄存器中的数字,然后访问和写入“内存”,如此往复。
在画面生成方面,利特金表示,生成一帧游戏画面大约需要 180 秒,每一帧都需要近 1400 万次替换。在实际运行方面,玩家可以用键盘控制游戏。

为减少内存访问耗时,Lytkin 采用类似二叉树的结构。程序通过分支跳转定位数据,避免反复扫描完整的 96 MB 文本。
---
原文链接:[点击查看](https://www.ithome.com/0/982/892.htm)
评论
暂无评论。