I Love Software Rendering
TL;DR · AI 摘要
软件渲染在现代高性能PC上能重现经典游戏的视觉效果,但需要强大CPU支持。
核心要点
- Quake在800×600分辨率下可稳定运行60fps,依赖现代CPU性能。
- 软件渲染通过逐像素采样保持纹理锐利,避免硬件加速的模糊效果。
- 2019年游戏《Ion Fury》仍采用软件渲染方案。
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- 软件渲染的优势与挑战
- 视觉特性
- 像素级纹理采样
- 有限色深与色带效果
- 性能需求
- CPU依赖度高
- 高分辨率瓶颈
- 现代应用
- 《Ion Fury》案例
- 复古游戏复兴
金句 / Highlights
值得收藏与分享的关键句。
软件渲染通过逐像素采样保持纹理锐利,而早期3D卡的双线性过滤导致画面模糊。
《Blood》在Voodoo 2加速模式下运行流畅,但VESA软件模式画面更佳。
3.3GHz四核Xeon处理器在1600×1200分辨率下仍难以流畅运行《Shadow Warrior》。
我钟爱软件渲染
我钟爱软件渲染。在很长一段时间里,我经历过的最佳 DOS 体验是《Quake》在 800×600 分辨率下,通过软件渲染器在 Dell OptiPlex 380 上以锁定的 60fps 运行。这是我看过的 DOS 游戏中视觉效果最出色的作品之一。
这并不是大多数人对这些游戏画面的记忆方式。在 90 年代,玩家要么在低分辨率下通过软件渲染运行游戏,要么购买 3D 显卡体验加速版本。如今出现了第三种选择:在性能足够强大的机器上运行软件渲染器,以远超当年的分辨率呈现画面。
什么是软件渲染
在软件渲染的游戏中,CPU 负责绘制每个像素。没有 3D 显卡参与:游戏通过自身的代码计算每一帧,并直接写入显存。《Doom》《Duke Nukem 3D》《Blood》和初代《Quake》都是以这种方式运行的。
当 3D 显卡出现后,许多游戏推出了加速版本。《GLQuake》在《Quake》之后推出,《Blood》和《Tomb Raider》也加入了 3dfx 模式。这些版本将绘图任务交给显卡,画面表现也会有所不同。
我为何喜欢这种视觉风格
画面锐利。软件渲染器通常逐像素采样纹理,因此每个纹理像素都保持清晰的方形轮廓。早期 3D 显卡在 1997 年通过双线性过滤让纹理看起来令人印象深刻,但如今在笔者看来,这种技术会让画面变得模糊柔软。
画面质感粗粝。这些游戏大多运行在 256 色模式下,光照效果通过调色板查找表实现。阴影以可见的阶梯式衰减,而非平滑渐变。从技术角度看,这是色彩带状化的局限性。但在实践中,这种粗糙的质感反而让游戏呈现出笔者非常喜爱的粗粝感,而硬件渲染会将其抹平。
这是游戏最初的设计方式。《Quake》发布时自带软件渲染器,随后推出了 GLQuake。《Doom》和基于 Build 引擎的游戏从一开始就围绕软件渲染器设计。
这并非总是更优的选择。当我将 Voodoo 2 显卡安装在现代 PC 上时,《Blood》在 3dfx 模式下运行流畅,但 VESA 软件模式的画面效果更佳。《Tomb Raider》则相反:其水下场景在加速版本中明显优于 DOS 软件渲染器。因此这更多是个人偏好而非绝对规则。但对于笔者关注的大多数游戏,我仍会选择软件渲染器。
这也不仅仅是怀旧情绪。2019 年发布的 Build 引擎游戏《Ion Fury》至今仍附带软件渲染器。
限制条件:需要高性能 PC
软件渲染的性能取决于 CPU。每个额外像素都会增加处理器负担,因此许多晚期 DOS 游戏提供的高分辨率 VESA 模式在当年远超硬件性能。
现代硬件可以轻松应对大部分需求。在 OptiPlex 380 上,《Quake》在 800×600 分辨率下能稳定保持 60fps。但最吃硬件的大型游戏仍会挑战高性能机器。在 Rasteri 关于 Portwell RUBY-9719 的视频中,他展示了 Build 引擎游戏在高分辨率下需要的算力,甚至 3.3GHz 的四核 Xeon 处理器“在 1600×1200 分辨率下运行《Shadow Warrior》时仍显不足”。
因此,如果你想以最佳状态体验这些游戏,就需要尽可能选择性能最强且仍能运行它们的机器。
为何需要原生 DOS 环境
在现代 PC 上实现软件渲染还有其他方式。《Doom》和《Quake》的源代码移植版本可以在 Windows 上运行软件渲染器,《Ion Fury》也原生支持 Windows。它们都很出色。
我追求的是在真实硬件上原封不动地运行最初发布的原始DOS版本。虽然DOSBox是显而易见的替代方案,但某些DOS游戏在DOSBox中运行不稳定,而在真实硬件上却能完美还原原本的运行效果。
这还带来了另一个问题:声音。运行原生DOS的高速机器需要游戏能够通信的声卡,而现代PC已经没有这种硬件了。这本身就是一个值得讲述的故事。
值得尝试的游戏
- Quake,在800×600或更高分辨率下运行
- Duke Nukem 3D 和 Blood,Build引擎游戏,在高VESA分辨率下运行
- Screamer
本站相关文章
- [The Ugly Dell That Became My Dream Retro Gaming PC](链接)
- [I made 3Dfx Voodoo2 work on a modern PC!](链接)
- [Tomb Raider](链接)
- [Doom on a Core i7 PC in native DOS, with SBEMU](链接)